diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE index a797cb02c..fa6f266ec 100644 --- a/.github/ISSUE_TEMPLATE +++ b/.github/ISSUE_TEMPLATE @@ -16,6 +16,10 @@ assignees: '' ``` xxxxxxxxxxxx ``` +1. SRS的配置如下(Config): +``` +xxxxxxxxxxxx +``` **重现(Replay)** diff --git a/README.md b/README.md index 10ebf1aff..46cf4344a 100755 --- a/README.md +++ b/README.md @@ -160,6 +160,8 @@ For previous versions, please read: ## V3 changes +* v3.0, 2020-02-14, [3.0 beta1(3.0.117)][r3.0b1] released. 121964 lines. +* v3.0, 2020-02-14, For [#1595][bug #1595], migrating streaming from ossrs.net to r.ossrs.net. 3.0.117 * v3.0, 2020-02-05, For [#665][bug #665], fix HTTP-FLV reloading bug. 3.0.116 * v3.0, 2020-02-05, For [#1592][bug #1592], fix terminal echo off by redirect process stdin. 3.0.115 * v3.0, 2020-02-04, For [#1186][bug #1186], refactor security check. 3.0.114 @@ -751,6 +753,7 @@ For previous versions, please read: ## Releases +* 2020-02-14, [Release v3.0-b1][r3.0b1], 3.0 beta1, 3.0.117, 121964 lines. * 2020-02-02, [Release v3.0-b0][r3.0b0], 3.0 beta0, 3.0.112, 121709 lines. * 2020-01-21, [Release v3.0-a9][r3.0a9], 3.0 alpha9, 3.0.105, 121577 lines. * 2020-01-10, [Release v3.0-a8][r3.0a8], 3.0 alpha8, 3.0.97, 121555 lines. @@ -1100,21 +1103,20 @@ Remark: There are two types of people that have contributed to the SRS project: -* AUTHORS: Contribute important features. Names of all authors responsed in NetConnection.connect and metadata. -* CONTRIBUTORS: Submit patches, report bugs, add translations, help answer newbie questions, and generally make SRS much better. +* Maintainers: Contribute and maintain important features. SRS always remembers and thanks you by writing your names in stream metadata. +* [Contributors][authors]: Submit patches, report bugs, add translations, help answer newbie questions, and generally make SRS much better. -About all AUTHORS and CONTRIBUTORS, read [AUTHORS.txt][authors]. +Maintainers of SRS project: + +* [Winlin](https://github.com/winlinvip): All areas of streaming server and documents. +* [Wenjie](https://github.com/wenjiegit): The focus of his work is on the [HDS](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHDS) module. +* [Runner365](https://github.com/runner365): The focus of his work is on the [SRT](https://github.com/simple-rtmp-server/srs/wiki/v4_CN_SRTWiki) module. A big THANK YOU goes to: * All friends of SRS for [big supports][bigthanks]. * Genes amd Mabbott for creating [st][st]([state-threads][st2]). -* Michael Talyanksy for introducing us to use st. -* Roman Arutyunyan for creating [nginx-rtmp][nginx-rtmp] for SRS to refer to. -* Joyent for creating [http-parser][http-parser] for http-api for SRS. -* Igor Sysoev for creating [nginx][nginx] for SRS to refer to. -* [FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use as transcoder. -* Guido van Rossum for creating Python for api-server for SRS. +* [Michael Talyanksy](https://github.com/michaeltalyansky) for introducing ST to us. ## Mirrors @@ -1187,8 +1189,8 @@ Winlin [authors]: https://github.com/ossrs/srs/blob/develop/AUTHORS.txt [bigthanks]: https://github.com/ossrs/srs/wiki/v1_CN_Product#bigthanks [st]: https://github.com/winlinvip/state-threads -[st2]: http://sourceforge.net/projects/state-threads/ -[state-threads]: http://sourceforge.net/projects/state-threads/ +[st2]: https://github.com/ossrs/state-threads/tree/srs +[state-threads]: https://github.com/ossrs/state-threads/tree/srs [nginx-rtmp]: https://github.com/arut/nginx-rtmp-module [http-parser]: https://github.com/joyent/http-parser [nginx]: http://nginx.org/ @@ -1669,10 +1671,12 @@ Winlin [bug #1186]: https://github.com/ossrs/srs/issues/1186 [bug #1592]: https://github.com/ossrs/srs/issues/1592 [bug #665]: https://github.com/ossrs/srs/issues/665 +[bug #1595]: https://github.com/ossrs/srs/issues/1595 [bug #xxxxxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxxxxx [exo #828]: https://github.com/google/ExoPlayer/pull/828 +[r3.0b1]: https://github.com/ossrs/srs/releases/tag/v3.0-b1 [r3.0b0]: https://github.com/ossrs/srs/releases/tag/v3.0-b0 [r3.0a9]: https://github.com/ossrs/srs/releases/tag/v3.0-a9 [r3.0a8]: https://github.com/ossrs/srs/releases/tag/v3.0-a8 diff --git a/trunk/auto/options.sh b/trunk/auto/options.sh index 8c7cdae51..ad89f882d 100755 --- a/trunk/auto/options.sh +++ b/trunk/auto/options.sh @@ -204,6 +204,10 @@ Remark: END } +function ignore_option() { + echo "ignore option \"$option\"" +} + function parse_user_option() { case "$option" in -h) help=yes ;; @@ -293,18 +297,16 @@ function parse_user_option() { --with-hls) SRS_HLS=YES ;; --with-dvr) SRS_DVR=YES ;; - --without-stream-caster) ;& - --without-ingest) ;& - --without-ssl) ;& - --without-stat) ;& - --without-transcode) ;& - --without-http-callback) ;& - --without-http-server) ;& - --without-http-api) ;& - --without-hls) ;& - --without-dvr) - echo "ignore option \"$option\"" - ;; + --without-stream-caster) ignore_option ;; + --without-ingest) ignore_option ;; + --without-ssl) ignore_option ;; + --without-stat) ignore_option ;; + --without-transcode) ignore_option ;; + --without-http-callback) ignore_option ;; + --without-http-server) ignore_option ;; + --without-http-api) ignore_option ;; + --without-hls) ignore_option ;; + --without-dvr) ignore_option ;; *) echo "$0: error: invalid option \"$option\"" diff --git a/trunk/research/players/js/srs.page.js b/trunk/research/players/js/srs.page.js index 0fd37b2ad..cc9c9df59 100755 --- a/trunk/research/players/js/srs.page.js +++ b/trunk/research/players/js/srs.page.js @@ -43,6 +43,15 @@ function user_extra_params(query, params) { var server = (query.server == undefined)? window.location.hostname:query.server; var vhost = (query.vhost == undefined)? window.location.hostname:query.vhost; + // Note that ossrs.net provides only web service, + // that is migrating to r.ossrs.net + if (vhost == "ossrs.net") { + vhost = "r.ossrs.net"; + } + if (server == "ossrs.net") { + server = "r.ossrs.net"; + } + for (var key in query.user_query) { if (key == 'app' || key == 'autostart' || key == 'dir' || key == 'filename' || key == 'host' || key == 'hostname' @@ -78,6 +87,15 @@ function build_default_rtmp_url() { var app = (!query.app)? "live":query.app; var stream = (!query.stream)? "livestream":query.stream; + // Note that ossrs.net provides only web service, + // that is migrating to r.ossrs.net + if (vhost == "ossrs.net") { + vhost = "r.ossrs.net"; + } + if (server == "ossrs.net") { + server = "r.ossrs.net"; + } + var queries = []; if (server != vhost && vhost != "__defaultVhost__") { queries.push("vhost=" + vhost); @@ -102,6 +120,15 @@ function build_default_publish_rtmp_url() { var app = (!query.app)? "live":query.app; var stream = (!query.stream)? "demo":query.stream; + // Note that ossrs.net provides only web service, + // that is migrating to r.ossrs.net + if (vhost == "ossrs.net") { + vhost = "r.ossrs.net"; + } + if (server == "ossrs.net") { + server = "r.ossrs.net"; + } + var queries = []; if (server != vhost && vhost != "__defaultVhost__") { queries.push("vhost=" + vhost); @@ -127,6 +154,15 @@ function build_default_bandwidth_rtmp_url() { var app = (!query.app)? "app":query.app; var key = (!query.key)? "35c9b402c12a7246868752e2878f7e0e":query.key; + // Note that ossrs.net provides only web service, + // that is migrating to r.ossrs.net + if (vhost == "ossrs.net") { + vhost = "r.ossrs.net"; + } + if (server == "ossrs.net") { + server = "r.ossrs.net"; + } + return "rtmp://" + server + ":" + port + "/" + app + "?key=" + key + "&vhost=" + vhost; } @@ -141,6 +177,12 @@ function build_default_bandwidth_rtmp_url() { function build_default_hls_url() { var query = parse_query_string(); + // Note that ossrs.net provides only web service, + // that is migrating to r.ossrs.net + if (query.hls_vhost == "ossrs.net") { + query.hls_vhost = "r.ossrs.net"; + } + // for http, use hls_vhost to override server if specified. var server = window.location.hostname; if (query.server != undefined) { diff --git a/trunk/src/core/srs_core_version3.hpp b/trunk/src/core/srs_core_version3.hpp index 7b51a0991..c8793a0a8 100644 --- a/trunk/src/core/srs_core_version3.hpp +++ b/trunk/src/core/srs_core_version3.hpp @@ -24,6 +24,6 @@ #ifndef SRS_CORE_VERSION3_HPP #define SRS_CORE_VERSION3_HPP -#define SRS_VERSION3_REVISION 116 +#define SRS_VERSION3_REVISION 117 #endif diff --git a/trunk/src/libs/srs_librtmp.hpp b/trunk/src/libs/srs_librtmp.hpp index 9184c1840..9f2044647 100644 --- a/trunk/src/libs/srs_librtmp.hpp +++ b/trunk/src/libs/srs_librtmp.hpp @@ -1105,6 +1105,7 @@ extern void srs_hijack_io_destroy(srs_hijack_io_t ctx); * create socket, not connect yet. * @param owner, the rtmp context which create this socket. * @return 0, success; otherswise, failed. + * TODO: FIXME: Incompatible API for https://github.com/ossrs/srs/blob/2.0release/trunk/src/libs/srs_librtmp.hpp#L989 */ extern int srs_hijack_io_create_socket(srs_hijack_io_t ctx, srs_rtmp_t owner); /** @@ -1156,6 +1157,7 @@ extern int srs_hijack_io_writev(srs_hijack_io_t ctx, const iovec *iov, int iov_s /** * whether the timeout is never timeout in ms. * @return 0, with timeout specified; otherwise, never timeout. + * TODO: FIXME: Incompatible API for https://github.com/ossrs/srs/blob/2.0release/trunk/src/libs/srs_librtmp.hpp#L1039 */ extern int srs_hijack_io_is_never_timeout(srs_hijack_io_t ctx, int64_t tm); /**