From 353e37c5b61e239085a84568c356e4169749e22d Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 13:20:20 +0800 Subject: [PATCH 01/15] rename summary to features. --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f9f0d341..81aaa60ec 100755 --- a/README.md +++ b/README.md @@ -357,7 +357,8 @@ Supported operating systems and hardware: * Apple OSX(Darwin), both 32 and 64bits. * All hardware with x86/x86_64/arm/mips cpu. -## Summary +## Features + 1. Simple, also stable enough. 1. High-performance( [CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance), @@ -562,6 +563,10 @@ Supported operating systems and hardware: * 2013-10-23, [Release v0.1](https://github.com/simple-rtmp-server/srs/releases/tag/0.1), support [rtmp FMLE/FFMPEG publish](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), vp6. 8287 lines.
* 2013-10-17, Created.
+## Compare + +Compare SRS with other media server. + ## History ### SRS 2.0 history From 6d13178e924dc19115fd1ab700d2b77625d1a541 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 13:22:26 +0800 Subject: [PATCH 02/15] refine readme the features and compare. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81aaa60ec..e14729e0c 100755 --- a/README.md +++ b/README.md @@ -519,6 +519,7 @@ Supported operating systems and hardware: 1. Support Adobe HDS(f4m)( [CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHDS), [EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS) +1. [dev] Realease [2.0release branch](https://github.com/simple-rtmp-server/srs/tree/2.0release). ) dynamic streaming. 1. [experiment] Support push MPEG-TS over UDP to SRS, read [#250](https://github.com/simple-rtmp-server/srs/issues/250). @@ -526,7 +527,6 @@ Supported operating systems and hardware: [#133](https://github.com/simple-rtmp-server/srs/issues/133). 1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs). -1. Start [2.0release branch](https://github.com/simple-rtmp-server/srs/tree/2.0release). 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). 1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/simple-rtmp-server/srs/issues/92). 1. [no-plan] Support multiple processes, for both origin and edge From 6f60fefba4186119ef96309a3c9a49eb4842999c Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 13:42:57 +0800 Subject: [PATCH 03/15] update readme --- README.md | 111 ++++++++---------------------------------------------- 1 file changed, 15 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index e14729e0c..0cc94e097 100755 --- a/README.md +++ b/README.md @@ -537,6 +537,10 @@ Supported operating systems and hardware: 1. [no-plan] Support RTMPT, http to tranverse firewalls 1. [no-plan] Support file source, transcoding file to live stream +## Compare + +Compare SRS with other media server. + ## Releases * 2015-05-23, [Release v1.0r4](https://github.com/simple-rtmp-server/srs/releases/tag/1.0r4), bug fixed, 1.0.32, 59509 lines.
@@ -563,10 +567,6 @@ Supported operating systems and hardware: * 2013-10-23, [Release v0.1](https://github.com/simple-rtmp-server/srs/releases/tag/0.1), support [rtmp FMLE/FFMPEG publish](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), vp6. 8287 lines.
* 2013-10-17, Created.
-## Compare - -Compare SRS with other media server. - ## History ### SRS 2.0 history @@ -1030,98 +1030,17 @@ The play benchmark by [st-load](https://github.com/winlinvip/st-load): The publish benchmark by [st-load](https://github.com/winlinvip/st-load): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UpdateSRSClientsTypeCPUMemoryCommit
2014-12-031.0.101.2k(1200)publishers96%43MB-
2014-12-032.0.121.2k(1200)publishers96%43MB-
2014-12-032.0.471.2k(1200)publishers84%76MBcommit
2014-12-032.0.471.4k(1400)publishers95%140MB-
2014-12-032.0.481.4k(1400)publishers95%140MBcommit
2014-12-042.0.491.4k(1400)publishers68%144MB-
2014-12-042.0.492.5k(2500)publishers95%404MBcommit
2014-12-042.0.512.5k(2500)publishers91%259MBcommit
2014-12-042.0.524.0k(4000)publishers80%331MB(mr_sleep=350)
commit
+| Update | SRS | Clients | Type | CPU | Memory | Commit | +| ------------- | --------- | ------------- | ------------- | --------- | -------- | -------- | +| 2014-12-03 | 1.0.10 | 1.2k(1200) | publishers | 96% | 43MB | - | +| 2014-12-03 | 2.0.12 | 1.2k(1200) | publishers | 96% | 43MB | - | +| 2014-12-03 | 2.0.47 | 1.2k(1200) | publishers | 84% | 76MB | commit | +| 2014-12-03 | 2.0.47 | 1.4k(1400) | publishers | 95% | 140MB | - | +| 2014-12-03 | 2.0.48 | 1.4k(1400 | publishers | 95% | 140MB | commit | +| 2014-12-04 | 2.0.49 | 1.4k(1400) | publishers | 68% | 144MB | - | +| 2014-12-04 | 2.0.49 | 2.5k(2500) | publishers | 95% | 404MB | commit | +| 2014-12-04 | 2.0.51 | 2.5k(2500) | publishers | 91% | 259MB | commit | +| 2014-12-04 | 2.0.52 | 4.0k(4000) | publishers | 80% | 331MB | (mr_sleep=350)
commit | ### Latency benchmark From 504d0b93850e572cf95de6a6c4d01e696906c7ae Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 14:07:04 +0800 Subject: [PATCH 04/15] update readme --- README.md | 217 +++++++++++++----------------------------------------- 1 file changed, 52 insertions(+), 165 deletions(-) diff --git a/README.md b/README.md index 0cc94e097..9acb6cc33 100755 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ SRS/2.0,开发代号:[ZhouGuowen](https://github.com/simple-rtmp-server/srs/ SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。 -<<<<<<< HEAD Download from github.io: [Centos6-x86_64](http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip) [more...](http://winlinvip.github.io/srs.release/releases/) @@ -906,141 +905,37 @@ Performance benchmark history, on virtual box. The play benchmark by [st-load](https://github.com/winlinvip/st-load): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UpdateSRSClientsTypeCPUMemoryCommit
2013-11-280.5.01.8k(1800)players90%41MB-
2014-07-120.9.1561.8k(1800)players68%38MB-
2014-07-120.9.1562.7k(2700)players89%61MBcommit
2014-11-111.0.52.7k(2700)players85%66MB-
2014-11-112.0.122.7k(2700)players85%66MB-
2014-11-122.0.142.7k(2700)players69%59MB-
2014-11-122.0.143.5k(3500)players95%78MBcommit
2014-11-132.0.156.0k(6000)players82%203MBcommit
2014-11-222.0.307.5k(7500)players87%320MBcommit
2014-12-052.0.558.0k(8000)players89%360MB(mw_sleep=350)
commit
2014-12-052.0.579.0k(9000)players90%468MBcommit
2014-12-072.0.6710k(10000)players95%656MBcommit
+ +| Update | SRS | Clients | Type | CPU | Memory | Commit | +| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------------ | +| 2013-11-28 | 0.5.0 | 1.8k(1800) | players | 90% | 41M | - | +| 2014-07-12 | 0.9.156 | 1.8k(1800) | players | 68% | 38MB | - | +| 2014-07-12 | 0.9.156 | 2.7k(2700) | players | 89% | 61MB | [code][p6] | +| 2014-11-11 | 1.0.5 | 2.7k(2700) | players | 85% | 66MB | - | +| 2014-11-11 | 2.0.12 | 2.7k(2700) | players | 85% | 66MB | - | +| 2014-11-12 | 2.0.14 | 2.7k(2700) | players | 69% | 59MB | - | +| 2014-11-12 | 2.0.14 | 3.5k(3500) | players | 95% | 78MB | [code][p7] | +| 2014-11-13 | 2.0.15 | 6.0k(6000) | players | 82% | 203MB | [code][p8] | +| 2014-11-22 | 2.0.30 | 7.5k(7500) | players | 87% | 320MB | [code][p9] | +| 2014-12-05 | 2.0.55 | 8.0k(8000) | players | 89% | 360MB | [code][p10] | +| 2014-12-05 | 2.0.57 | 9.0k(9000) | players | 90% | 468MB | [code][p11] | +| 2014-12-07 | 2.0.67 | 10k(10000) | players | 95% | 656MB | [code][p12] | ### Publish benchmark The publish benchmark by [st-load](https://github.com/winlinvip/st-load): -| Update | SRS | Clients | Type | CPU | Memory | Commit | -| ------------- | --------- | ------------- | ------------- | --------- | -------- | -------- | -| 2014-12-03 | 1.0.10 | 1.2k(1200) | publishers | 96% | 43MB | - | -| 2014-12-03 | 2.0.12 | 1.2k(1200) | publishers | 96% | 43MB | - | -| 2014-12-03 | 2.0.47 | 1.2k(1200) | publishers | 84% | 76MB | commit | -| 2014-12-03 | 2.0.47 | 1.4k(1400) | publishers | 95% | 140MB | - | -| 2014-12-03 | 2.0.48 | 1.4k(1400 | publishers | 95% | 140MB | commit | -| 2014-12-04 | 2.0.49 | 1.4k(1400) | publishers | 68% | 144MB | - | -| 2014-12-04 | 2.0.49 | 2.5k(2500) | publishers | 95% | 404MB | commit | -| 2014-12-04 | 2.0.51 | 2.5k(2500) | publishers | 91% | 259MB | commit | -| 2014-12-04 | 2.0.52 | 4.0k(4000) | publishers | 80% | 331MB | (mr_sleep=350)
commit | +| Update | SRS | Clients | Type | CPU | Memory | Commit | +| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------------ | +| 2014-12-03 | 1.0.10 | 1.2k(1200) | publishers | 96% | 43MB | - | +| 2014-12-03 | 2.0.12 | 1.2k(1200) | publishers | 96% | 43MB | - | +| 2014-12-03 | 2.0.47 | 1.2k(1200) | publishers | 84% | 76MB | [code][p1] | +| 2014-12-03 | 2.0.47 | 1.4k(1400) | publishers | 95% | 140MB | - | +| 2014-12-03 | 2.0.48 | 1.4k(1400 | publishers | 95% | 140MB | [code][p2] | +| 2014-12-04 | 2.0.49 | 1.4k(1400) | publishers | 68% | 144MB | - | +| 2014-12-04 | 2.0.49 | 2.5k(2500) | publishers | 95% | 404MB | [code][p3] | +| 2014-12-04 | 2.0.51 | 2.5k(2500) | publishers | 91% | 259MB | [code][p4] | +| 2014-12-04 | 2.0.52 | 4.0k(4000) | publishers | 80% | 331MB | [code][p5] | ### Latency benchmark @@ -1049,40 +944,12 @@ The latency between encoder and player with realtime config( [EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency) ): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UpdateSRSVP6H.264VP6+mp3H.264+mp3
2014-12-031.0.100.4s0.4s0.9s1.2s
2014-12-122.0.700.1s0.4s1.0s0.9s
2014-12-162.0.720.1s0.4s0.8s0.6s
+ +| Update | SRS | VP6 | H.264 | VP6+MP3 | H.264+MP3 | +| ------------- | --------- | --------- | --------- | --------- | -------- | +| 2014-12-03 | 1.0.10 | 0.4s | 0.4s | 0.9s | 1.2s | +| 2014-12-12 | 2.0.70 |[0.1s][p13]|[0.4s][p14]| 1.0s | 0.9s | +| 2014-12-16 | 2.0.72 | 0.1s | 0.4s |[0.8s][p15]|[0.6s][p16]| We use FMLE as encoder for benchmark. The latency of server is 0.1s+, and the bottleneck is the encoder. For more information, read @@ -1168,3 +1035,23 @@ over some protocol and remux to rtmp to SRS. Read Winlin - -[release2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release20 -[centos0]: http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip -[centos1]: http://www.ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip -[contact]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Contact -[more0]: http://winlinvip.github.io/srs.release/releases/ -[more1]: http://www.ossrs.net/srs.release/releases/ - [p1]: https://github.com/simple-rtmp-server/srs/commit/787ab674e38734ea8e0678101614fdcd84645dc8 [p2]: https://github.com/simple-rtmp-server/srs/commit/f35ec2155b1408d528a9f37da7904c9625186bcf [p3]: https://github.com/simple-rtmp-server/srs/commit/29324fab469e0f7cef9ad04ffdbce832ac7dd9ff @@ -1057,3 +856,60 @@ Winlin +[authors]: https://github.com/simple-rtmp-server/srs/blob/develop/AUTHORS.txt +[bigthanks]: https://github.com/simple-rtmp-server/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/ +[nginx-rtmp]: https://github.com/arut/nginx-rtmp-module +[http-parser]: https://github.com/joyent/http-parser +[nginx]: http://nginx.org/ +[FFMPEG]: http://ffmpeg.org/ +[libx264]: http://www.videolan.org/ +[srs]: https://github.com/simple-rtmp-server/srs +[csdn]: https://code.csdn.net/winlinvip/srs-csdn +[oschina]: http://git.oschina.net/winlinvip/srs.oschina +[gitlab]: https://gitlab.com/winlinvip/srs-gitlab +[v1_CN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git +[v1_EN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git +[v1_CN_SampleRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRTMP +[v1_EN_SampleRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRTMP +[v1_CN_SampleHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHLS +[v1_EN_SampleHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHLS +[v1_CN_SampleTranscode2HLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleTranscode2HLS +[v1_EN_SampleTranscode2HLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleTranscode2HLS +[v1_CN_SampleFFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleFFMPEG +[v1_EN_SampleFFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleFFMPEG +[v1_CN_SampleForward]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleForward +[v1_EN_SampleForward]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleForward +[v1_CN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRealtime +[v1_EN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRealtime +[v1_CN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleARM +[v1_EN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleARM +[v1_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHTTP +[v1_CN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo +[v2_CN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data +[v2_EN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data +[v1_CN_Sample]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Sample +[v1_EN_Sample]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Sample +[v1_CN_Product]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product +[v1_EN_Product]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Product +[v1_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home +[v1_CN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Home +[v2_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Home +[v2_CN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Home +[donation0]: http://winlinvip.github.io/srs.release/donation/index.html +[donation1]: http://www.ossrs.net/srs.release/donation/index.html +[donations]: https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt + + +[contact]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Contact +[more0]: http://winlinvip.github.io/srs.release/releases/ +[more1]: http://www.ossrs.net/srs.release/releases/ + +[release2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release20 +[centos0]: http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip +[centos1]: http://www.ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip + + + From 6418801487e000574b5705f6ebdf63fdee9b34c4 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 14:46:24 +0800 Subject: [PATCH 07/15] update readme --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 48aa2ec06..3b3901b92 100755 --- a/README.md +++ b/README.md @@ -115,19 +115,19 @@ cd simple-rtmp-server/trunk See also: -* Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP],[EN][v1_EN_SampleRTMP]) -* Usage: How to delivery HLS?([CN][v1_CN_SampleHLS],[EN][v1_EN_SampleHLS]) -* Usage: How to delivery HLS for other codec?([CN][v1_CN_SampleTranscode2[EN][v1_EN_SampleTranscode2HLS]) -* Usage: How to transode RTMP stream by SRS?([CN][v1_CN_SampleFFMPEG],[EN][v1_EN_SampleFFMPEG]) -* Usage: How to forward stream to other server?([CN][v1_CN_SampleForward[EN][v1_EN_SampleForward]) -* Usage: How to deploy low lantency application?([CN][v1_CN_SampleRealtime[EN][v1_EN_SampleRealtime]) -* Usage: How to deploy SRS on ARM?([CN][v1_CN_SampleARM],[EN][v1_EN_SampleARM]) -* Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_Sample[EN][v1_EN_SampleIngest]) -* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v1_CN_SampleHTTP[EN][v1_EN_SampleHTTP]) -* Usage: How to show the demo of [CN][v1_CN_SampleDemo[EN][v1_EN_SampleDemo]) -* Usage: How to publish h.264 raw stream to [CN][v2_CN_SrsLibrtmp2],[EN][v2_EN_SrsLibrtmp2]) -* Usage: Solution using SRS?([CN][v1_CN_Sample],[EN][v1_EN_Sample]) -* Usage: Why SRS?([CN][v1_CN_Product],[EN][v1_EN_Product]) +* Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP], [EN][v1_EN_SampleRTMP]) +* Usage: How to delivery HLS?([CN][v1_CN_SampleHLS], [EN][v1_EN_SampleHLS]) +* Usage: How to delivery HLS for other codec?([CN][v1_CN_SampleTranscode2], [EN][v1_EN_SampleTranscode2HLS]) +* Usage: How to transode RTMP stream by SRS?([CN][v1_CN_SampleFFMPEG], [EN][v1_EN_SampleFFMPEG]) +* Usage: How to forward stream to other server?([CN][v1_CN_SampleForward], [EN][v1_EN_SampleForward]) +* Usage: How to deploy low lantency application?([CN][v1_CN_SampleRealtime], [EN][v1_EN_SampleRealtime]) +* Usage: How to deploy SRS on ARM?([CN][v1_CN_SampleARM], [EN][v1_EN_SampleARM]) +* Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_Sample], [EN][v1_EN_SampleIngest]) +* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v1_CN_SampleHTTP], [EN][v1_EN_SampleHTTP]) +* Usage: How to show the demo of [CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) +* Usage: How to publish h.264 raw stream to [CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) +* Usage: Solution using SRS?([CN][v1_CN_Sample], [EN][v1_EN_Sample]) +* Usage: Why SRS?([CN][v1_CN_Product], [EN][v1_EN_Product]) ## Wiki From 982b09f9a71dc4c6107ed176b14574e6a095cd51 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 15:11:45 +0800 Subject: [PATCH 08/15] update readme --- README.md | 290 +++++++++++++++++++++++------------------------------- 1 file changed, 125 insertions(+), 165 deletions(-) diff --git a/README.md b/README.md index 3b3901b92..226c6bf3d 100755 --- a/README.md +++ b/README.md @@ -161,175 +161,61 @@ Supported operating systems and hardware: ## Features 1. Simple, also stable enough. -1. High-performance( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Performance) -): single-thread, async socket, event/st-thread driven. -1. High-concurrency( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Performance) -), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB -1. Support RTMP Origin Server( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP) -) -1. Support RTMP Edge Server( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Edge), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Edge) -) for CDN, push/pull stream from any RTMP server +1. High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event/st-thread driven. +1. High-concurrency([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB +1. Support RTMP Origin Server([CN][v1_CN_DeliveryRTMP],[EN][v1_EN_DeliveryRTMP]) +1. Support RTMP Edge Server([CN][v1_CN_Edge], [EN][v1_EN_Edge]) for CDN, push/pull stream from any RTMP server 1. Support single process; no multiple processes. -1. Support Vhost( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RtmpUrlVhost), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RtmpUrlVhost) -), support \_\_defaultVhost\_\_. -1. Support RTMP( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP) -) live streaming; no vod streaming. -1. Support Apple HLS(m3u8)( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS) -) live streaming. -1. Support HLS audio-only( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS#hlsaudioonly), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS#hlsaudioonly) -) live streaming. -1. Support Reload( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Reload), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Reload) -) config to enable changes. -1. Support cache last gop( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LowLatency#gop-cache), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LowLatency#gop-cache) -) for flash player to fast startup. +1. Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]), support \_\_defaultVhost\_\_. +1. Support RTMP([CN][v1_CN_DeliveryRTMP], [EN][v1_EN_DeliveryRTMP]) live streaming; no vod streaming. +1. Support Apple HLS(m3u8)([CN][v1_CN_DeliveryHLS], [EN][v1_EN_DeliveryHLS]) live streaming. +1. Support HLS audio-only([CN][v1_CN_DeliveryHLS2], [EN][v1_EN_DeliveryHLS2]) live streaming. +1. Support Reload([CN][v1_CN_Reload], [EN][v1_EN_Reload]) config to enable changes. +1. Support cache last gop([CN][v1_CN_LowLatency2], [EN][v1_EN_LowLatency2]) for flash player to fast startup. 1. Support listen at multiple ports. 1. Support long time(>4.6hours) publish/play. -1. Support Forward( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Forward), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Forward) -) in master-slave mode. -1. Support live stream Transcoding( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) -) by ffmpeg. -1. Support ffmpeg( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) -) filters(logo/overlay/crop), x264 params, copy/vn/an. -1. Support audio transcode( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) -) only, speex/mp3 to aac -1. Support http callback api hooks( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPCallback), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPCallback) -)(for authentication and injection). -1. Support bandwidth test( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_BandwidthTestTool), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_BandwidthTestTool) -) api and flash client. -1. Player, publisher(encoder), and demo pages(jquery+bootstrap)( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo) -). -1. Demo( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo) -) video meeting or chat(SRS+cherrypy+jquery+bootstrap). -1. Full documents in wiki( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Home), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home) -), both Chinese and English. -1. Support RTMP(play-publish) library: srs-librtmp( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp) -) -1. Support ARM cpu arch( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLinuxArm) -) with rtmp/ssl/hls/librtmp. -1. Support init.d( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LinuxService), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LinuxService) -) and packge script, log to file. -1. Support RTMP ATC( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RTMP-ATC), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RTMP-ATC) -) for HLS/HDS to support backup(failover) -1. Support HTTP RESTful management api( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPApi), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPApi) -). -1. Support Ingest( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Ingest) -) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg). -1. Support DVR( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DVR) -), record live to flv file for vod. -1. Support tracable log, session based log( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLog) -). -1. Support DRM token traverse( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DRM#tokentraverse) -) for fms origin authenticate. +1. Support Forward([CN][v1_CN_Forward], [EN][v1_EN_Forward]) in master-slave mode. +1. Support live stream Transcoding([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) by ffmpeg. +1. Support ffmpeg([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) filters(logo/overlay/crop), x264 params, copy/vn/an. +1. Support audio transcode([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) only, speex/mp3 to aac +1. Support http callback api hooks([CN][v1_CN_HTTPCallback], [EN][v1_EN_HTTPCallback])(for authentication and injection). +1. Support bandwidth test([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]) api and flash client. +1. Player, publisher(encoder), and demo pages(jquery+bootstrap)([CN][v1_CN_SampleDemo],[EN][v1_EN_SampleDemo]). +1. Demo([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) video meeting or chat(SRS+cherrypy+jquery+bootstrap). +1. Full documents in wiki([CN][v1_CN_Home], [EN][v1_EN_Home]), both Chinese and English. +1. Support RTMP(play-publish) library: srs-librtmp([CN][v2_CN_SrsLibrtmp], [EN][v2_EN_SrsLibrtmp]) +1. Support ARM cpu arch([CN][v1_CN_SrsLinuxArm], [EN][v1_EN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp. +1. Support init.d([CN][v1_CN_LinuxService], [EN][v1_EN_LinuxService]) and packge script, log to file. +1. Support RTMP ATC([CN][v1_CN_RTMP-ATC], [EN][v1_EN_RTMP-ATC]) for HLS/HDS to support backup(failover) +1. Support HTTP RESTful management api([CN][v1_CN_HTTPApi], [EN][v1_EN_HTTPApi]). +1. Support Ingest([CN][v1_CN_Ingest], [EN][v1_EN_Ingest]) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg). +1. Support DVR([CN][v1_CN_DVR], [EN][v1_EN_DVR]), record live to flv file for vod. +1. Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]). +1. Support DRM token traverse([CN][v1_CN_DRM#tokentraverse], [EN][v1_EN_DRM#tokentraverse]) for fms origin authenticate. 1. Support system full utest on gtest. -1. Support embeded HTTP server( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHTTP), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHTTP) -) for hls(live/vod) -1. Support vod stream(http flv/hls vod stream)( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_FlvVodStream), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_FlvVodStream) -). +1. Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for hls(live/vod) +1. Support vod stream(http flv/hls vod stream)([CN][v2_CN_FlvVodStream], [EN][v2_EN_FlvVodStream]). 1. Stable [1.0release branch](https://github.com/simple-rtmp-server/srs/tree/1.0release). -1. Support publish h264 raw stream( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data) -) by srs-librtmp. -1. Support [6k+ clients](https://github.com/simple-rtmp-server/srs/issues/194), 3Gbps per process. -1. Suppport [English wiki](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home). -1. Research and simplify st, [bug #182](https://github.com/simple-rtmp-server/srs/issues/182). -1. Support compile [srs-librtmp on windows](https://github.com/winlinvip/srs.librtmp), -[bug #213](https://github.com/simple-rtmp-server/srs/issues/213). -1. Support [10k+ clients](https://github.com/simple-rtmp-server/srs/issues/251), 4Gbps per process. -1. Support publish aac adts raw stream( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-audio-raw-stream), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-audio-raw-stream) -) by srs-librtmp. -1. Support 0.1s+ latency, read [#257](https://github.com/simple-rtmp-server/srs/issues/257). -1. Support allow/deny publish/play for all or specified ip( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Security), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Security) -). -1. Support custom dvr path and http callback, read -[#179](https://github.com/simple-rtmp-server/srs/issues/179) and -[274](https://github.com/simple-rtmp-server/srs/issues/274). -1. Support rtmp remux to http flv/mp3/aac/ts live stream, read -[#293](https://github.com/simple-rtmp-server/srs/issues/293)( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream) -). -1. Support HLS(h.264+mp3) streaming, read -[#301](https://github.com/simple-rtmp-server/srs/issues/301). -1. Rewrite HLS(h.264+aac/mp3) streaming, read -[#304](https://github.com/simple-rtmp-server/srs/issues/304). -1. Support Adobe HDS(f4m)( -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHDS), -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS) -1. [dev] Realease [2.0release branch](https://github.com/simple-rtmp-server/srs/tree/2.0release). -) dynamic streaming. -1. [experiment] Support push MPEG-TS over UDP to SRS, read -[#250](https://github.com/simple-rtmp-server/srs/issues/250). -1. [experiment] Support push RTSP to SRS, read -[#133](https://github.com/simple-rtmp-server/srs/issues/133). -1. [experiment] Support push flv stream over HTTP POST to SRS, read -[wiki](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs). +1. Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp#publish-h264-raw-data], [EN][v2_EN_SrsLibrtmp#publish-h264-raw-data]) by srs-librtmp. +1. Support [6k+ clients][bug #194], 3Gbps per process. +1. Suppport [English wiki][v1_EN_Home). +1. Research and simplify st, [bug #182][bug #182]. +1. Support compile [srs-librtmp on windows](https://github.com/winlinvip/srs.librtmp), [bug #213][bug #213]. +1. Support [10k+ clients][bug #251], 4Gbps per process. +1. Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp#publish-audio-raw-stream], [EN][v2_EN_SrsLibrtmp#publish-audio-raw-stream]) by srs-librtmp. +1. Support 0.1s+ latency, read [bug #257][bug #257]. +1. Support allow/deny publish/play for all or specified ip([CN][v2_CN_Security], [EN][v2_EN_Security]). +1. Support custom dvr path and http callback, read [bug #179][bug #179] and [bug #274][bug #274]. +1. Support rtmp remux to http flv/mp3/aac/ts live stream, read [bug #293][bug #293]([CN][v2_CN_DeliveryHttpStream], [EN][v2_CN_DeliveryHttpStream]). +1. Support HLS(h.264+mp3) streaming, read [bug #301][bug #301]. +1. Rewrite HLS(h.264+aac/mp3) streaming, read [bug #304][bug #304]. +1. Support Adobe HDS(f4m)([CN][v1_CN_DeliveryHDS], [EN][v1_EN_DeliveryHDS]) dynamic streaming. +1. [dev] Realease [2.0release branch][branch2]. +1. [experiment] Support push MPEG-TS over UDP to SRS, read [bug #250][bug #250]. +1. [experiment] Support push RTSP to SRS, read [bug #133][bug #133]. +1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer#push-http-flv-to-srs], [EN][v2_EN_Streamer#push-http-flv-to-srs]). 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). -1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/simple-rtmp-server/srs/issues/92). +1. [no-plan] Support RTMP 302 redirect [bug #92][bug #92]. 1. [no-plan] Support multiple processes, for both origin and edge 1. [no-plan] Support adobe RTMFP(flash p2p) protocol. 1. [no-plan] Support adobe flash refer/token/swf verification. @@ -854,8 +740,6 @@ Winlin [p15]: https://github.com/simple-rtmp-server/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc [p16]: https://github.com/simple-rtmp-server/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc - - [authors]: https://github.com/simple-rtmp-server/srs/blob/develop/AUTHORS.txt [bigthanks]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#bigthanks [st]: https://github.com/winlinvip/state-threads @@ -902,11 +786,87 @@ Winlin [donation1]: http://www.ossrs.net/srs.release/donation/index.html [donations]: https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt +[v1_CN_Performance]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance +[v1_EN_Performance]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Performance +[v1_CN_DeliveryRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP +[v1_EN_DeliveryRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP +[v1_CN_Edge]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Edge +[v1_EN_Edge]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Edge +[v1_CN_RtmpUrlVhost]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RtmpUrlVhost +[v1_EN_RtmpUrlVhost]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RtmpUrlVhost +[v1_CN_DeliveryHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS +[v1_EN_DeliveryHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS +[v1_CN_DeliveryHLS2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS#hlsaudioonly +[v1_EN_DeliveryHLS2]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS#hlsaudioonly +[v1_CN_Reload]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Reload +[v1_EN_Reload]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Reload +[v1_CN_LowLatency2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LowLatency#gop-cache +[v1_EN_LowLatency2]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LowLatency#gop-cache +[v1_CN_Forward]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Forward +[v1_EN_Forward]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Forward +[v1_CN_FFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG +[v1_EN_FFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG +[v1_CN_HTTPCallback]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPCallback +[v1_EN_HTTPCallback]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPCallback +[v1_CN_BandwidthTestTool]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_BandwidthTestTool +[v1_EN_BandwidthTestTool]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_BandwidthTestTool +[v1_CN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo +[v1_EN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo +[v2_CN_SrsLibrtmp]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp +[v2_EN_SrsLibrtmp]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp +[v1_CN_SrsLinuxArm]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm +[v1_EN_SrsLinuxArm]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLinuxArm +[v1_CN_LinuxService]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LinuxService +[v1_EN_LinuxService]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LinuxService +[v1_CN_RTMP-ATC]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RTMP-ATC +[v1_EN_RTMP-ATC]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RTMP-ATC +[v1_CN_HTTPApi]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPApi +[v1_EN_HTTPApi]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPApi +[v1_CN_Ingest]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest +[v1_EN_Ingest]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Ingest +[v1_CN_DVR]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR +[v1_EN_DVR]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DVR +[v1_CN_SrsLog]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog +[v1_EN_SrsLog]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLog +[v1_CN_DRM#tokentraverse]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse +[v1_EN_DRM#tokentraverse]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DRM#tokentraverse +[v2_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHTTP +[v2_EN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHTTP +[v2_CN_FlvVodStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_FlvVodStream +[v2_EN_FlvVodStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_FlvVodStream +[v2_CN_SrsLibrtmp#publish-h264-raw-data]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data +[v2_EN_SrsLibrtmp#publish-h264-raw-data]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data +[v2_CN_SrsLibrtmp#publish-audio-raw-stream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-audio-raw-stream +[v2_EN_SrsLibrtmp#publish-audio-raw-stream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-audio-raw-stream +[v2_CN_Security]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Security +[v2_EN_Security]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Security +[v2_CN_DeliveryHttpStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream +[v2_EN_DeliveryHttpStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DeliveryHttpStream +[v1_CN_DeliveryHDS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHDS +[v1_EN_DeliveryHDS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS +[v2_CN_Streamer#push-http-flv-to-srs]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs +[v2_EN_Streamer#push-http-flv-to-srs]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Streamer#push-http-flv-to-srs + +[bug #213]: https://github.com/simple-rtmp-server/srs/issues/213 +[bug #194]: https://github.com/simple-rtmp-server/srs/issues/194 +[bug #182]: https://github.com/simple-rtmp-server/srs/issues/182 +[bug #257]: https://github.com/simple-rtmp-server/srs/issues/257 +[bug #179]: https://github.com/simple-rtmp-server/srs/issues/179 +[bug #224]: https://github.com/simple-rtmp-server/srs/issues/224 +[bug #251]: https://github.com/simple-rtmp-server/srs/issues/251 +[bug #293]: https://github.com/simple-rtmp-server/srs/issues/293 +[bug #250]: https://github.com/simple-rtmp-server/srs/issues/250 +[bug #301]: https://github.com/simple-rtmp-server/srs/issues/301 +[bug #304]: https://github.com/simple-rtmp-server/srs/issues/304 +[bug #133]: https://github.com/simple-rtmp-server/srs/issues/133 +[bug #92]: https://github.com/simple-rtmp-server/srs/issues/92 + [contact]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Contact [more0]: http://winlinvip.github.io/srs.release/releases/ [more1]: http://www.ossrs.net/srs.release/releases/ +[branch2]: https://github.com/simple-rtmp-server/srs/tree/2.0release [release2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release20 [centos0]: http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip [centos1]: http://www.ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip From 16d386df918dc4ca06ed0616e3167e006e21739c Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 15:15:22 +0800 Subject: [PATCH 09/15] update readme --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 226c6bf3d..bcee84931 100755 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ cd simple-rtmp-server/trunk * Usage: How to forward stream to other server?([CN][v1_CN_SampleForward], [EN][v1_EN_SampleForward]) * Usage: How to deploy low lantency application?([CN][v1_CN_SampleRealtime], [EN][v1_EN_SampleRealtime]) * Usage: How to deploy SRS on ARM?([CN][v1_CN_SampleARM], [EN][v1_EN_SampleARM]) -* Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_Sample], [EN][v1_EN_SampleIngest]) +* Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_SampleIngest], [EN][v1_EN_SampleIngest]) * Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v1_CN_SampleHTTP], [EN][v1_EN_SampleHTTP]) * Usage: How to show the demo of [CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) * Usage: How to publish h.264 raw stream to [CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) @@ -770,18 +770,20 @@ Winlin [v1_EN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRealtime [v1_CN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleARM [v1_EN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleARM -[v1_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHTTP -[v1_CN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo +[v1_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHTTP +[v1_EN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHTTP +[v1_CN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo +[v1_EN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo [v2_CN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data [v2_EN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data [v1_CN_Sample]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Sample [v1_EN_Sample]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Sample [v1_CN_Product]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product [v1_EN_Product]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Product -[v1_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home [v1_CN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Home -[v2_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Home +[v1_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home [v2_CN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Home +[v2_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Home [donation0]: http://winlinvip.github.io/srs.release/donation/index.html [donation1]: http://www.ossrs.net/srs.release/donation/index.html [donations]: https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt From bbdc8b901b880322bbbe7ad3d85bb2594ae9fda7 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 15:20:15 +0800 Subject: [PATCH 10/15] update readme --- README.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index bcee84931..4c07af244 100755 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ cd simple-rtmp-server/trunk See also: * Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP], [EN][v1_EN_SampleRTMP]) * Usage: How to delivery HLS?([CN][v1_CN_SampleHLS], [EN][v1_EN_SampleHLS]) -* Usage: How to delivery HLS for other codec?([CN][v1_CN_SampleTranscode2], [EN][v1_EN_SampleTranscode2HLS]) +* Usage: How to delivery HLS for other codec?([CN][v1_CN_SampleTranscode2HLS], [EN][v1_EN_SampleTranscode2HLS]) * Usage: How to transode RTMP stream by SRS?([CN][v1_CN_SampleFFMPEG], [EN][v1_EN_SampleFFMPEG]) * Usage: How to forward stream to other server?([CN][v1_CN_SampleForward], [EN][v1_EN_SampleForward]) * Usage: How to deploy low lantency application?([CN][v1_CN_SampleRealtime], [EN][v1_EN_SampleRealtime]) @@ -191,18 +191,18 @@ Supported operating systems and hardware: 1. Support Ingest([CN][v1_CN_Ingest], [EN][v1_EN_Ingest]) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg). 1. Support DVR([CN][v1_CN_DVR], [EN][v1_EN_DVR]), record live to flv file for vod. 1. Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]). -1. Support DRM token traverse([CN][v1_CN_DRM#tokentraverse], [EN][v1_EN_DRM#tokentraverse]) for fms origin authenticate. +1. Support DRM token traverse([CN][v1_CN_DRM2], [EN][v1_EN_DRM2]) for fms origin authenticate. 1. Support system full utest on gtest. 1. Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for hls(live/vod) 1. Support vod stream(http flv/hls vod stream)([CN][v2_CN_FlvVodStream], [EN][v2_EN_FlvVodStream]). 1. Stable [1.0release branch](https://github.com/simple-rtmp-server/srs/tree/1.0release). -1. Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp#publish-h264-raw-data], [EN][v2_EN_SrsLibrtmp#publish-h264-raw-data]) by srs-librtmp. +1. Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp. 1. Support [6k+ clients][bug #194], 3Gbps per process. 1. Suppport [English wiki][v1_EN_Home). 1. Research and simplify st, [bug #182][bug #182]. 1. Support compile [srs-librtmp on windows](https://github.com/winlinvip/srs.librtmp), [bug #213][bug #213]. 1. Support [10k+ clients][bug #251], 4Gbps per process. -1. Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp#publish-audio-raw-stream], [EN][v2_EN_SrsLibrtmp#publish-audio-raw-stream]) by srs-librtmp. +1. Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp. 1. Support 0.1s+ latency, read [bug #257][bug #257]. 1. Support allow/deny publish/play for all or specified ip([CN][v2_CN_Security], [EN][v2_EN_Security]). 1. Support custom dvr path and http callback, read [bug #179][bug #179] and [bug #274][bug #274]. @@ -213,7 +213,7 @@ Supported operating systems and hardware: 1. [dev] Realease [2.0release branch][branch2]. 1. [experiment] Support push MPEG-TS over UDP to SRS, read [bug #250][bug #250]. 1. [experiment] Support push RTSP to SRS, read [bug #133][bug #133]. -1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer#push-http-flv-to-srs], [EN][v2_EN_Streamer#push-http-flv-to-srs]). +1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]). 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). 1. [no-plan] Support RTMP 302 redirect [bug #92][bug #92]. 1. [no-plan] Support multiple processes, for both origin and edge @@ -770,6 +770,8 @@ Winlin [v1_EN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRealtime [v1_CN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleARM [v1_EN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleARM +[v1_CN_SampleIngest]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleIngest +[v1_EN_SampleIngest]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleIngest [v1_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHTTP [v1_EN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHTTP [v1_CN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo @@ -830,24 +832,24 @@ Winlin [v1_EN_DVR]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DVR [v1_CN_SrsLog]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog [v1_EN_SrsLog]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLog -[v1_CN_DRM#tokentraverse]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse -[v1_EN_DRM#tokentraverse]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DRM#tokentraverse +[v1_CN_DRM2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse +[v1_EN_DRM2]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DRM#tokentraverse [v2_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHTTP [v2_EN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHTTP [v2_CN_FlvVodStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_FlvVodStream [v2_EN_FlvVodStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_FlvVodStream -[v2_CN_SrsLibrtmp#publish-h264-raw-data]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data -[v2_EN_SrsLibrtmp#publish-h264-raw-data]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data -[v2_CN_SrsLibrtmp#publish-audio-raw-stream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-audio-raw-stream -[v2_EN_SrsLibrtmp#publish-audio-raw-stream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-audio-raw-stream +[v2_CN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data +[v2_EN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data +[v2_CN_SrsLibrtmp3]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-audio-raw-stream +[v2_EN_SrsLibrtmp3]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-audio-raw-stream [v2_CN_Security]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Security [v2_EN_Security]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Security [v2_CN_DeliveryHttpStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream [v2_EN_DeliveryHttpStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DeliveryHttpStream [v1_CN_DeliveryHDS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHDS [v1_EN_DeliveryHDS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS -[v2_CN_Streamer#push-http-flv-to-srs]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs -[v2_EN_Streamer#push-http-flv-to-srs]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Streamer#push-http-flv-to-srs +[v2_CN_Streamer2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs +[v2_EN_Streamer2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Streamer#push-http-flv-to-srs [bug #213]: https://github.com/simple-rtmp-server/srs/issues/213 [bug #194]: https://github.com/simple-rtmp-server/srs/issues/194 From e96150b7db0a8609013b4d732a68b27155d56aed Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 15:22:20 +0800 Subject: [PATCH 11/15] update readme --- trunk/src/protocol/srs_http_stack.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/trunk/src/protocol/srs_http_stack.cpp b/trunk/src/protocol/srs_http_stack.cpp index 6e46e23e2..8ec6308cd 100644 --- a/trunk/src/protocol/srs_http_stack.cpp +++ b/trunk/src/protocol/srs_http_stack.cpp @@ -23,6 +23,7 @@ #include +#include #include using namespace std; From dbb37d2a5273428034cf88c0682123a448d57fed Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 15:48:24 +0800 Subject: [PATCH 12/15] update readme --- README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/README.md b/README.md index 4c07af244..48bc495dd 100755 --- a/README.md +++ b/README.md @@ -228,6 +228,46 @@ Supported operating systems and hardware: Compare SRS with other media server. +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | +| RTMP | Stable | Stable | Stable | Stable | Stable | +| HLS | Stable | Stable | X | Stable | Stable | +| HDS | Stable | X | X | Stable | Stable | +| HTTP FLV | Stable | X | X | X | X | +| RTMP Edge | Stable | X | X | Stable | X | +| HLS(aonly) | Stable | X | X | Stable | Stable | +| DVR | Stable | Stable | X | X | Stable | +| VHOST | Stable | X | X | Stable | Stable | +| Reload | Stable | Stable | X | X | X | +| GopCache | Stable | X | X | Stable | X | +| Concurrency | 7.5k | 3k | 2k | 2k | 3k | +| RTMP Latency| 0.1s | 3s | 3s | 3s | 3s | +| HLS Latency | 10s | 30s | X | 30s | 30s | +| Forward | Stable | X | X | X | X | +| Transcode | Stable | X | X | X | Stable | +| HTTP hooks | Stable | X | X | X | X | +| BW check | Stable | X | X | X | X | +| Demos | Stable | X | X | X | X | +| WIKI(EN+CN) | Stable | EN only | X | X | Stable | +| ARM/MIPS | Stable | Stable | X | X | X | +| ATC | Stable | X | X | X | X | +| HTTP API | Stable | Stable | X | X | Stable | +| Tracable Log | Stable | X | X | X | X | +| Token Traverse| Stable | X | X | Stable | X | +| HTTP Server | Stable | Stable | X | X | Stable | +| Client Library| Stable | X | X | X | X | +| Security | Stable | Stable | X | X | Stable | +| Push MPEGTS | Experiment| X | X | X | Stable | +| Push RTSP | Experiment| X | Stable | X | Stable | +| Push HTTP FLV | Experiment| X | X | X | X | + +Remark: + +1. Concurrency: The concurrency of single process. +1. HLS aonly: The HLS audio only streaming delivery. +1. BW check: The bandwidth check. +1. Security: To allow or deny stream publish or play. + ## Releases * 2015-05-23, [Release v1.0r4](https://github.com/simple-rtmp-server/srs/releases/tag/1.0r4), bug fixed, 1.0.32, 59509 lines.
From 2d9103db77a33d824e905a77b29a7f5681833604 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 15:52:08 +0800 Subject: [PATCH 13/15] update readme --- README.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 48bc495dd..ba6db6240 100755 --- a/README.md +++ b/README.md @@ -234,29 +234,39 @@ Compare SRS with other media server. | HLS | Stable | Stable | X | Stable | Stable | | HDS | Stable | X | X | Stable | Stable | | HTTP FLV | Stable | X | X | X | X | +| HTTP API | Stable | Stable | X | X | Stable | +| HTTP Server | Stable | Stable | X | X | Stable | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | | RTMP Edge | Stable | X | X | Stable | X | | HLS(aonly) | Stable | X | X | Stable | Stable | | DVR | Stable | Stable | X | X | Stable | | VHOST | Stable | X | X | Stable | Stable | | Reload | Stable | Stable | X | X | X | | GopCache | Stable | X | X | Stable | X | +| Security | Stable | Stable | X | X | Stable | +| Token Traverse| Stable | X | X | Stable | X | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | | Concurrency | 7.5k | 3k | 2k | 2k | 3k | | RTMP Latency| 0.1s | 3s | 3s | 3s | 3s | | HLS Latency | 10s | 30s | X | 30s | 30s | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | | Forward | Stable | X | X | X | X | | Transcode | Stable | X | X | X | Stable | | HTTP hooks | Stable | X | X | X | X | | BW check | Stable | X | X | X | X | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | | Demos | Stable | X | X | X | X | | WIKI(EN+CN) | Stable | EN only | X | X | Stable | | ARM/MIPS | Stable | Stable | X | X | X | | ATC | Stable | X | X | X | X | -| HTTP API | Stable | Stable | X | X | Stable | | Tracable Log | Stable | X | X | X | X | -| Token Traverse| Stable | X | X | Stable | X | -| HTTP Server | Stable | Stable | X | X | Stable | | Client Library| Stable | X | X | X | X | -| Security | Stable | Stable | X | X | Stable | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | | Push MPEGTS | Experiment| X | X | X | Stable | | Push RTSP | Experiment| X | Stable | X | Stable | | Push HTTP FLV | Experiment| X | X | X | X | From e4c97cde2fd3ce0a37c04146b233ad60a19eba76 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 16:01:12 +0800 Subject: [PATCH 14/15] update readme --- README.md | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ba6db6240..32fea7045 100755 --- a/README.md +++ b/README.md @@ -228,48 +228,77 @@ Supported operating systems and hardware: Compare SRS with other media server. +### Stream Delivery + | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | | RTMP | Stable | Stable | Stable | Stable | Stable | | HLS | Stable | Stable | X | Stable | Stable | | HDS | Stable | X | X | Stable | Stable | | HTTP FLV | Stable | X | X | X | X | -| HTTP API | Stable | Stable | X | X | Stable | +| HLS(aonly) | Stable | X | X | Stable | Stable | | HTTP Server | Stable | Stable | X | X | Stable | + +### Cluster + | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | | RTMP Edge | Stable | X | X | Stable | X | -| HLS(aonly) | Stable | X | X | Stable | Stable | -| DVR | Stable | Stable | X | X | Stable | +| RTMP Backup | Stable | X | X | X | X | | VHOST | Stable | X | X | Stable | Stable | | Reload | Stable | Stable | X | X | X | +| Forward | Stable | X | X | X | X | +| ATC | Stable | X | X | X | X | + +### Stream Service + +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | +| DVR | Stable | Stable | X | X | Stable | +| Transcode | Stable | X | X | X | Stable | +| HTTP API | Stable | Stable | X | X | Stable | +| HTTP hooks | Stable | X | X | X | X | | GopCache | Stable | X | X | Stable | X | | Security | Stable | Stable | X | X | Stable | | Token Traverse| Stable | X | X | Stable | X | + +### Performance + | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | | Concurrency | 7.5k | 3k | 2k | 2k | 3k | | RTMP Latency| 0.1s | 3s | 3s | 3s | 3s | | HLS Latency | 10s | 30s | X | 30s | 30s | + +### Stream Caster + +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | +| ----------- | ------- | ----- | --------- | -------- | ------ | +| Ingest | Stable | X | X | X | X | +| Push MPEGTS | Experiment| X | X | X | Stable | +| Push RTSP | Experiment| X | Stable | X | Stable | +| Push HTTP FLV | Experiment| X | X | X | X | + +### Debug System + | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | -| Forward | Stable | X | X | X | X | -| Transcode | Stable | X | X | X | Stable | -| HTTP hooks | Stable | X | X | X | X | | BW check | Stable | X | X | X | X | +| Tracable Log | Stable | X | X | X | X | + +### Docs + | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | | Demos | Stable | X | X | X | X | | WIKI(EN+CN) | Stable | EN only | X | X | Stable | -| ARM/MIPS | Stable | Stable | X | X | X | -| ATC | Stable | X | X | X | X | -| Tracable Log | Stable | X | X | X | X | -| Client Library| Stable | X | X | X | X | + +### Others + | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | -| Push MPEGTS | Experiment| X | X | X | Stable | -| Push RTSP | Experiment| X | Stable | X | Stable | -| Push HTTP FLV | Experiment| X | X | X | X | +| ARM/MIPS | Stable | Stable | X | X | X | +| Client Library| Stable | X | X | X | X | Remark: From d63242b6e8c454179822dc5e34e1e93160c41640 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 23 May 2015 18:10:16 +0800 Subject: [PATCH 15/15] add http flv sample. --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 32fea7045..0102515c4 100755 --- a/README.md +++ b/README.md @@ -116,14 +116,15 @@ cd simple-rtmp-server/trunk See also: * Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP], [EN][v1_EN_SampleRTMP]) +* Usage: How to delivery HTTP FLV Live Streaming?([CN][v2_CN_SampleHttpFlv], [EN][v2_EN_SampleHttpFlv]) * Usage: How to delivery HLS?([CN][v1_CN_SampleHLS], [EN][v1_EN_SampleHLS]) * Usage: How to delivery HLS for other codec?([CN][v1_CN_SampleTranscode2HLS], [EN][v1_EN_SampleTranscode2HLS]) * Usage: How to transode RTMP stream by SRS?([CN][v1_CN_SampleFFMPEG], [EN][v1_EN_SampleFFMPEG]) * Usage: How to forward stream to other server?([CN][v1_CN_SampleForward], [EN][v1_EN_SampleForward]) -* Usage: How to deploy low lantency application?([CN][v1_CN_SampleRealtime], [EN][v1_EN_SampleRealtime]) +* Usage: How to deploy low lantency application?([CN][v2_CN_SampleRealtime], [EN][v2_EN_SampleRealtime]) * Usage: How to deploy SRS on ARM?([CN][v1_CN_SampleARM], [EN][v1_EN_SampleARM]) * Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_SampleIngest], [EN][v1_EN_SampleIngest]) -* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v1_CN_SampleHTTP], [EN][v1_EN_SampleHTTP]) +* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) * Usage: How to show the demo of [CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) * Usage: How to publish h.264 raw stream to [CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) * Usage: Solution using SRS?([CN][v1_CN_Sample], [EN][v1_EN_Sample]) @@ -845,8 +846,8 @@ Winlin [v1_EN_SampleFFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleFFMPEG [v1_CN_SampleForward]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleForward [v1_EN_SampleForward]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleForward -[v1_CN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRealtime -[v1_EN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRealtime +[v2_CN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleRealtime +[v2_EN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleRealtime [v1_CN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleARM [v1_EN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleARM [v1_CN_SampleIngest]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleIngest @@ -929,6 +930,8 @@ Winlin [v1_EN_DeliveryHDS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS [v2_CN_Streamer2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs [v2_EN_Streamer2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Streamer#push-http-flv-to-srs +[v2_CN_SampleHttpFlv]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHttpFlv +[v2_EN_SampleHttpFlv]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHttpFlv [bug #213]: https://github.com/simple-rtmp-server/srs/issues/213 [bug #194]: https://github.com/simple-rtmp-server/srs/issues/194