mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Init SRS/5. 5.0.0
This commit is contained in:
parent
ccbc11c2d6
commit
33fa43c118
7 changed files with 95 additions and 25 deletions
54
README.md
54
README.md
|
@ -122,7 +122,7 @@ Other documents:
|
||||||
- [x] Edge server supports remuxing RTMP to HTTP-FLV([CN][v3_CN_SampleHttpFlv], [EN][v3_EN_SampleHttpFlv]). As for HLS([CN][v3_CN_DeliveryHLS], [EN][v3_EN_DeliveryHLS]) edge server, recomment to use HTTP edge server, such as [NGINX](http://nginx.org/).
|
- [x] Edge server supports remuxing RTMP to HTTP-FLV([CN][v3_CN_SampleHttpFlv], [EN][v3_EN_SampleHttpFlv]). As for HLS([CN][v3_CN_DeliveryHLS], [EN][v3_EN_DeliveryHLS]) edge server, recomment to use HTTP edge server, such as [NGINX](http://nginx.org/).
|
||||||
- [x] Support HLS with audio-only([CN][v3_CN_DeliveryHLS2], [EN][v3_EN_DeliveryHLS2]), which need to build the timestamp from AAC samples, so we enhanced it please read [#547][bug #547].
|
- [x] Support HLS with audio-only([CN][v3_CN_DeliveryHLS2], [EN][v3_EN_DeliveryHLS2]), which need to build the timestamp from AAC samples, so we enhanced it please read [#547][bug #547].
|
||||||
- [x] Support HLS with mp3(h.264+mp3) audio codec, please read [bug #301][bug #301].
|
- [x] Support HLS with mp3(h.264+mp3) audio codec, please read [bug #301][bug #301].
|
||||||
- [x] Support remuxing RTMP to http FLV/MP3/AAC/TS live streaming, please read wiki([CN][v2_CN_DeliveryHttpStream], [EN][v2_CN_DeliveryHttpStream]).
|
- [x] Support transmux RTMP to HTTP-FLV/MP3/AAC/TS, please read wiki([CN][v2_CN_DeliveryHttpStream], [EN][v2_CN_DeliveryHttpStream]).
|
||||||
- [x] Support ingesting([CN][v1_CN_Ingest], [EN][v1_EN_Ingest]) other protocols to SRS by FFMPEG.
|
- [x] Support ingesting([CN][v1_CN_Ingest], [EN][v1_EN_Ingest]) other protocols to SRS by FFMPEG.
|
||||||
- [x] Support RTMP long time(>4.6hours) publishing/playing, with the timestamp corrected.
|
- [x] Support RTMP long time(>4.6hours) publishing/playing, with the timestamp corrected.
|
||||||
- [x] Support publishing h264 raw stream([CN][v3_CN_SrsLibrtmp2], [EN][v3_EN_SrsLibrtmp2]) by srs-librtmp([CN][v3_CN_SrsLibrtmp], [EN][v3_EN_SrsLibrtmp]).
|
- [x] Support publishing h264 raw stream([CN][v3_CN_SrsLibrtmp2], [EN][v3_EN_SrsLibrtmp2]) by srs-librtmp([CN][v3_CN_SrsLibrtmp], [EN][v3_EN_SrsLibrtmp]).
|
||||||
|
@ -140,42 +140,46 @@ Other documents:
|
||||||
- [x] Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]) and \_\_defaultVhost\_\_.
|
- [x] Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]) and \_\_defaultVhost\_\_.
|
||||||
- [x] Support reloading([CN][v1_CN_Reload], [EN][v1_EN_Reload]) to apply changes of config.
|
- [x] Support reloading([CN][v1_CN_Reload], [EN][v1_EN_Reload]) to apply changes of config.
|
||||||
- [x] Support listening at multiple ports.
|
- [x] Support listening at multiple ports.
|
||||||
- [x] Support forwarding([CN][v3_CN_Forward], [EN][v3_EN_Forward]) from master to slave server.
|
- [x] Support forwarding([CN][v3_CN_Forward], [EN][v3_EN_Forward]) to other RTMP servers.
|
||||||
- [x] Support transcoding([CN][v3_CN_FFMPEG], [EN][v3_EN_FFMPEG]) live streaming by FFMPEG.
|
- [x] Support transcoding([CN][v3_CN_FFMPEG], [EN][v3_EN_FFMPEG]) by FFMPEG.
|
||||||
- [x] All wikis are writen in [Chinese][v3_CN_Home] and [English][v3_EN_Home].
|
- [x] All wikis are writen in [Chinese][v3_CN_Home] and [English][v3_EN_Home].
|
||||||
- [x] Enhanced json, replace NXJSON(LGPL) with json-parser(BSD), read [#904][bug #904].
|
- [x] Enhanced json, replace NXJSON(LGPL) with json-parser(BSD), read [#904][bug #904].
|
||||||
- [x] Support valgrind and latest ARM by patching ST, read [ST#1](https://github.com/ossrs/state-threads/issues/1) and [ST#2](https://github.com/ossrs/state-threads/issues/2).
|
- [x] Support valgrind and latest ARM by patching ST, read [ST#1](https://github.com/ossrs/state-threads/issues/1) and [ST#2](https://github.com/ossrs/state-threads/issues/2).
|
||||||
- [x] Support tracable and session-based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]).
|
- [x] Support traceable and session-based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]).
|
||||||
- [x] High concurrency and performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(200kbps), CPU 82%, 203MB.
|
- [x] High performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]) RTMP/HTTP-FLV, 6000+ connections.
|
||||||
- [x] Enhanced complex error code with description and stack, read [#913][bug #913].
|
- [x] Enhanced complex error code with description and stack, read [#913][bug #913].
|
||||||
- [x] Enhanced RTMP url which supports vhost in stream, read [#1059][bug #1059].
|
- [x] Enhanced RTMP url which supports vhost in stream, read [#1059][bug #1059].
|
||||||
- [x] Support origin cluster, please read [#464][bug #464], [RTMP 302][bug #92].
|
- [x] Support origin cluster, please read [#464][bug #464], [RTMP 302][bug #92].
|
||||||
- [x] Support listen at IPv4 and IPv6, read [#460][bug #460].
|
- [x] Support listen at IPv4 and IPv6, read [#460][bug #460].
|
||||||
- [x] Support SO_REUSEPORT, to improve edge server performance, read [#775][bug #775].
|
|
||||||
- [x] Improve test coverage for core/kernel/protocol/service.
|
- [x] Improve test coverage for core/kernel/protocol/service.
|
||||||
- [x] [Experimental] Support docker by [srs-docker](https://github.com/ossrs/srs-docker).
|
- [x] Support docker by [srs-docker](https://github.com/ossrs/srs-docker).
|
||||||
|
- [x] Support multiple processes by ReusePort([CN][v3_CN_REUSEPORT], [EN][v3_EN_REUSEPORT]), [#775][bug #775].
|
||||||
|
- [x] Support a simple [mgmt console][console], please read [srs-ngb][srs-ngb].
|
||||||
|
- [x] [Experimental] Support playing stream by WebRTC, [#307][bug #307].
|
||||||
|
- [x] [Experimental] Support publishing stream by WebRTC, [#307][bug #307].
|
||||||
|
- [x] [Experimental] Support mux RTP/RTCP/DTLS/SRTP on one port for WebRTC, [#307][bug #307].
|
||||||
|
- [x] [Experimental] Support client address changing for WebRTC, [#307][bug #307].
|
||||||
|
- [x] [Experimental] Support transcode RTMP/AAC to WebRTC/Opus, [#307][bug #307].
|
||||||
|
- [x] [Experimental] Enhance HTTP Stream Server for HTTP-FLV, HTTPS, HLS etc. [#1657][bug #1657].
|
||||||
|
- [x] [Experimental] Support push stream by GB28181, [#1500][bug #1500].
|
||||||
- [x] [Experimental] Support DVR in MP4 format, read [#738][bug #738].
|
- [x] [Experimental] Support DVR in MP4 format, read [#738][bug #738].
|
||||||
- [x] [Experimental] Support MPEG-DASH, the future live streaming protocol, read [#299][bug #299].
|
- [x] [Experimental] Support MPEG-DASH, the future live streaming protocol, read [#299][bug #299].
|
||||||
- [x] [Experimental] Support pushing MPEG-TS over UDP, please read [bug #250][bug #250].
|
- [x] [Experimental] Support pushing MPEG-TS over UDP, please read [bug #250][bug #250].
|
||||||
- [x] [Experimental] Support pushing RTSP, please read [bug #133][bug #133].
|
- [x] [Experimental] Support pushing RTSP, please read [bug #133][bug #133].
|
||||||
- [x] [Experimental] Support pushing FLV over HTTP POST, please read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]).
|
- [x] [Experimental] Support pushing FLV over HTTP POST, please read wiki([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]).
|
||||||
- [x] [Experimental] Support multiple processes by [dolphin][srs-dolphin] or [oryx][oryx].
|
|
||||||
- [x] [Experimental] Support a simple [mgmt console][console], please read [srs-ngb][srs-ngb].
|
|
||||||
- [x] [Experimental] Support RTMP client library: srs-librtmp([CN][v3_CN_SrsLibrtmp], [EN][v3_EN_SrsLibrtmp])
|
|
||||||
- [x] [Experimental] Support HTTP RAW API, please read [#459][bug #459], [#470][bug #470], [#319][bug #319].
|
- [x] [Experimental] Support HTTP RAW API, please read [#459][bug #459], [#470][bug #470], [#319][bug #319].
|
||||||
- [x] [Experimental] Support SRT server, read [#1147][bug #1147].
|
- [x] [Experimental] Support SRT server, read [#1147][bug #1147].
|
||||||
- [x] [Experimental] Support playing stream by WebRTC, [#307][bug #307].
|
- [x] [Deprecated] Support RTMP client library: srs-librtmp([CN][v3_CN_SrsLibrtmp], [EN][v3_EN_SrsLibrtmp])
|
||||||
- [x] [Experimental] Support publishing stream by WebRTC, [#307][bug #307].
|
|
||||||
- [x] [Experimental] Support push stream by GB28181, [#1500][bug #1500].
|
|
||||||
- [x] [Experimental] Enhance HTTP Stream Server for HTTP-FLV, HTTPS, HLS etc. [#1657][bug #1657].
|
|
||||||
- [x] [Deprecated] Support Adobe HDS(f4m), please read wiki([CN][v2_CN_DeliveryHDS], [EN][v2_EN_DeliveryHDS]) and [#1535][bug #1535].
|
- [x] [Deprecated] Support Adobe HDS(f4m), please read wiki([CN][v2_CN_DeliveryHDS], [EN][v2_EN_DeliveryHDS]) and [#1535][bug #1535].
|
||||||
- [x] [Deprecated] Support bandwidth testing([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]), please read [#1535][bug #1535].
|
- [x] [Deprecated] Support bandwidth testing([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]), please read [#1535][bug #1535].
|
||||||
- [x] [Deprecated] Support Adobe FMS/AMS token traverse([CN][v3_CN_DRM2], [EN][v3_EN_DRM2]) authentication, please read [#1535][bug #1535].
|
- [x] [Deprecated] Support Adobe FMS/AMS token traverse([CN][v3_CN_DRM2], [EN][v3_EN_DRM2]) authentication, please read [#1535][bug #1535].
|
||||||
- [ ] Enhanced forwarding with vhost and variables.
|
- [ ] Enhanced forwarding with vhost and variables, [#1342][bug #1342].
|
||||||
- [ ] Support source cleanup for idle streams.
|
- [ ] Support DVR to Cloud Storage, [#1193][bug #1193].
|
||||||
- [ ] Support H.265 by pushing H.265 over RTMP, deliverying in HLS, read [#465][bug #465].
|
- [ ] Support transmux RTC to RTMP, [#2093][bug #2093].
|
||||||
- [ ] Support UDP protocol such as QUIC or KCP in cluster.
|
- [ ] Support H.265 over RTMP and HLS, [#465][bug #465].
|
||||||
- [ ] Support H.264+Opus codec for WebRTC, [#307][bug #307].
|
- [ ] Support IETF-QUIC for WebRTC Cluster, [#2091][bug #2091].
|
||||||
|
- [ ] Improve RTC performance to 5K by multiple threading, [#2188][bug #2188].
|
||||||
|
- [ ] Support source cleanup for idle streams, [#413][bug #413].
|
||||||
- [ ] Support change user to run SRS, [#1111][bug #1111].
|
- [ ] Support change user to run SRS, [#1111][bug #1111].
|
||||||
- [ ] Support HLS variant, [#463][bug #463].
|
- [ ] Support HLS variant, [#463][bug #463].
|
||||||
|
|
||||||
|
@ -184,6 +188,10 @@ Other documents:
|
||||||
<a name="history"></a>
|
<a name="history"></a>
|
||||||
<a name="change-logs"></a>
|
<a name="change-logs"></a>
|
||||||
|
|
||||||
|
## V5 changes
|
||||||
|
|
||||||
|
* v5.0, 2021-03-15, Init SRS/5. 5.0.0
|
||||||
|
|
||||||
## V4 changes
|
## V4 changes
|
||||||
|
|
||||||
* v4.0, 2021-03-09, DTLS: Fix ARQ bug, use openssl timeout. 4.0.84
|
* v4.0, 2021-03-09, DTLS: Fix ARQ bug, use openssl timeout. 4.0.84
|
||||||
|
@ -1848,6 +1856,12 @@ Winlin
|
||||||
[bug #1987]: https://github.com/ossrs/srs/issues/1987
|
[bug #1987]: https://github.com/ossrs/srs/issues/1987
|
||||||
[bug #1548]: https://github.com/ossrs/srs/issues/1548
|
[bug #1548]: https://github.com/ossrs/srs/issues/1548
|
||||||
[bug #1694]: https://github.com/ossrs/srs/issues/1694
|
[bug #1694]: https://github.com/ossrs/srs/issues/1694
|
||||||
|
[bug #413]: https://github.com/ossrs/srs/issues/413
|
||||||
|
[bug #2091]: https://github.com/ossrs/srs/issues/2091
|
||||||
|
[bug #1342]: https://github.com/ossrs/srs/issues/1342
|
||||||
|
[bug #2093]: https://github.com/ossrs/srs/issues/2093
|
||||||
|
[bug #2188]: https://github.com/ossrs/srs/issues/2188
|
||||||
|
[bug #1193]: https://github.com/ossrs/srs/issues/1193
|
||||||
[bug #yyyyyyyyyyyyy]: https://github.com/ossrs/srs/issues/yyyyyyyyyyyyy
|
[bug #yyyyyyyyyyyyy]: https://github.com/ossrs/srs/issues/yyyyyyyyyyyyy
|
||||||
|
|
||||||
[bug #1631]: https://github.com/ossrs/srs/issues/1631
|
[bug #1631]: https://github.com/ossrs/srs/issues/1631
|
||||||
|
|
2
trunk/configure
vendored
2
trunk/configure
vendored
|
@ -204,7 +204,7 @@ fi
|
||||||
MODULE_ID="CORE"
|
MODULE_ID="CORE"
|
||||||
MODULE_DEPENDS=()
|
MODULE_DEPENDS=()
|
||||||
ModuleLibIncs=(${SRS_OBJS_DIR})
|
ModuleLibIncs=(${SRS_OBJS_DIR})
|
||||||
MODULE_FILES=("srs_core" "srs_core_version4" "srs_core_autofree" "srs_core_performance"
|
MODULE_FILES=("srs_core" "srs_core_version5" "srs_core_autofree" "srs_core_performance"
|
||||||
"srs_core_time")
|
"srs_core_time")
|
||||||
CORE_INCS="src/core"; MODULE_DIR=${CORE_INCS} . auto/modules.sh
|
CORE_INCS="src/core"; MODULE_DIR=${CORE_INCS} . auto/modules.sh
|
||||||
CORE_OBJS="${MODULE_OBJS[@]}"
|
CORE_OBJS="${MODULE_OBJS[@]}"
|
||||||
|
|
|
@ -25,10 +25,7 @@
|
||||||
#define SRS_CORE_HPP
|
#define SRS_CORE_HPP
|
||||||
|
|
||||||
// The version config.
|
// The version config.
|
||||||
#define VERSION_MAJOR 4
|
#include <srs_core_version5.hpp>
|
||||||
#define VERSION_MINOR 0
|
|
||||||
#include <srs_core_version4.hpp>
|
|
||||||
#define VERSION_REVISION SRS_VERSION4_REVISION
|
|
||||||
|
|
||||||
// The macros generated by configure script.
|
// The macros generated by configure script.
|
||||||
#include <srs_auto_headers.hpp>
|
#include <srs_auto_headers.hpp>
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#ifndef SRS_CORE_VERSION3_HPP
|
#ifndef SRS_CORE_VERSION3_HPP
|
||||||
#define SRS_CORE_VERSION3_HPP
|
#define SRS_CORE_VERSION3_HPP
|
||||||
|
|
||||||
|
#define VERSION_MAJOR 3
|
||||||
|
#define VERSION_MINOR 0
|
||||||
#define SRS_VERSION3_REVISION 158
|
#define SRS_VERSION3_REVISION 158
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#ifndef SRS_CORE_VERSION4_HPP
|
#ifndef SRS_CORE_VERSION4_HPP
|
||||||
#define SRS_CORE_VERSION4_HPP
|
#define SRS_CORE_VERSION4_HPP
|
||||||
|
|
||||||
|
#define VERSION_MAJOR 4
|
||||||
|
#define VERSION_MINOR 0
|
||||||
#define SRS_VERSION4_REVISION 85
|
#define SRS_VERSION4_REVISION 85
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
24
trunk/src/core/srs_core_version5.cpp
Normal file
24
trunk/src/core/srs_core_version5.cpp
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/**
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2020 Winlin
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
* this software and associated documentation files (the "Software"), to deal in
|
||||||
|
* the Software without restriction, including without limitation the rights to
|
||||||
|
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <srs_core_version4.hpp>
|
31
trunk/src/core/srs_core_version5.hpp
Normal file
31
trunk/src/core/srs_core_version5.hpp
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
/**
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2020 Winlin
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
* this software and associated documentation files (the "Software"), to deal in
|
||||||
|
* the Software without restriction, including without limitation the rights to
|
||||||
|
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SRS_CORE_VERSION5_HPP
|
||||||
|
#define SRS_CORE_VERSION5_HPP
|
||||||
|
|
||||||
|
#define VERSION_MAJOR 5
|
||||||
|
#define VERSION_MINOR 0
|
||||||
|
#define VERSION_REVISION 0
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Add a link
Reference in a new issue