正在显示
2 个修改的文件
包含
364 行增加
和
648 行删除
| @@ -2,18 +2,12 @@ | @@ -2,18 +2,12 @@ | ||
| 2 | 2 | ||
| 3 | SRS/3.0,开发代号:[OuXuli](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release30) | 3 | SRS/3.0,开发代号:[OuXuli](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release30) |
| 4 | 4 | ||
| 5 | -SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。 | 5 | +SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。<br/> |
| 6 | +SRS is industrial-strength live streaming cluster, for the best conceptual integrity and the simplest implementation. | ||
| 6 | 7 | ||
| 7 | -<<<<<<< HEAD | ||
| 8 | -Download from github.io: | ||
| 9 | -[Centos6-x86_64](http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip) | ||
| 10 | -[more...](http://winlinvip.github.io/srs.release/releases/) | ||
| 11 | - | ||
| 12 | -Download from ossrs.net: | ||
| 13 | -[Centos6-x86_64](http://www.ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip) | ||
| 14 | -[more...](http://www.ossrs.net/srs.release/releases/) | ||
| 15 | - | ||
| 16 | -Contact by QQ or Skype, read [Contact](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Contact) | 8 | +Download from github.io: [Centos6-x86_64][centos0], [more...][more0]<br/> |
| 9 | +Download from ossrs.net: [Centos6-x86_64][centos1], [more...][more1]<br/> | ||
| 10 | +Contact by QQ or Skype, read [Contact][contact] | ||
| 17 | 11 | ||
| 18 | ## Why SRS? | 12 | ## Why SRS? |
| 19 | 13 | ||
| @@ -49,142 +43,6 @@ session-oriented log, exports client srs-librtmp, | @@ -49,142 +43,6 @@ session-oriented log, exports client srs-librtmp, | ||
| 49 | with stream caster to push MPEGTS-over-UDP/RTSP to SRS, | 43 | with stream caster to push MPEGTS-over-UDP/RTSP to SRS, |
| 50 | provides EN/CN wiki and the most simple architecture. | 44 | provides EN/CN wiki and the most simple architecture. |
| 51 | 45 | ||
| 52 | -SRS focus on small problem domain, which is the most complex for all software(see OOAD). | ||
| 53 | -Because of lack of deveoper resource, SRS only provides features which is the most popular | ||
| 54 | -for internet. SRS is simple for and only for problem domain is simplified. | ||
| 55 | - | ||
| 56 | -SRS is a simple, RTMP( | ||
| 57 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), | ||
| 58 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP) | ||
| 59 | -), | ||
| 60 | -HLS( | ||
| 61 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS), | ||
| 62 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS) | ||
| 63 | -), | ||
| 64 | -HDS( | ||
| 65 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHDS), | ||
| 66 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS) | ||
| 67 | -), | ||
| 68 | -HTTP( | ||
| 69 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream), | ||
| 70 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream) | ||
| 71 | -), | ||
| 72 | -high-performance(10k+ clients)( | ||
| 73 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance), | ||
| 74 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Performance) | ||
| 75 | -), | ||
| 76 | -low-latency(0.1s+)( | ||
| 77 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency), | ||
| 78 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency) | ||
| 79 | -), | ||
| 80 | -single processes, edge/origin live server, | ||
| 81 | -x86/x64/arm( | ||
| 82 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm), | ||
| 83 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLinuxArm) | ||
| 84 | -), | ||
| 85 | -compile depends on st( | ||
| 86 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Architecture), | ||
| 87 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Architecture) | ||
| 88 | -)(required), | ||
| 89 | -[ssl](http://www.openssl.org/) and [http-parser](https://github.com/joyent/http-parser), | ||
| 90 | -use [nginx](http://nginx.org/), [ffmpeg](http://ffmpeg.org/) and | ||
| 91 | -[cherrypy](http://www.cherrypy.org/) as external tools. that is, only need st to run srs for | ||
| 92 | -minimum run. see Build( | ||
| 93 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Build), | ||
| 94 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Build) | ||
| 95 | -). | ||
| 96 | - | ||
| 97 | -SRS supports vhost( | ||
| 98 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RtmpUrlVhost), | ||
| 99 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RtmpUrlVhost) | ||
| 100 | -), | ||
| 101 | -rtmp(encoder push( | ||
| 102 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), | ||
| 103 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP) | ||
| 104 | -), | ||
| 105 | -client/edge( | ||
| 106 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Edge), | ||
| 107 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Edge), | ||
| 108 | -) pull), | ||
| 109 | -ingester(srs pull)( | ||
| 110 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest), | ||
| 111 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Ingest) | ||
| 112 | -), | ||
| 113 | -HLS( | ||
| 114 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS), | ||
| 115 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS) | ||
| 116 | -), | ||
| 117 | -HLS audio only( | ||
| 118 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS#hlsaudioonly), | ||
| 119 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS#hlsaudioonly) | ||
| 120 | -), | ||
| 121 | -transcoding( | ||
| 122 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), | ||
| 123 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) | ||
| 124 | -), | ||
| 125 | -forward( | ||
| 126 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), | ||
| 127 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) | ||
| 128 | -), | ||
| 129 | -http hooks( | ||
| 130 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPCallback), | ||
| 131 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPCallback) | ||
| 132 | -), | ||
| 133 | -http api( | ||
| 134 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPApi), | ||
| 135 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPApi) | ||
| 136 | -), | ||
| 137 | -http server( | ||
| 138 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPServer), | ||
| 139 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPServer) | ||
| 140 | -), | ||
| 141 | -dvr( | ||
| 142 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR), | ||
| 143 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DVR) | ||
| 144 | -) and | ||
| 145 | -SRS-librtmp( | ||
| 146 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp), | ||
| 147 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp) | ||
| 148 | -). | ||
| 149 | - | ||
| 150 | -SRS-librtmp( | ||
| 151 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp), | ||
| 152 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp) | ||
| 153 | -) | ||
| 154 | -is a client library, only depends on c++ and socket, with | ||
| 155 | -examples( | ||
| 156 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples), | ||
| 157 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#srs-librtmp-examples) | ||
| 158 | -)(to play, | ||
| 159 | -publish, ingest flv/rtmp, inject flv, | ||
| 160 | -publish h264 raw stream( | ||
| 161 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data), | ||
| 162 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data) | ||
| 163 | -), | ||
| 164 | -exported as seperate project or single cpp file by configure( | ||
| 165 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#export-srs-librtmp), | ||
| 166 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#export-srs-librtmp) | ||
| 167 | -). | ||
| 168 | -SRS-librtmp( | ||
| 169 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp), | ||
| 170 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp) | ||
| 171 | -) | ||
| 172 | -provides apis to support RTMP, FLV, AMF0 and | ||
| 173 | -h.264 raw stream( | ||
| 174 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data), | ||
| 175 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data) | ||
| 176 | -). | ||
| 177 | - | ||
| 178 | -Report Bug: [https://github.com/simple-rtmp-server/srs/issues/new](https://github.com/simple-rtmp-server/srs/issues/new) <br/> | ||
| 179 | -WebSite: [http://ossrs.net](http://ossrs.net) <br/> | ||
| 180 | -Release: [http://winlinvip.github.io/srs.release](http://winlinvip.github.io/srs.release) <br/> | ||
| 181 | -Blog: [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> | ||
| 182 | -Wiki: [https://github.com/simple-rtmp-server/srs/wiki](https://github.com/simple-rtmp-server/srs/wiki) <br/> | ||
| 183 | -StreamServers:[BLS](https://github.com/wenjiegit/Bull-Live-Server)/[BLE](https://github.com/wenjiegit/Bull-Live-Encoder), | ||
| 184 | -[NGINX-RTMP](https://github.com/arut/nginx-rtmp-module), [CRTMPD](http://www.rtmpd.com/), | ||
| 185 | -[RED5](http://www.red5.org/), [WOWZA](http://www.wowza.com/), | ||
| 186 | -[FMS/AMS](http://www.adobe.com/products/adobe-media-server-standard.html) | ||
| 187 | - | ||
| 188 | ## AUTHORS | 46 | ## AUTHORS |
| 189 | 47 | ||
| 190 | There are three types of people that have contributed to the SRS project: | 48 | There are three types of people that have contributed to the SRS project: |
| @@ -193,58 +51,41 @@ PRIMARY response in NetConnection.connect and metadata. | @@ -193,58 +51,41 @@ PRIMARY response in NetConnection.connect and metadata. | ||
| 193 | * CONTRIBUTORS: Submit patches, report bugs, add translations, help answer | 51 | * CONTRIBUTORS: Submit patches, report bugs, add translations, help answer |
| 194 | newbie questions, and generally make SRS that much better. | 52 | newbie questions, and generally make SRS that much better. |
| 195 | 53 | ||
| 196 | -About all PRIMARY, AUTHORS and CONTRIBUTORS, read | ||
| 197 | -[AUTHORS.txt](https://github.com/simple-rtmp-server/srs/blob/develop/AUTHORS.txt). | 54 | +About all PRIMARY, AUTHORS and CONTRIBUTORS, read [AUTHORS.txt][authors]. |
| 198 | 55 | ||
| 199 | A big THANK YOU goes to: | 56 | A big THANK YOU goes to: |
| 200 | -* All friends of SRS for [big supports](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#bigthanks). | ||
| 201 | -* Genes amd Mabbott for creating [st](https://github.com/winlinvip/state-threads)([state-threads](http://sourceforge.net/projects/state-threads/)). | 57 | +* All friends of SRS for [big supports][bigthanks]. |
| 58 | +* Genes amd Mabbott for creating [st][st]([state-threads][st2]). | ||
| 202 | * Michael Talyanksy for introducing us to use st. | 59 | * Michael Talyanksy for introducing us to use st. |
| 203 | -* Roman Arutyunyan for creating [nginx-rtmp](https://github.com/arut/nginx-rtmp-module) for SRS to refer to. | ||
| 204 | -* Joyent for creating [http-parser](https://github.com/joyent/http-parser) for http-api for SRS. | ||
| 205 | -* Igor Sysoev for creating [nginx](http://nginx.org/) for SRS to refer to. | ||
| 206 | -* [FFMPEG](http://ffmpeg.org/) and [libx264](http://www.videolan.org/) group for SRS to use to transcode. | 60 | +* Roman Arutyunyan for creating [nginx-rtmp][nginx-rtmp] for SRS to refer to. |
| 61 | +* Joyent for creating [http-parser][http-parser] for http-api for SRS. | ||
| 62 | +* Igor Sysoev for creating [nginx][nginx] for SRS to refer to. | ||
| 63 | +* [FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use to transcode. | ||
| 207 | * Guido van Rossum for creating Python for api-server for SRS. | 64 | * Guido van Rossum for creating Python for api-server for SRS. |
| 208 | 65 | ||
| 209 | ## Mirrors | 66 | ## Mirrors |
| 210 | 67 | ||
| 211 | -Github: [https://github.com/simple-rtmp-server/srs](https://github.com/simple-rtmp-server/srs), | ||
| 212 | -the GIT usage( | ||
| 213 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git), | ||
| 214 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git) | ||
| 215 | -) | 68 | +Github: [https://github.com/simple-rtmp-server/srs][srs], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) |
| 216 | 69 | ||
| 217 | -```bash | 70 | +``` |
| 218 | git clone https://github.com/simple-rtmp-server/srs.git | 71 | git clone https://github.com/simple-rtmp-server/srs.git |
| 219 | ``` | 72 | ``` |
| 220 | 73 | ||
| 221 | -CSDN: [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) , | ||
| 222 | -the GIT usage( | ||
| 223 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git), | ||
| 224 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git) | ||
| 225 | -) | 74 | +CSDN: [https://code.csdn.net/winlinvip/srs-csdn][csdn], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) |
| 226 | 75 | ||
| 227 | -```bash | 76 | +``` |
| 228 | git clone https://code.csdn.net/winlinvip/srs-csdn.git | 77 | git clone https://code.csdn.net/winlinvip/srs-csdn.git |
| 229 | ``` | 78 | ``` |
| 230 | 79 | ||
| 231 | -OSChina: [http://git.oschina.net/winlinvip/srs.oschina](http://git.oschina.net/winlinvip/srs.oschina) , | ||
| 232 | -the GIT usage( | ||
| 233 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git), | ||
| 234 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git) | ||
| 235 | -) | 80 | +OSChina: [http://git.oschina.net/winlinvip/srs.oschina][oschina], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) |
| 236 | 81 | ||
| 237 | -```bash | 82 | +``` |
| 238 | git clone https://git.oschina.net/winlinvip/srs.oschina.git | 83 | git clone https://git.oschina.net/winlinvip/srs.oschina.git |
| 239 | ``` | 84 | ``` |
| 240 | 85 | ||
| 241 | -Gitlab: [https://gitlab.com/winlinvip/srs-gitlab](https://gitlab.com/winlinvip/srs-gitlab) , | ||
| 242 | -the GIT usage( | ||
| 243 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git), | ||
| 244 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git) | ||
| 245 | -) | 86 | +Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) |
| 246 | 87 | ||
| 247 | -```bash | 88 | +``` |
| 248 | git clone https://gitlab.com/winlinvip/srs-gitlab.git | 89 | git clone https://gitlab.com/winlinvip/srs-gitlab.git |
| 249 | ``` | 90 | ``` |
| 250 | 91 | ||
| @@ -274,82 +115,43 @@ cd simple-rtmp-server/trunk | @@ -274,82 +115,43 @@ cd simple-rtmp-server/trunk | ||
| 274 | </pre> | 115 | </pre> |
| 275 | 116 | ||
| 276 | <strong>See also:</strong> | 117 | <strong>See also:</strong> |
| 277 | -* Usage: How to delivery RTMP?( | ||
| 278 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRTMP), | ||
| 279 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRTMP) | ||
| 280 | -) | ||
| 281 | -* Usage: How to delivery HLS?( | ||
| 282 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHLS), | ||
| 283 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHLS) | ||
| 284 | -) | ||
| 285 | -* Usage: How to delivery HLS for other codec?( | ||
| 286 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleTranscode2HLS), | ||
| 287 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleTranscode2HLS) | ||
| 288 | -) | ||
| 289 | -* Usage: How to transode RTMP stream by SRS?( | ||
| 290 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleFFMPEG), | ||
| 291 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleFFMPEG) | ||
| 292 | -) | ||
| 293 | -* Usage: How to forward stream to other server?( | ||
| 294 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleForward), | ||
| 295 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleForward) | ||
| 296 | -) | ||
| 297 | -* Usage: How to deploy low lantency application?( | ||
| 298 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRealtime), | ||
| 299 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRealtime) | ||
| 300 | -) | ||
| 301 | -* Usage: How to deploy SRS on ARM?( | ||
| 302 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleARM), | ||
| 303 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleARM) | ||
| 304 | -) | ||
| 305 | -* Usage: How to ingest file/stream/device to SRS?( | ||
| 306 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleIngest), | ||
| 307 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleIngest) | ||
| 308 | -) | ||
| 309 | -* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?( | ||
| 310 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHTTP), | ||
| 311 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHTTP) | ||
| 312 | -) | ||
| 313 | -* Usage: How to show the demo of SRS?( | ||
| 314 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo), | ||
| 315 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo) | ||
| 316 | -) | ||
| 317 | -* Usage: How to publish h.264 raw stream to SRS?( | ||
| 318 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data), | ||
| 319 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data) | ||
| 320 | -) | ||
| 321 | -* Usage: Solution using SRS?( | ||
| 322 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Sample), | ||
| 323 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Sample) | ||
| 324 | -) | ||
| 325 | -* Usage: Why SRS?( | ||
| 326 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product), | ||
| 327 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Product) | ||
| 328 | -) | 118 | +* Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP], [EN][v1_EN_SampleRTMP]) |
| 119 | +* Usage: How to delivery HTTP FLV Live Streaming?([CN][v2_CN_SampleHttpFlv], [EN][v2_EN_SampleHttpFlv]) | ||
| 120 | +* Usage: How to delivery HLS?([CN][v1_CN_SampleHLS], [EN][v1_EN_SampleHLS]) | ||
| 121 | +* Usage: How to delivery HLS for other codec?([CN][v1_CN_SampleTranscode2HLS], [EN][v1_EN_SampleTranscode2HLS]) | ||
| 122 | +* Usage: How to transode RTMP stream by SRS?([CN][v1_CN_SampleFFMPEG], [EN][v1_EN_SampleFFMPEG]) | ||
| 123 | +* Usage: How to forward stream to other server?([CN][v1_CN_SampleForward], [EN][v1_EN_SampleForward]) | ||
| 124 | +* Usage: How to deploy low lantency application?([CN][v2_CN_SampleRealtime], [EN][v2_EN_SampleRealtime]) | ||
| 125 | +* Usage: How to deploy SRS on ARM?([CN][v1_CN_SampleARM], [EN][v1_EN_SampleARM]) | ||
| 126 | +* Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_SampleIngest], [EN][v1_EN_SampleIngest]) | ||
| 127 | +* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) | ||
| 128 | +* Usage: How to show the demo of [CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) | ||
| 129 | +* Usage: How to publish h.264 raw stream to [CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) | ||
| 130 | +* Usage: Solution using SRS?([CN][v1_CN_Sample], [EN][v1_EN_Sample]) | ||
| 131 | +* Usage: Why SRS?([CN][v1_CN_Product], [EN][v1_EN_Product]) | ||
| 329 | 132 | ||
| 330 | ## Wiki | 133 | ## Wiki |
| 331 | 134 | ||
| 332 | SRS 1.0 wiki | 135 | SRS 1.0 wiki |
| 333 | 136 | ||
| 334 | Please select your language: | 137 | Please select your language: |
| 335 | -* [SRS 1.0 English](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home) | ||
| 336 | -* [SRS 1.0 Chinese](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Home) | 138 | +* [SRS 1.0 English][v1_EN_Home] |
| 139 | +* [SRS 1.0 Chinese][v1_CN_Home] | ||
| 337 | 140 | ||
| 338 | SRS 2.0 wiki | 141 | SRS 2.0 wiki |
| 339 | 142 | ||
| 340 | Please select your language: | 143 | Please select your language: |
| 341 | -* [SRS 2.0 English](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Home) | ||
| 342 | -* [SRS 2.0 Chinese](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Home) | 144 | +* [SRS 2.0 English][v2_EN_Home] |
| 145 | +* [SRS 2.0 Chinese][v2_CN_Home] | ||
| 343 | 146 | ||
| 344 | ## Donation | 147 | ## Donation |
| 345 | 148 | ||
| 346 | Donation:<br/> | 149 | Donation:<br/> |
| 347 | -[http://winlinvip.github.io/srs.release/donation/index.html](http://winlinvip.github.io/srs.release/donation/index.html) OR <br/> | ||
| 348 | -[http://www.ossrs.net/srs.release/donation/index.html](http://www.ossrs.net/srs.release/donation/index.html) | 150 | +[http://winlinvip.github.io/srs.release/donation/index.html][donation0] OR <br/> |
| 151 | +[http://www.ossrs.net/srs.release/donation/index.html][donation1] | ||
| 349 | 152 | ||
| 350 | Donations:<br/> | 153 | Donations:<br/> |
| 351 | -[https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt] | ||
| 352 | -(https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt) | 154 | +[https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt][donations] |
| 353 | 155 | ||
| 354 | ## System Requirements | 156 | ## System Requirements |
| 355 | Supported operating systems and hardware: | 157 | Supported operating systems and hardware: |
| @@ -357,177 +159,64 @@ Supported operating systems and hardware: | @@ -357,177 +159,64 @@ Supported operating systems and hardware: | ||
| 357 | * Apple OSX(Darwin), both 32 and 64bits. | 159 | * Apple OSX(Darwin), both 32 and 64bits. |
| 358 | * All hardware with x86/x86_64/arm/mips cpu. | 160 | * All hardware with x86/x86_64/arm/mips cpu. |
| 359 | 161 | ||
| 360 | -## Summary | 162 | +## Features |
| 163 | + | ||
| 361 | 1. Simple, also stable enough. | 164 | 1. Simple, also stable enough. |
| 362 | -1. High-performance( | ||
| 363 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance), | ||
| 364 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Performance) | ||
| 365 | -): single-thread, async socket, event/st-thread driven. | ||
| 366 | -1. High-concurrency( | ||
| 367 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance), | ||
| 368 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Performance) | ||
| 369 | -), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB | ||
| 370 | -1. Support RTMP Origin Server( | ||
| 371 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), | ||
| 372 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP) | ||
| 373 | -) | ||
| 374 | -1. Support RTMP Edge Server( | ||
| 375 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Edge), | ||
| 376 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Edge) | ||
| 377 | -) for CDN, push/pull stream from any RTMP server | 165 | +1. High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event/st-thread driven. |
| 166 | +1. High-concurrency([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB | ||
| 167 | +1. Support RTMP Origin Server([CN][v1_CN_DeliveryRTMP],[EN][v1_EN_DeliveryRTMP]) | ||
| 168 | +1. Support RTMP Edge Server([CN][v1_CN_Edge], [EN][v1_EN_Edge]) for CDN, push/pull stream from any RTMP server | ||
| 378 | 1. Support single process; no multiple processes. | 169 | 1. Support single process; no multiple processes. |
| 379 | -1. Support Vhost( | ||
| 380 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RtmpUrlVhost), | ||
| 381 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RtmpUrlVhost) | ||
| 382 | -), support \_\_defaultVhost\_\_. | ||
| 383 | -1. Support RTMP( | ||
| 384 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP), | ||
| 385 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP) | ||
| 386 | -) live streaming; no vod streaming. | ||
| 387 | -1. Support Apple HLS(m3u8)( | ||
| 388 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS), | ||
| 389 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS) | ||
| 390 | -) live streaming. | ||
| 391 | -1. Support HLS audio-only( | ||
| 392 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS#hlsaudioonly), | ||
| 393 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS#hlsaudioonly) | ||
| 394 | -) live streaming. | ||
| 395 | -1. Support Reload( | ||
| 396 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Reload), | ||
| 397 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Reload) | ||
| 398 | -) config to enable changes. | ||
| 399 | -1. Support cache last gop( | ||
| 400 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LowLatency#gop-cache), | ||
| 401 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LowLatency#gop-cache) | ||
| 402 | -) for flash player to fast startup. | 170 | +1. Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]), support \_\_defaultVhost\_\_. |
| 171 | +1. Support RTMP([CN][v1_CN_DeliveryRTMP], [EN][v1_EN_DeliveryRTMP]) live streaming; no vod streaming. | ||
| 172 | +1. Support Apple HLS(m3u8)([CN][v1_CN_DeliveryHLS], [EN][v1_EN_DeliveryHLS]) live streaming. | ||
| 173 | +1. Support HLS audio-only([CN][v1_CN_DeliveryHLS2], [EN][v1_EN_DeliveryHLS2]) live streaming. | ||
| 174 | +1. Support Reload([CN][v1_CN_Reload], [EN][v1_EN_Reload]) config to enable changes. | ||
| 175 | +1. Support cache last gop([CN][v1_CN_LowLatency2], [EN][v1_EN_LowLatency2]) for flash player to fast startup. | ||
| 403 | 1. Support listen at multiple ports. | 176 | 1. Support listen at multiple ports. |
| 404 | 1. Support long time(>4.6hours) publish/play. | 177 | 1. Support long time(>4.6hours) publish/play. |
| 405 | -1. Support Forward( | ||
| 406 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Forward), | ||
| 407 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Forward) | ||
| 408 | -) in master-slave mode. | ||
| 409 | -1. Support live stream Transcoding( | ||
| 410 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), | ||
| 411 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) | ||
| 412 | -) by ffmpeg. | ||
| 413 | -1. Support ffmpeg( | ||
| 414 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), | ||
| 415 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) | ||
| 416 | -) filters(logo/overlay/crop), x264 params, copy/vn/an. | ||
| 417 | -1. Support audio transcode( | ||
| 418 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG), | ||
| 419 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG) | ||
| 420 | -) only, speex/mp3 to aac | ||
| 421 | -1. Support http callback api hooks( | ||
| 422 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPCallback), | ||
| 423 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPCallback) | ||
| 424 | -)(for authentication and injection). | ||
| 425 | -1. Support bandwidth test( | ||
| 426 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_BandwidthTestTool), | ||
| 427 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_BandwidthTestTool) | ||
| 428 | -) api and flash client. | ||
| 429 | -1. Player, publisher(encoder), and demo pages(jquery+bootstrap)( | ||
| 430 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo), | ||
| 431 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo) | ||
| 432 | -). | ||
| 433 | -1. Demo( | ||
| 434 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo), | ||
| 435 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo) | ||
| 436 | -) video meeting or chat(SRS+cherrypy+jquery+bootstrap). | ||
| 437 | -1. Full documents in wiki( | ||
| 438 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Home), | ||
| 439 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home) | ||
| 440 | -), both Chinese and English. | ||
| 441 | -1. Support RTMP(play-publish) library: srs-librtmp( | ||
| 442 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp), | ||
| 443 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp) | ||
| 444 | -) | ||
| 445 | -1. Support ARM cpu arch( | ||
| 446 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm), | ||
| 447 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLinuxArm) | ||
| 448 | -) with rtmp/ssl/hls/librtmp. | ||
| 449 | -1. Support init.d( | ||
| 450 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LinuxService), | ||
| 451 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LinuxService) | ||
| 452 | -) and packge script, log to file. | ||
| 453 | -1. Support RTMP ATC( | ||
| 454 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RTMP-ATC), | ||
| 455 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RTMP-ATC) | ||
| 456 | -) for HLS/HDS to support backup(failover) | ||
| 457 | -1. Support HTTP RESTful management api( | ||
| 458 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPApi), | ||
| 459 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPApi) | ||
| 460 | -). | ||
| 461 | -1. Support Ingest( | ||
| 462 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest), | ||
| 463 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Ingest) | ||
| 464 | -) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg). | ||
| 465 | -1. Support DVR( | ||
| 466 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR), | ||
| 467 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DVR) | ||
| 468 | -), record live to flv file for vod. | ||
| 469 | -1. Support tracable log, session based log( | ||
| 470 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog), | ||
| 471 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLog) | ||
| 472 | -). | ||
| 473 | -1. Support DRM token traverse( | ||
| 474 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse), | ||
| 475 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DRM#tokentraverse) | ||
| 476 | -) for fms origin authenticate. | 178 | +1. Support Forward([CN][v1_CN_Forward], [EN][v1_EN_Forward]) in master-slave mode. |
| 179 | +1. Support live stream Transcoding([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) by ffmpeg. | ||
| 180 | +1. Support ffmpeg([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) filters(logo/overlay/crop), x264 params, copy/vn/an. | ||
| 181 | +1. Support audio transcode([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) only, speex/mp3 to aac | ||
| 182 | +1. Support http callback api hooks([CN][v1_CN_HTTPCallback], [EN][v1_EN_HTTPCallback])(for authentication and injection). | ||
| 183 | +1. Support bandwidth test([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]) api and flash client. | ||
| 184 | +1. Player, publisher(encoder), and demo pages(jquery+bootstrap)([CN][v1_CN_SampleDemo],[EN][v1_EN_SampleDemo]). | ||
| 185 | +1. Demo([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) video meeting or chat(SRS+cherrypy+jquery+bootstrap). | ||
| 186 | +1. Full documents in wiki([CN][v1_CN_Home], [EN][v1_EN_Home]), both Chinese and English. | ||
| 187 | +1. Support RTMP(play-publish) library: srs-librtmp([CN][v2_CN_SrsLibrtmp], [EN][v2_EN_SrsLibrtmp]) | ||
| 188 | +1. Support ARM cpu arch([CN][v1_CN_SrsLinuxArm], [EN][v1_EN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp. | ||
| 189 | +1. Support init.d([CN][v1_CN_LinuxService], [EN][v1_EN_LinuxService]) and packge script, log to file. | ||
| 190 | +1. Support RTMP ATC([CN][v1_CN_RTMP-ATC], [EN][v1_EN_RTMP-ATC]) for HLS/HDS to support backup(failover) | ||
| 191 | +1. Support HTTP RESTful management api([CN][v1_CN_HTTPApi], [EN][v1_EN_HTTPApi]). | ||
| 192 | +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). | ||
| 193 | +1. Support DVR([CN][v1_CN_DVR], [EN][v1_EN_DVR]), record live to flv file for vod. | ||
| 194 | +1. Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]). | ||
| 195 | +1. Support DRM token traverse([CN][v1_CN_DRM2], [EN][v1_EN_DRM2]) for fms origin authenticate. | ||
| 477 | 1. Support system full utest on gtest. | 196 | 1. Support system full utest on gtest. |
| 478 | -1. Support embeded HTTP server( | ||
| 479 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHTTP), | ||
| 480 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHTTP) | ||
| 481 | -) for hls(live/vod) | ||
| 482 | -1. Support vod stream(http flv/hls vod stream)( | ||
| 483 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_FlvVodStream), | ||
| 484 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_FlvVodStream) | ||
| 485 | -). | 197 | +1. Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for hls(live/vod) |
| 198 | +1. Support vod stream(http flv/hls vod stream)([CN][v2_CN_FlvVodStream], [EN][v2_EN_FlvVodStream]). | ||
| 486 | 1. Stable [1.0release branch](https://github.com/simple-rtmp-server/srs/tree/1.0release). | 199 | 1. Stable [1.0release branch](https://github.com/simple-rtmp-server/srs/tree/1.0release). |
| 487 | -1. Support publish h264 raw stream( | ||
| 488 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data), | ||
| 489 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data) | ||
| 490 | -) by srs-librtmp. | ||
| 491 | -1. Support [6k+ clients](https://github.com/simple-rtmp-server/srs/issues/194), 3Gbps per process. | ||
| 492 | -1. Suppport [English wiki](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home). | ||
| 493 | -1. Research and simplify st, [bug #182](https://github.com/simple-rtmp-server/srs/issues/182). | ||
| 494 | -1. Support compile [srs-librtmp on windows](https://github.com/winlinvip/srs.librtmp), | ||
| 495 | -[bug #213](https://github.com/simple-rtmp-server/srs/issues/213). | ||
| 496 | -1. Support [10k+ clients](https://github.com/simple-rtmp-server/srs/issues/251), 4Gbps per process. | ||
| 497 | -1. Support publish aac adts raw stream( | ||
| 498 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-audio-raw-stream), | ||
| 499 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-audio-raw-stream) | ||
| 500 | -) by srs-librtmp. | ||
| 501 | -1. Support 0.1s+ latency, read [#257](https://github.com/simple-rtmp-server/srs/issues/257). | ||
| 502 | -1. Support allow/deny publish/play for all or specified ip( | ||
| 503 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Security), | ||
| 504 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Security) | ||
| 505 | -). | ||
| 506 | -1. Support custom dvr path and http callback, read | ||
| 507 | -[#179](https://github.com/simple-rtmp-server/srs/issues/179) and | ||
| 508 | -[274](https://github.com/simple-rtmp-server/srs/issues/274). | ||
| 509 | -1. Support rtmp remux to http flv/mp3/aac/ts live stream, read | ||
| 510 | -[#293](https://github.com/simple-rtmp-server/srs/issues/293)( | ||
| 511 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream), | ||
| 512 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream) | ||
| 513 | -). | ||
| 514 | -1. Support HLS(h.264+mp3) streaming, read | ||
| 515 | -[#301](https://github.com/simple-rtmp-server/srs/issues/301). | ||
| 516 | -1. Rewrite HLS(h.264+aac/mp3) streaming, read | ||
| 517 | -[#304](https://github.com/simple-rtmp-server/srs/issues/304). | ||
| 518 | -1. Support Adobe HDS(f4m)( | ||
| 519 | -[CN](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHDS), | ||
| 520 | -[EN](https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS) | ||
| 521 | -) dynamic streaming. | ||
| 522 | -1. [experiment] Support push MPEG-TS over UDP to SRS, read | ||
| 523 | -[#250](https://github.com/simple-rtmp-server/srs/issues/250). | ||
| 524 | -1. [experiment] Support push RTSP to SRS, read | ||
| 525 | -[#133](https://github.com/simple-rtmp-server/srs/issues/133). | ||
| 526 | -1. [experiment] Support push flv stream over HTTP POST to SRS, read | ||
| 527 | -[wiki](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs). | ||
| 528 | -1. Start [2.0release branch](https://github.com/simple-rtmp-server/srs/tree/2.0release). | 200 | +1. Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp. |
| 201 | +1. Support [6k+ clients][bug #194], 3Gbps per process. | ||
| 202 | +1. Suppport [English wiki][v1_EN_Home). | ||
| 203 | +1. Research and simplify st, [bug #182][bug #182]. | ||
| 204 | +1. Support compile [srs-librtmp on windows](https://github.com/winlinvip/srs.librtmp), [bug #213][bug #213]. | ||
| 205 | +1. Support [10k+ clients][bug #251], 4Gbps per process. | ||
| 206 | +1. Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp. | ||
| 207 | +1. Support 0.1s+ latency, read [bug #257][bug #257]. | ||
| 208 | +1. Support allow/deny publish/play for all or specified ip([CN][v2_CN_Security], [EN][v2_EN_Security]). | ||
| 209 | +1. Support custom dvr path and http callback, read [bug #179][bug #179] and [bug #274][bug #274]. | ||
| 210 | +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]). | ||
| 211 | +1. Support HLS(h.264+mp3) streaming, read [bug #301][bug #301]. | ||
| 212 | +1. Rewrite HLS(h.264+aac/mp3) streaming, read [bug #304][bug #304]. | ||
| 213 | +1. Support Adobe HDS(f4m)([CN][v1_CN_DeliveryHDS], [EN][v1_EN_DeliveryHDS]) dynamic streaming. | ||
| 214 | +1. [dev] Realease [2.0release branch][branch2]. | ||
| 215 | +1. [experiment] Support push MPEG-TS over UDP to SRS, read [bug #250][bug #250]. | ||
| 216 | +1. [experiment] Support push RTSP to SRS, read [bug #133][bug #133]. | ||
| 217 | +1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]). | ||
| 529 | 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). | 218 | 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). |
| 530 | -1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/simple-rtmp-server/srs/issues/92). | 219 | +1. [no-plan] Support RTMP 302 redirect [bug #92][bug #92]. |
| 531 | 1. [no-plan] Support multiple processes, for both origin and edge | 220 | 1. [no-plan] Support multiple processes, for both origin and edge |
| 532 | 1. [no-plan] Support adobe RTMFP(flash p2p) protocol. | 221 | 1. [no-plan] Support adobe RTMFP(flash p2p) protocol. |
| 533 | 1. [no-plan] Support adobe flash refer/token/swf verification. | 222 | 1. [no-plan] Support adobe flash refer/token/swf verification. |
| @@ -536,6 +225,89 @@ Supported operating systems and hardware: | @@ -536,6 +225,89 @@ Supported operating systems and hardware: | ||
| 536 | 1. [no-plan] Support RTMPT, http to tranverse firewalls | 225 | 1. [no-plan] Support RTMPT, http to tranverse firewalls |
| 537 | 1. [no-plan] Support file source, transcoding file to live stream | 226 | 1. [no-plan] Support file source, transcoding file to live stream |
| 538 | 227 | ||
| 228 | +## Compare | ||
| 229 | + | ||
| 230 | +Compare SRS with other media server. | ||
| 231 | + | ||
| 232 | +### Stream Delivery | ||
| 233 | + | ||
| 234 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 235 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 236 | +| RTMP | Stable | Stable | Stable | Stable | Stable | | ||
| 237 | +| HLS | Stable | Stable | X | Stable | Stable | | ||
| 238 | +| HDS | Stable | X | X | Stable | Stable | | ||
| 239 | +| HTTP FLV | Stable | X | X | X | X | | ||
| 240 | +| HLS(aonly) | Stable | X | X | Stable | Stable | | ||
| 241 | +| HTTP Server | Stable | Stable | X | X | Stable | | ||
| 242 | + | ||
| 243 | +### Cluster | ||
| 244 | + | ||
| 245 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 246 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 247 | +| RTMP Edge | Stable | X | X | Stable | X | | ||
| 248 | +| RTMP Backup | Stable | X | X | X | X | | ||
| 249 | +| VHOST | Stable | X | X | Stable | Stable | | ||
| 250 | +| Reload | Stable | Stable | X | X | X | | ||
| 251 | +| Forward | Stable | X | X | X | X | | ||
| 252 | +| ATC | Stable | X | X | X | X | | ||
| 253 | + | ||
| 254 | +### Stream Service | ||
| 255 | + | ||
| 256 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 257 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 258 | +| DVR | Stable | Stable | X | X | Stable | | ||
| 259 | +| Transcode | Stable | X | X | X | Stable | | ||
| 260 | +| HTTP API | Stable | Stable | X | X | Stable | | ||
| 261 | +| HTTP hooks | Stable | X | X | X | X | | ||
| 262 | +| GopCache | Stable | X | X | Stable | X | | ||
| 263 | +| Security | Stable | Stable | X | X | Stable | | ||
| 264 | +| Token Traverse| Stable | X | X | Stable | X | | ||
| 265 | + | ||
| 266 | +### Performance | ||
| 267 | + | ||
| 268 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 269 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 270 | +| Concurrency | 7.5k | 3k | 2k | 2k | 3k | | ||
| 271 | +| RTMP Latency| 0.1s | 3s | 3s | 3s | 3s | | ||
| 272 | +| HLS Latency | 10s | 30s | X | 30s | 30s | | ||
| 273 | + | ||
| 274 | +### Stream Caster | ||
| 275 | + | ||
| 276 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 277 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 278 | +| Ingest | Stable | X | X | X | X | | ||
| 279 | +| Push MPEGTS | Experiment| X | X | X | Stable | | ||
| 280 | +| Push RTSP | Experiment| X | Stable | X | Stable | | ||
| 281 | +| Push HTTP FLV | Experiment| X | X | X | X | | ||
| 282 | + | ||
| 283 | +### Debug System | ||
| 284 | + | ||
| 285 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 286 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 287 | +| BW check | Stable | X | X | X | X | | ||
| 288 | +| Tracable Log | Stable | X | X | X | X | | ||
| 289 | + | ||
| 290 | +### Docs | ||
| 291 | + | ||
| 292 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 293 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 294 | +| Demos | Stable | X | X | X | X | | ||
| 295 | +| WIKI(EN+CN) | Stable | EN only | X | X | Stable | | ||
| 296 | + | ||
| 297 | +### Others | ||
| 298 | + | ||
| 299 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 300 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 301 | +| ARM/MIPS | Stable | Stable | X | X | X | | ||
| 302 | +| Client Library| Stable | X | X | X | X | | ||
| 303 | + | ||
| 304 | +Remark: | ||
| 305 | + | ||
| 306 | +1. Concurrency: The concurrency of single process. | ||
| 307 | +1. HLS aonly: The HLS audio only streaming delivery. | ||
| 308 | +1. BW check: The bandwidth check. | ||
| 309 | +1. Security: To allow or deny stream publish or play. | ||
| 310 | + | ||
| 539 | ## Releases | 311 | ## Releases |
| 540 | 312 | ||
| 541 | * 2015-05-23, [Release v1.0r4](https://github.com/simple-rtmp-server/srs/releases/tag/1.0r4), bug fixed, 1.0.32, 59509 lines.<br/> | 313 | * 2015-05-23, [Release v1.0r4](https://github.com/simple-rtmp-server/srs/releases/tag/1.0r4), bug fixed, 1.0.32, 59509 lines.<br/> |
| @@ -905,222 +677,37 @@ Performance benchmark history, on virtual box. | @@ -905,222 +677,37 @@ Performance benchmark history, on virtual box. | ||
| 905 | 677 | ||
| 906 | The play benchmark by [st-load](https://github.com/winlinvip/st-load): | 678 | The play benchmark by [st-load](https://github.com/winlinvip/st-load): |
| 907 | 679 | ||
| 908 | -<table> | ||
| 909 | - <tr> | ||
| 910 | - <th>Update</th> | ||
| 911 | - <th>SRS</th> | ||
| 912 | - <th>Clients</th> | ||
| 913 | - <th>Type</th> | ||
| 914 | - <th>CPU</th> | ||
| 915 | - <th>Memory</th> | ||
| 916 | - <th>Commit</th> | ||
| 917 | - </tr> | ||
| 918 | - <tr> | ||
| 919 | - <td>2013-11-28</td> | ||
| 920 | - <td>0.5.0</td> | ||
| 921 | - <td>1.8k(1800)</td> | ||
| 922 | - <td>players</td> | ||
| 923 | - <td>90%</td> | ||
| 924 | - <td>41MB</td> | ||
| 925 | - <td>-</td> | ||
| 926 | - </tr> | ||
| 927 | - <tr> | ||
| 928 | - <td>2014-07-12</td> | ||
| 929 | - <td>0.9.156</td> | ||
| 930 | - <td>1.8k(1800)</td> | ||
| 931 | - <td>players</td> | ||
| 932 | - <td>68%</td> | ||
| 933 | - <td>38MB</td> | ||
| 934 | - <td>-</td> | ||
| 935 | - </tr> | ||
| 936 | - <tr> | ||
| 937 | - <td>2014-07-12</td> | ||
| 938 | - <td>0.9.156</td> | ||
| 939 | - <td>2.7k(2700)</td> | ||
| 940 | - <td>players</td> | ||
| 941 | - <td>89%</td> | ||
| 942 | - <td>61MB</td> | ||
| 943 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/1ae3e6c64cc5cee90e6050c26968ebc3c18281be">commit</a></td> | ||
| 944 | - </tr> | ||
| 945 | - <tr> | ||
| 946 | - <td>2014-11-11</td> | ||
| 947 | - <td>1.0.5</td> | ||
| 948 | - <td>2.7k(2700)</td> | ||
| 949 | - <td>players</td> | ||
| 950 | - <td>85%</td> | ||
| 951 | - <td>66MB</td> | ||
| 952 | - <td>-</td> | ||
| 953 | - </tr> | ||
| 954 | - <tr> | ||
| 955 | - <td>2014-11-11</td> | ||
| 956 | - <td>2.0.12</td> | ||
| 957 | - <td>2.7k(2700)</td> | ||
| 958 | - <td>players</td> | ||
| 959 | - <td>85%</td> | ||
| 960 | - <td>66MB</td> | ||
| 961 | - <td>-</td> | ||
| 962 | - </tr> | ||
| 963 | - <tr> | ||
| 964 | - <td>2014-11-12</td> | ||
| 965 | - <td>2.0.14</td> | ||
| 966 | - <td>2.7k(2700)</td> | ||
| 967 | - <td>players</td> | ||
| 968 | - <td>69%</td> | ||
| 969 | - <td>59MB</td> | ||
| 970 | - <td>-</td> | ||
| 971 | - </tr> | ||
| 972 | - <tr> | ||
| 973 | - <td>2014-11-12</td> | ||
| 974 | - <td>2.0.14</td> | ||
| 975 | - <td>3.5k(3500)</td> | ||
| 976 | - <td>players</td> | ||
| 977 | - <td>95%</td> | ||
| 978 | - <td>78MB</td> | ||
| 979 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/8acd143a7a152885b815999162660fd4e7a3f247">commit</a></td> | ||
| 980 | - </tr> | ||
| 981 | - <tr> | ||
| 982 | - <td>2014-11-13</td> | ||
| 983 | - <td>2.0.15</td> | ||
| 984 | - <td>6.0k(6000)</td> | ||
| 985 | - <td>players</td> | ||
| 986 | - <td>82%</td> | ||
| 987 | - <td>203MB</td> | ||
| 988 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/cc6aca9ad55342a06440ce7f3b38453776b2b2d1">commit</a></td> | ||
| 989 | - </tr> | ||
| 990 | - <tr> | ||
| 991 | - <td>2014-11-22</td> | ||
| 992 | - <td>2.0.30</td> | ||
| 993 | - <td>7.5k(7500)</td> | ||
| 994 | - <td>players</td> | ||
| 995 | - <td>87%</td> | ||
| 996 | - <td>320MB</td> | ||
| 997 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/58136ec178e3d47db6c90a59875d7e40946936e5">commit</a></td> | ||
| 998 | - </tr> | ||
| 999 | - <tr> | ||
| 1000 | - <td>2014-12-05</td> | ||
| 1001 | - <td>2.0.55</td> | ||
| 1002 | - <td>8.0k(8000)</td> | ||
| 1003 | - <td>players</td> | ||
| 1004 | - <td>89%</td> | ||
| 1005 | - <td>360MB</td> | ||
| 1006 | - <td>(mw_sleep=350)<br/><a href="https://github.com/simple-rtmp-server/srs/commit/58136ec178e3d47db6c90a59875d7e40946936e5">commit</a></td> | ||
| 1007 | - </tr> | ||
| 1008 | - <tr> | ||
| 1009 | - <td>2014-12-05</td> | ||
| 1010 | - <td>2.0.57</td> | ||
| 1011 | - <td>9.0k(9000)</td> | ||
| 1012 | - <td>players</td> | ||
| 1013 | - <td>90%</td> | ||
| 1014 | - <td>468MB</td> | ||
| 1015 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/9ee138746f83adc26f0e236ec017f4d68a300004">commit</a></td> | ||
| 1016 | - </tr> | ||
| 1017 | - <tr> | ||
| 1018 | - <td>2014-12-07</td> | ||
| 1019 | - <td>2.0.67</td> | ||
| 1020 | - <td>10k(10000)</td> | ||
| 1021 | - <td>players</td> | ||
| 1022 | - <td>95%</td> | ||
| 1023 | - <td>656MB</td> | ||
| 1024 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/1311b6fe6576fd7b9c6d299b0f8f2e8d202f4bf8">commit</a></td> | ||
| 1025 | - </tr> | ||
| 1026 | -</table> | 680 | + |
| 681 | +| Update | SRS | Clients | Type | CPU | Memory | Commit | | ||
| 682 | +| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------------ | | ||
| 683 | +| 2013-11-28 | 0.5.0 | 1.8k(1800) | players | 90% | 41M | - | | ||
| 684 | +| 2014-07-12 | 0.9.156 | 1.8k(1800) | players | 68% | 38MB | - | | ||
| 685 | +| 2014-07-12 | 0.9.156 | 2.7k(2700) | players | 89% | 61MB | [code][p6] | | ||
| 686 | +| 2014-11-11 | 1.0.5 | 2.7k(2700) | players | 85% | 66MB | - | | ||
| 687 | +| 2014-11-11 | 2.0.12 | 2.7k(2700) | players | 85% | 66MB | - | | ||
| 688 | +| 2014-11-12 | 2.0.14 | 2.7k(2700) | players | 69% | 59MB | - | | ||
| 689 | +| 2014-11-12 | 2.0.14 | 3.5k(3500) | players | 95% | 78MB | [code][p7] | | ||
| 690 | +| 2014-11-13 | 2.0.15 | 6.0k(6000) | players | 82% | 203MB | [code][p8] | | ||
| 691 | +| 2014-11-22 | 2.0.30 | 7.5k(7500) | players | 87% | 320MB | [code][p9] | | ||
| 692 | +| 2014-12-05 | 2.0.55 | 8.0k(8000) | players | 89% | 360MB | [code][p10] | | ||
| 693 | +| 2014-12-05 | 2.0.57 | 9.0k(9000) | players | 90% | 468MB | [code][p11] | | ||
| 694 | +| 2014-12-07 | 2.0.67 | 10k(10000) | players | 95% | 656MB | [code][p12] | | ||
| 1027 | 695 | ||
| 1028 | ### Publish benchmark | 696 | ### Publish benchmark |
| 1029 | 697 | ||
| 1030 | The publish benchmark by [st-load](https://github.com/winlinvip/st-load): | 698 | The publish benchmark by [st-load](https://github.com/winlinvip/st-load): |
| 1031 | 699 | ||
| 1032 | -<table> | ||
| 1033 | - <tr> | ||
| 1034 | - <th>Update</th> | ||
| 1035 | - <th>SRS</th> | ||
| 1036 | - <th>Clients</th> | ||
| 1037 | - <th>Type</th> | ||
| 1038 | - <th>CPU</th> | ||
| 1039 | - <th>Memory</th> | ||
| 1040 | - <th>Commit</th> | ||
| 1041 | - </tr> | ||
| 1042 | - <tr> | ||
| 1043 | - <td>2014-12-03</td> | ||
| 1044 | - <td>1.0.10</td> | ||
| 1045 | - <td>1.2k(1200)</td> | ||
| 1046 | - <td>publishers</td> | ||
| 1047 | - <td>96%</td> | ||
| 1048 | - <td>43MB</td> | ||
| 1049 | - <td>-</td> | ||
| 1050 | - </tr> | ||
| 1051 | - <tr> | ||
| 1052 | - <td>2014-12-03</td> | ||
| 1053 | - <td>2.0.12</td> | ||
| 1054 | - <td>1.2k(1200)</td> | ||
| 1055 | - <td>publishers</td> | ||
| 1056 | - <td>96%</td> | ||
| 1057 | - <td>43MB</td> | ||
| 1058 | - <td>-</td> | ||
| 1059 | - </tr> | ||
| 1060 | - <tr> | ||
| 1061 | - <td>2014-12-03</td> | ||
| 1062 | - <td>2.0.47</td> | ||
| 1063 | - <td>1.2k(1200)</td> | ||
| 1064 | - <td>publishers</td> | ||
| 1065 | - <td>84%</td> | ||
| 1066 | - <td>76MB</td> | ||
| 1067 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/787ab674e38734ea8e0678101614fdcd84645dc8">commit</a></td> | ||
| 1068 | - </tr> | ||
| 1069 | - <tr> | ||
| 1070 | - <td>2014-12-03</td> | ||
| 1071 | - <td>2.0.47</td> | ||
| 1072 | - <td>1.4k(1400)</td> | ||
| 1073 | - <td>publishers</td> | ||
| 1074 | - <td>95%</td> | ||
| 1075 | - <td>140MB</td> | ||
| 1076 | - <td>-</td> | ||
| 1077 | - </tr> | ||
| 1078 | - <tr> | ||
| 1079 | - <td>2014-12-03</td> | ||
| 1080 | - <td>2.0.48</td> | ||
| 1081 | - <td>1.4k(1400)</td> | ||
| 1082 | - <td>publishers</td> | ||
| 1083 | - <td>95%</td> | ||
| 1084 | - <td>140MB</td> | ||
| 1085 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/f35ec2155b1408d528a9f37da7904c9625186bcf">commit</a></td> | ||
| 1086 | - </tr> | ||
| 1087 | - <tr> | ||
| 1088 | - <td>2014-12-04</td> | ||
| 1089 | - <td>2.0.49</td> | ||
| 1090 | - <td>1.4k(1400)</td> | ||
| 1091 | - <td>publishers</td> | ||
| 1092 | - <td>68%</td> | ||
| 1093 | - <td>144MB</td> | ||
| 1094 | - <td>-</td> | ||
| 1095 | - </tr> | ||
| 1096 | - <tr> | ||
| 1097 | - <td>2014-12-04</td> | ||
| 1098 | - <td>2.0.49</td> | ||
| 1099 | - <td>2.5k(2500)</td> | ||
| 1100 | - <td>publishers</td> | ||
| 1101 | - <td>95%</td> | ||
| 1102 | - <td>404MB</td> | ||
| 1103 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/29324fab469e0f7cef9ad04ffdbce832ac7dd9ff">commit</a></td> | ||
| 1104 | - </tr> | ||
| 1105 | - <tr> | ||
| 1106 | - <td>2014-12-04</td> | ||
| 1107 | - <td>2.0.51</td> | ||
| 1108 | - <td>2.5k(2500)</td> | ||
| 1109 | - <td>publishers</td> | ||
| 1110 | - <td>91%</td> | ||
| 1111 | - <td>259MB</td> | ||
| 1112 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/f57801eb46c16755b173984b915a4166922df6a6">commit</a></td> | ||
| 1113 | - </tr> | ||
| 1114 | - <tr> | ||
| 1115 | - <td>2014-12-04</td> | ||
| 1116 | - <td>2.0.52</td> | ||
| 1117 | - <td>4.0k(4000)</td> | ||
| 1118 | - <td>publishers</td> | ||
| 1119 | - <td>80%</td> | ||
| 1120 | - <td>331MB</td> | ||
| 1121 | - <td>(mr_sleep=350)<br/><a href="https://github.com/simple-rtmp-server/srs/commit/5589b13d2e216b91f97afb78ee0c011b2fccf7da">commit</a></td> | ||
| 1122 | - </tr> | ||
| 1123 | -</table> | 700 | +| Update | SRS | Clients | Type | CPU | Memory | Commit | |
| 701 | +| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------------ | | ||
| 702 | +| 2014-12-03 | 1.0.10 | 1.2k(1200) | publishers | 96% | 43MB | - | | ||
| 703 | +| 2014-12-03 | 2.0.12 | 1.2k(1200) | publishers | 96% | 43MB | - | | ||
| 704 | +| 2014-12-03 | 2.0.47 | 1.2k(1200) | publishers | 84% | 76MB | [code][p1] | | ||
| 705 | +| 2014-12-03 | 2.0.47 | 1.4k(1400) | publishers | 95% | 140MB | - | | ||
| 706 | +| 2014-12-03 | 2.0.48 | 1.4k(1400 | publishers | 95% | 140MB | [code][p2] | | ||
| 707 | +| 2014-12-04 | 2.0.49 | 1.4k(1400) | publishers | 68% | 144MB | - | | ||
| 708 | +| 2014-12-04 | 2.0.49 | 2.5k(2500) | publishers | 95% | 404MB | [code][p3] | | ||
| 709 | +| 2014-12-04 | 2.0.51 | 2.5k(2500) | publishers | 91% | 259MB | [code][p4] | | ||
| 710 | +| 2014-12-04 | 2.0.52 | 4.0k(4000) | publishers | 80% | 331MB | [code][p5] | | ||
| 1124 | 711 | ||
| 1125 | ### Latency benchmark | 712 | ### Latency benchmark |
| 1126 | 713 | ||
| @@ -1129,40 +716,12 @@ The latency between encoder and player with realtime config( | @@ -1129,40 +716,12 @@ The latency between encoder and player with realtime config( | ||
| 1129 | [EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency) | 716 | [EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency) |
| 1130 | ): | 717 | ): |
| 1131 | 718 | ||
| 1132 | -<table> | ||
| 1133 | -<tr> | ||
| 1134 | - <th>Update</th> | ||
| 1135 | - <th>SRS</th> | ||
| 1136 | - <th>VP6</th> | ||
| 1137 | - <th>H.264</th> | ||
| 1138 | - <th>VP6+mp3</th> | ||
| 1139 | - <th>H.264+mp3</th> | ||
| 1140 | -</tr> | ||
| 1141 | -<tr> | ||
| 1142 | - <td>2014-12-03</td> | ||
| 1143 | - <td>1.0.10</td> | ||
| 1144 | - <td>0.4s</td> | ||
| 1145 | - <td>0.4s</td> | ||
| 1146 | - <td>0.9s</td> | ||
| 1147 | - <td>1.2s</td> | ||
| 1148 | -</tr> | ||
| 1149 | -<tr> | ||
| 1150 | - <td>2014-12-12</td> | ||
| 1151 | - <td>2.0.70</td> | ||
| 1152 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/10297fab519811845b549a8af40a6bcbd23411e8">0.1s</a></td> | ||
| 1153 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/10297fab519811845b549a8af40a6bcbd23411e8">0.4s</a></td> | ||
| 1154 | - <td>1.0s</td> | ||
| 1155 | - <td>0.9s</td> | ||
| 1156 | -</tr> | ||
| 1157 | -<tr> | ||
| 1158 | - <td>2014-12-16</td> | ||
| 1159 | - <td>2.0.72</td> | ||
| 1160 | - <td>0.1s</td> | ||
| 1161 | - <td>0.4s</td> | ||
| 1162 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc">0.8s</a></td> | ||
| 1163 | - <td><a href="https://github.com/simple-rtmp-server/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc">0.6s</a></td> | ||
| 1164 | -</tr> | ||
| 1165 | -</table> | 719 | + |
| 720 | +| Update | SRS | VP6 | H.264 | VP6+MP3 | H.264+MP3 | | ||
| 721 | +| ------------- | --------- | --------- | --------- | --------- | -------- | | ||
| 722 | +| 2014-12-03 | 1.0.10 | 0.4s | 0.4s | 0.9s | 1.2s | | ||
| 723 | +| 2014-12-12 | 2.0.70 |[0.1s][p13]|[0.4s][p14]| 1.0s | 0.9s | | ||
| 724 | +| 2014-12-16 | 2.0.72 | 0.1s | 0.4s |[0.8s][p15]|[0.6s][p16]| | ||
| 1166 | 725 | ||
| 1167 | We use FMLE as encoder for benchmark. The latency of server is 0.1s+, | 726 | We use FMLE as encoder for benchmark. The latency of server is 0.1s+, |
| 1168 | and the bottleneck is the encoder. For more information, read | 727 | and the bottleneck is the encoder. For more information, read |
| @@ -1248,3 +807,159 @@ over some protocol and remux to rtmp to SRS. Read <a href="https://github.com/si | @@ -1248,3 +807,159 @@ over some protocol and remux to rtmp to SRS. Read <a href="https://github.com/si | ||
| 1248 | Beijing, 2013.10<br/> | 807 | Beijing, 2013.10<br/> |
| 1249 | Winlin | 808 | Winlin |
| 1250 | 809 | ||
| 810 | +[p1]: https://github.com/simple-rtmp-server/srs/commit/787ab674e38734ea8e0678101614fdcd84645dc8 | ||
| 811 | +[p2]: https://github.com/simple-rtmp-server/srs/commit/f35ec2155b1408d528a9f37da7904c9625186bcf | ||
| 812 | +[p3]: https://github.com/simple-rtmp-server/srs/commit/29324fab469e0f7cef9ad04ffdbce832ac7dd9ff | ||
| 813 | +[p4]: https://github.com/simple-rtmp-server/srs/commit/f57801eb46c16755b173984b915a4166922df6a6 | ||
| 814 | +[p5]: https://github.com/simple-rtmp-server/srs/commit/5589b13d2e216b91f97afb78ee0c011b2fccf7da | ||
| 815 | +[p6]: https://github.com/simple-rtmp-server/srs/commit/1ae3e6c64cc5cee90e6050c26968ebc3c18281be | ||
| 816 | +[p7]: https://github.com/simple-rtmp-server/srs/commit/8acd143a7a152885b815999162660fd4e7a3f247 | ||
| 817 | +[p8]: https://github.com/simple-rtmp-server/srs/commit/cc6aca9ad55342a06440ce7f3b38453776b2b2d1 | ||
| 818 | +[p9]: https://github.com/simple-rtmp-server/srs/commit/58136ec178e3d47db6c90a59875d7e40946936e5 | ||
| 819 | +[p10]: https://github.com/simple-rtmp-server/srs/commit/58136ec178e3d47db6c90a59875d7e40946936e5 | ||
| 820 | +[p11]: https://github.com/simple-rtmp-server/srs/commit/9ee138746f83adc26f0e236ec017f4d68a300004 | ||
| 821 | +[p12]: https://github.com/simple-rtmp-server/srs/commit/1311b6fe6576fd7b9c6d299b0f8f2e8d202f4bf8 | ||
| 822 | +[p13]: https://github.com/simple-rtmp-server/srs/commit/10297fab519811845b549a8af40a6bcbd23411e8 | ||
| 823 | +[p14]: https://github.com/simple-rtmp-server/srs/commit/10297fab519811845b549a8af40a6bcbd23411e8 | ||
| 824 | +[p15]: https://github.com/simple-rtmp-server/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc | ||
| 825 | +[p16]: https://github.com/simple-rtmp-server/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc | ||
| 826 | + | ||
| 827 | +[authors]: https://github.com/simple-rtmp-server/srs/blob/develop/AUTHORS.txt | ||
| 828 | +[bigthanks]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#bigthanks | ||
| 829 | +[st]: https://github.com/winlinvip/state-threads | ||
| 830 | +[st2]: http://sourceforge.net/projects/state-threads/ | ||
| 831 | +[state-threads]: http://sourceforge.net/projects/state-threads/ | ||
| 832 | +[nginx-rtmp]: https://github.com/arut/nginx-rtmp-module | ||
| 833 | +[http-parser]: https://github.com/joyent/http-parser | ||
| 834 | +[nginx]: http://nginx.org/ | ||
| 835 | +[FFMPEG]: http://ffmpeg.org/ | ||
| 836 | +[libx264]: http://www.videolan.org/ | ||
| 837 | +[srs]: https://github.com/simple-rtmp-server/srs | ||
| 838 | +[csdn]: https://code.csdn.net/winlinvip/srs-csdn | ||
| 839 | +[oschina]: http://git.oschina.net/winlinvip/srs.oschina | ||
| 840 | +[gitlab]: https://gitlab.com/winlinvip/srs-gitlab | ||
| 841 | +[v1_CN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git | ||
| 842 | +[v1_EN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git | ||
| 843 | +[v1_CN_SampleRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRTMP | ||
| 844 | +[v1_EN_SampleRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleRTMP | ||
| 845 | +[v1_CN_SampleHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHLS | ||
| 846 | +[v1_EN_SampleHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHLS | ||
| 847 | +[v1_CN_SampleTranscode2HLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleTranscode2HLS | ||
| 848 | +[v1_EN_SampleTranscode2HLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleTranscode2HLS | ||
| 849 | +[v1_CN_SampleFFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleFFMPEG | ||
| 850 | +[v1_EN_SampleFFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleFFMPEG | ||
| 851 | +[v1_CN_SampleForward]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleForward | ||
| 852 | +[v1_EN_SampleForward]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleForward | ||
| 853 | +[v2_CN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleRealtime | ||
| 854 | +[v2_EN_SampleRealtime]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleRealtime | ||
| 855 | +[v1_CN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleARM | ||
| 856 | +[v1_EN_SampleARM]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleARM | ||
| 857 | +[v1_CN_SampleIngest]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleIngest | ||
| 858 | +[v1_EN_SampleIngest]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleIngest | ||
| 859 | +[v1_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHTTP | ||
| 860 | +[v1_EN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleHTTP | ||
| 861 | +[v1_CN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo | ||
| 862 | +[v1_EN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo | ||
| 863 | +[v2_CN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data | ||
| 864 | +[v2_EN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data | ||
| 865 | +[v1_CN_Sample]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Sample | ||
| 866 | +[v1_EN_Sample]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Sample | ||
| 867 | +[v1_CN_Product]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product | ||
| 868 | +[v1_EN_Product]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Product | ||
| 869 | +[v1_CN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Home | ||
| 870 | +[v1_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Home | ||
| 871 | +[v2_CN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Home | ||
| 872 | +[v2_EN_Home]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Home | ||
| 873 | +[donation0]: http://winlinvip.github.io/srs.release/donation/index.html | ||
| 874 | +[donation1]: http://www.ossrs.net/srs.release/donation/index.html | ||
| 875 | +[donations]: https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt | ||
| 876 | + | ||
| 877 | +[v1_CN_Performance]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance | ||
| 878 | +[v1_EN_Performance]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Performance | ||
| 879 | +[v1_CN_DeliveryRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryRTMP | ||
| 880 | +[v1_EN_DeliveryRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryRTMP | ||
| 881 | +[v1_CN_Edge]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Edge | ||
| 882 | +[v1_EN_Edge]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Edge | ||
| 883 | +[v1_CN_RtmpUrlVhost]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RtmpUrlVhost | ||
| 884 | +[v1_EN_RtmpUrlVhost]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RtmpUrlVhost | ||
| 885 | +[v1_CN_DeliveryHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS | ||
| 886 | +[v1_EN_DeliveryHLS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS | ||
| 887 | +[v1_CN_DeliveryHLS2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS#hlsaudioonly | ||
| 888 | +[v1_EN_DeliveryHLS2]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHLS#hlsaudioonly | ||
| 889 | +[v1_CN_Reload]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Reload | ||
| 890 | +[v1_EN_Reload]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Reload | ||
| 891 | +[v1_CN_LowLatency2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LowLatency#gop-cache | ||
| 892 | +[v1_EN_LowLatency2]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LowLatency#gop-cache | ||
| 893 | +[v1_CN_Forward]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Forward | ||
| 894 | +[v1_EN_Forward]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Forward | ||
| 895 | +[v1_CN_FFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG | ||
| 896 | +[v1_EN_FFMPEG]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_FFMPEG | ||
| 897 | +[v1_CN_HTTPCallback]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPCallback | ||
| 898 | +[v1_EN_HTTPCallback]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPCallback | ||
| 899 | +[v1_CN_BandwidthTestTool]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_BandwidthTestTool | ||
| 900 | +[v1_EN_BandwidthTestTool]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_BandwidthTestTool | ||
| 901 | +[v1_CN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo | ||
| 902 | +[v1_EN_SampleDemo]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SampleDemo | ||
| 903 | +[v2_CN_SrsLibrtmp]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp | ||
| 904 | +[v2_EN_SrsLibrtmp]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp | ||
| 905 | +[v1_CN_SrsLinuxArm]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm | ||
| 906 | +[v1_EN_SrsLinuxArm]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLinuxArm | ||
| 907 | +[v1_CN_LinuxService]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LinuxService | ||
| 908 | +[v1_EN_LinuxService]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_LinuxService | ||
| 909 | +[v1_CN_RTMP-ATC]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RTMP-ATC | ||
| 910 | +[v1_EN_RTMP-ATC]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_RTMP-ATC | ||
| 911 | +[v1_CN_HTTPApi]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPApi | ||
| 912 | +[v1_EN_HTTPApi]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_HTTPApi | ||
| 913 | +[v1_CN_Ingest]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest | ||
| 914 | +[v1_EN_Ingest]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Ingest | ||
| 915 | +[v1_CN_DVR]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR | ||
| 916 | +[v1_EN_DVR]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DVR | ||
| 917 | +[v1_CN_SrsLog]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog | ||
| 918 | +[v1_EN_SrsLog]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_SrsLog | ||
| 919 | +[v1_CN_DRM2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse | ||
| 920 | +[v1_EN_DRM2]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DRM#tokentraverse | ||
| 921 | +[v2_CN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHTTP | ||
| 922 | +[v2_EN_SampleHTTP]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHTTP | ||
| 923 | +[v2_CN_FlvVodStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_FlvVodStream | ||
| 924 | +[v2_EN_FlvVodStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_FlvVodStream | ||
| 925 | +[v2_CN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data | ||
| 926 | +[v2_EN_SrsLibrtmp2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data | ||
| 927 | +[v2_CN_SrsLibrtmp3]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#publish-audio-raw-stream | ||
| 928 | +[v2_EN_SrsLibrtmp3]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SrsLibrtmp#publish-audio-raw-stream | ||
| 929 | +[v2_CN_Security]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Security | ||
| 930 | +[v2_EN_Security]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Security | ||
| 931 | +[v2_CN_DeliveryHttpStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream | ||
| 932 | +[v2_EN_DeliveryHttpStream]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DeliveryHttpStream | ||
| 933 | +[v1_CN_DeliveryHDS]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHDS | ||
| 934 | +[v1_EN_DeliveryHDS]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_DeliveryHDS | ||
| 935 | +[v2_CN_Streamer2]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-http-flv-to-srs | ||
| 936 | +[v2_EN_Streamer2]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_Streamer#push-http-flv-to-srs | ||
| 937 | +[v2_CN_SampleHttpFlv]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHttpFlv | ||
| 938 | +[v2_EN_SampleHttpFlv]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHttpFlv | ||
| 939 | + | ||
| 940 | +[bug #213]: https://github.com/simple-rtmp-server/srs/issues/213 | ||
| 941 | +[bug #194]: https://github.com/simple-rtmp-server/srs/issues/194 | ||
| 942 | +[bug #182]: https://github.com/simple-rtmp-server/srs/issues/182 | ||
| 943 | +[bug #257]: https://github.com/simple-rtmp-server/srs/issues/257 | ||
| 944 | +[bug #179]: https://github.com/simple-rtmp-server/srs/issues/179 | ||
| 945 | +[bug #224]: https://github.com/simple-rtmp-server/srs/issues/224 | ||
| 946 | +[bug #251]: https://github.com/simple-rtmp-server/srs/issues/251 | ||
| 947 | +[bug #293]: https://github.com/simple-rtmp-server/srs/issues/293 | ||
| 948 | +[bug #250]: https://github.com/simple-rtmp-server/srs/issues/250 | ||
| 949 | +[bug #301]: https://github.com/simple-rtmp-server/srs/issues/301 | ||
| 950 | +[bug #304]: https://github.com/simple-rtmp-server/srs/issues/304 | ||
| 951 | +[bug #133]: https://github.com/simple-rtmp-server/srs/issues/133 | ||
| 952 | +[bug #92]: https://github.com/simple-rtmp-server/srs/issues/92 | ||
| 953 | + | ||
| 954 | + | ||
| 955 | +[contact]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Contact | ||
| 956 | +[more0]: http://winlinvip.github.io/srs.release/releases/ | ||
| 957 | +[more1]: http://www.ossrs.net/srs.release/releases/ | ||
| 958 | + | ||
| 959 | +[branch2]: https://github.com/simple-rtmp-server/srs/tree/2.0release | ||
| 960 | +[release2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release20 | ||
| 961 | +[centos0]: http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip | ||
| 962 | +[centos1]: http://www.ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.32.zip | ||
| 963 | + | ||
| 964 | + | ||
| 965 | + |
-
请 注册 或 登录 后发表评论