正在显示
1 个修改的文件
包含
260 行增加
和
266 行删除
| @@ -15,13 +15,7 @@ For the wiki for SRS/3.0, please read [Chinese][srs_CN] or [English][srs_EN]. | @@ -15,13 +15,7 @@ For the wiki for SRS/3.0, please read [Chinese][srs_CN] or [English][srs_EN]. | ||
| 15 | 15 | ||
| 16 | * [Content](#content) | 16 | * [Content](#content) |
| 17 | * [About](#about) | 17 | * [About](#about) |
| 18 | - * [Why SRS?](#why-srs) | ||
| 19 | - * [Authors](#authors) | ||
| 20 | - * [Donation](#donation) | ||
| 21 | * [Usage](#usage) | 18 | * [Usage](#usage) |
| 22 | - * [Build](#usage) | ||
| 23 | - * [Mirrors](#mirrors) | ||
| 24 | - * [System Requirements](#system-requirements) | ||
| 25 | * [Wiki](#wiki) | 19 | * [Wiki](#wiki) |
| 26 | * [Product](#product) | 20 | * [Product](#product) |
| 27 | * [Features](#features) | 21 | * [Features](#features) |
| @@ -33,6 +27,10 @@ For the wiki for SRS/3.0, please read [Chinese][srs_CN] or [English][srs_EN]. | @@ -33,6 +27,10 @@ For the wiki for SRS/3.0, please read [Chinese][srs_CN] or [English][srs_EN]. | ||
| 33 | * [System Architecture](#system-architecture) | 27 | * [System Architecture](#system-architecture) |
| 34 | * [Modularity Architecture](#modularity-architecture) | 28 | * [Modularity Architecture](#modularity-architecture) |
| 35 | * [Stream Architecture](#stream-architecture) | 29 | * [Stream Architecture](#stream-architecture) |
| 30 | + * [Authors](#authors) | ||
| 31 | + * [Mirrors](#mirrors) | ||
| 32 | + * [System Requirements](#system-requirements) | ||
| 33 | + * [Donation](#donation) | ||
| 36 | 34 | ||
| 37 | ## About | 35 | ## About |
| 38 | 36 | ||
| @@ -44,49 +42,25 @@ The stream on origin can be transcoded, DVR to VOD file, ingest from external so | @@ -44,49 +42,25 @@ The stream on origin can be transcoded, DVR to VOD file, ingest from external so | ||
| 44 | HTTP API and callback is powerful mechenism for integraty. | 42 | HTTP API and callback is powerful mechenism for integraty. |
| 45 | The wikis are writen by both English and Chinese. | 43 | The wikis are writen by both English and Chinese. |
| 46 | 44 | ||
| 47 | -### Why SRS? | ||
| 48 | - | ||
| 49 | -1. <strong>Completely Rewrite HLS:</strong> following m3u8/ts spec, and HLS support h.264+aac/mp3. | ||
| 50 | -1. <strong>High Efficient RTMP:</strong> deliverying support 7k+ concurrency, vhost based, both origin and edge. | ||
| 51 | -1. <strong>Embeded Simplified Media HTTP Server:</strong> for HLS, api and HTTP flv/ts/mp3/aac streaming. | ||
| 52 | -1. <strong>Variety Inputs:</strong> RTMP, pull by ingest file or stream(HTTP/RTMP/RTSP), push by stream caster | 45 | +1. <strong>Completely rewriten HLS:</strong> following m3u8/ts spec, and HLS support h.264+aac/mp3. |
| 46 | +1. <strong>High efficient RTMP:</strong> deliverying support 7k+ concurrency, vhost based, both origin and edge. | ||
| 47 | +1. <strong>Embeded HTTP server:</strong> for HLS, api and HTTP flv/ts/mp3/aac streaming. | ||
| 48 | +1. <strong>Variety inputs:</strong> RTMP, pull by ingest file or stream(HTTP/RTMP/RTSP), push by stream caster | ||
| 53 | RTSP/MPEGTS-over-UDP. | 49 | RTSP/MPEGTS-over-UDP. |
| 54 | -1. <strong>Popular Internet Delivery:</strong> RTMP/HDS for flash, HLS for mobile(IOS/IPad/MAC/Android), HTTP | 50 | +1. <strong>Popular internet delivery:</strong> RTMP/HDS for flash, HLS for mobile(IOS/IPad/MAC/Android), HTTP |
| 55 | flv/ts/mp3/aac streaming for user prefered. | 51 | flv/ts/mp3/aac streaming for user prefered. |
| 56 | -1. <strong>Enhanced DVR and HSTRS:</strong> segment/session/append plan, customer path and HTTP callback. | ||
| 57 | -the hstrs(http stream trigger rtmp source) enable the http-flv stream standby util encoder | ||
| 58 | -start publish, similar to rtmp, which will trigger edge to fetch from origin. | ||
| 59 | -1. <strong>Multiple Features:</strong> transcode, forward, ingest, http hooks, dvr, hls, rtsp, http streaming, | 52 | +1. <strong>Enhanced DVR:</strong> segment/session/append plan, customer path and HTTP callback. |
| 53 | +1. <strong>Multiple features:</strong> transcode, forward, ingest, http hooks, dvr, hls, rtsp, http streaming, | ||
| 60 | http raw api, refer, log, bandwith test and srs-librtmp. | 54 | http raw api, refer, log, bandwith test and srs-librtmp. |
| 61 | -1. <strong>Best Maintainess:</strong> simple arch over state-threads(coroutine), single thread, single process | 55 | +1. <strong>Best maintainess:</strong> simple arch over state-threads(coroutine), single thread, single process |
| 62 | and for linux/osx platform, common server x86-64/i386/arm/mips cpus, rich comments, strictly | 56 | and for linux/osx platform, common server x86-64/i386/arm/mips cpus, rich comments, strictly |
| 63 | follows RTMP/HLS/RTSP spec. | 57 | follows RTMP/HLS/RTSP spec. |
| 64 | -1. <strong>Easy to Use:</strong> both English and Chinese wiki, typically config files in trunk/conf, traceable | 58 | +1. <strong>Easy to use:</strong> both English and Chinese wiki, typically config files in trunk/conf, traceable |
| 65 | and session based log, linux service script and install script. | 59 | and session based log, linux service script and install script. |
| 66 | -1. <strong>MIT License:</strong> open source with product management and evolution. | 60 | +1. <strong>MIT license:</strong> open source with product management and evolution. |
| 67 | 61 | ||
| 68 | Enjoy it! | 62 | Enjoy it! |
| 69 | 63 | ||
| 70 | -### AUTHORS | ||
| 71 | - | ||
| 72 | -There are two types of people that have contributed to the SRS project: | ||
| 73 | -* AUTHORS: Contribute important features. Names of all | ||
| 74 | -PRIMARY response in NetConnection.connect and metadata. | ||
| 75 | -* CONTRIBUTORS: Submit patches, report bugs, add translations, help answer | ||
| 76 | -newbie questions, and generally make SRS that much better. | ||
| 77 | - | ||
| 78 | -About all PRIMARY, AUTHORS and CONTRIBUTORS, read [AUTHORS.txt][authors]. | ||
| 79 | - | ||
| 80 | -A big THANK YOU goes to: | ||
| 81 | -* All friends of SRS for [big supports][bigthanks]. | ||
| 82 | -* Genes amd Mabbott for creating [st][st]([state-threads][st2]). | ||
| 83 | -* Michael Talyanksy for introducing us to use st. | ||
| 84 | -* Roman Arutyunyan for creating [nginx-rtmp][nginx-rtmp] for SRS to refer to. | ||
| 85 | -* Joyent for creating [http-parser][http-parser] for http-api for SRS. | ||
| 86 | -* Igor Sysoev for creating [nginx][nginx] for SRS to refer to. | ||
| 87 | -* [FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use to transcode. | ||
| 88 | -* Guido van Rossum for creating Python for api-server for SRS. | ||
| 89 | - | ||
| 90 | ## Usage | 64 | ## Usage |
| 91 | 65 | ||
| 92 | <strong>Step 1:</strong> Get SRS. | 66 | <strong>Step 1:</strong> Get SRS. |
| @@ -128,39 +102,6 @@ cd srs/trunk | @@ -128,39 +102,6 @@ cd srs/trunk | ||
| 128 | * Usage: Solution using SRS?([CN][v1_CN_Sample], [EN][v1_EN_Sample]) | 102 | * Usage: Solution using SRS?([CN][v1_CN_Sample], [EN][v1_EN_Sample]) |
| 129 | * Usage: Why SRS?([CN][v1_CN_Product], [EN][v1_EN_Product]) | 103 | * Usage: Why SRS?([CN][v1_CN_Product], [EN][v1_EN_Product]) |
| 130 | 104 | ||
| 131 | -### Mirrors | ||
| 132 | - | ||
| 133 | -Github: [https://github.com/ossrs/srs][srs], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 134 | - | ||
| 135 | -``` | ||
| 136 | -git clone https://github.com/ossrs/srs.git | ||
| 137 | -``` | ||
| 138 | - | ||
| 139 | -CSDN: [https://code.csdn.net/winlinvip/srs-csdn][csdn], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 140 | - | ||
| 141 | -``` | ||
| 142 | -git clone https://code.csdn.net/winlinvip/srs-csdn.git | ||
| 143 | -``` | ||
| 144 | - | ||
| 145 | -OSChina: [http://git.oschina.net/winlinvip/srs.oschina][oschina], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 146 | - | ||
| 147 | -``` | ||
| 148 | -git clone https://git.oschina.net/winlinvip/srs.oschina.git | ||
| 149 | -``` | ||
| 150 | - | ||
| 151 | -Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 152 | - | ||
| 153 | -``` | ||
| 154 | -git clone https://gitlab.com/winlinvip/srs-gitlab.git | ||
| 155 | -``` | ||
| 156 | - | ||
| 157 | -### System Requirements | ||
| 158 | - | ||
| 159 | -Supported operating systems and hardware: | ||
| 160 | -* All Linux , both 32 and 64 bits | ||
| 161 | -* Apple OSX(Darwin), both 32 and 64bits. | ||
| 162 | -* All hardware with x86/x86_64/arm/mips cpu. | ||
| 163 | - | ||
| 164 | ### Wiki | 105 | ### Wiki |
| 165 | 106 | ||
| 166 | #### SRS 1.0 wiki | 107 | #### SRS 1.0 wiki |
| @@ -185,198 +126,6 @@ Please select your language: | @@ -185,198 +126,6 @@ Please select your language: | ||
| 185 | 126 | ||
| 186 | The `features`, `compare`, `release` and `performance` of SRS. | 127 | The `features`, `compare`, `release` and `performance` of SRS. |
| 187 | 128 | ||
| 188 | -### Features | ||
| 189 | - | ||
| 190 | -1. Simple, also stable enough. | ||
| 191 | -1. High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event/st-thread driven. | ||
| 192 | -1. High-concurrency([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB | ||
| 193 | -1. Support RTMP Origin Server([CN][v1_CN_DeliveryRTMP],[EN][v1_EN_DeliveryRTMP]) | ||
| 194 | -1. Support RTMP Edge Server([CN][v1_CN_Edge], [EN][v1_EN_Edge]) for CDN, push/pull stream from any RTMP server | ||
| 195 | -1. Support single process; no multiple processes. | ||
| 196 | -1. Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]), support \_\_defaultVhost\_\_. | ||
| 197 | -1. Support RTMP([CN][v1_CN_DeliveryRTMP], [EN][v1_EN_DeliveryRTMP]) live streaming; no vod streaming. | ||
| 198 | -1. Support Apple HLS(m3u8)([CN][v1_CN_DeliveryHLS], [EN][v1_EN_DeliveryHLS]) live streaming. | ||
| 199 | -1. Support HLS audio-only([CN][v1_CN_DeliveryHLS2], [EN][v1_EN_DeliveryHLS2]) live streaming. | ||
| 200 | -1. Support Reload([CN][v1_CN_Reload], [EN][v1_EN_Reload]) config to enable changes. | ||
| 201 | -1. Support cache last gop([CN][v1_CN_LowLatency2], [EN][v1_EN_LowLatency2]) for flash player to fast startup. | ||
| 202 | -1. Support listen at multiple ports. | ||
| 203 | -1. Support long time(>4.6hours) publish/play. | ||
| 204 | -1. Support Forward([CN][v1_CN_Forward], [EN][v1_EN_Forward]) in master-slave mode. | ||
| 205 | -1. Support live stream Transcoding([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) by ffmpeg. | ||
| 206 | -1. Support ffmpeg([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) filters(logo/overlay/crop), x264 params, copy/vn/an. | ||
| 207 | -1. Support audio transcode([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) only, speex/mp3 to aac | ||
| 208 | -1. Support http callback api hooks([CN][v1_CN_HTTPCallback], [EN][v1_EN_HTTPCallback])(for authentication and injection). | ||
| 209 | -1. Support bandwidth test([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]) api and flash client. | ||
| 210 | -1. Player, publisher(encoder), and demo pages(jquery+bootstrap)([CN][v1_CN_SampleDemo],[EN][v1_EN_SampleDemo]). | ||
| 211 | -1. Demo([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) video meeting or chat(SRS+cherrypy+jquery+bootstrap). | ||
| 212 | -1. Full documents in wiki([CN][v1_CN_Home], [EN][v1_EN_Home]), both Chinese and English. | ||
| 213 | -1. Support RTMP(play-publish) library: srs-librtmp([CN][v2_CN_SrsLibrtmp], [EN][v2_EN_SrsLibrtmp]) | ||
| 214 | -1. Support ARM cpu arch([CN][v1_CN_SrsLinuxArm], [EN][v1_EN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp. | ||
| 215 | -1. Support init.d([CN][v1_CN_LinuxService], [EN][v1_EN_LinuxService]) and packge script, log to file. | ||
| 216 | -1. Support RTMP ATC([CN][v1_CN_RTMP-ATC], [EN][v1_EN_RTMP-ATC]) for HLS/HDS to support backup(failover) | ||
| 217 | -1. Support HTTP RESTful management api([CN][v1_CN_HTTPApi], [EN][v1_EN_HTTPApi]). | ||
| 218 | -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). | ||
| 219 | -1. Support DVR([CN][v1_CN_DVR], [EN][v1_EN_DVR]), record live to flv file for vod. | ||
| 220 | -1. Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]). | ||
| 221 | -1. Support DRM token traverse([CN][v1_CN_DRM2], [EN][v1_EN_DRM2]) for fms origin authenticate. | ||
| 222 | -1. Support system full utest on gtest. | ||
| 223 | -1. Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for hls(live/vod) | ||
| 224 | -1. Support vod stream(http flv/hls vod stream)([CN][v2_CN_FlvVodStream], [EN][v2_EN_FlvVodStream]). | ||
| 225 | -1. Stable [1.0release branch][branch1]. | ||
| 226 | -1. Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp. | ||
| 227 | -1. Support [6k+ clients][bug #194], 3Gbps per process. | ||
| 228 | -1. Suppport [English wiki][v1_EN_Home]. | ||
| 229 | -1. Research and simplify st, [bug #182][bug #182]. | ||
| 230 | -1. Support compile [srs-librtmp on windows][srs-librtmp], [bug #213][bug #213]. | ||
| 231 | -1. Support [10k+ clients][bug #251], 4Gbps per process. | ||
| 232 | -1. Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp. | ||
| 233 | -1. Support 0.1s+ latency, read [bug #257][bug #257]. | ||
| 234 | -1. Support allow/deny publish/play for all or specified ip([CN][v2_CN_Security], [EN][v2_EN_Security]). | ||
| 235 | -1. Support custom dvr path and http callback, read [bug #179][bug #179] and [bug #274][bug #274]. | ||
| 236 | -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]). | ||
| 237 | -1. Support HLS(h.264+mp3) streaming, read [bug #301][bug #301]. | ||
| 238 | -1. Rewrite HLS(h.264+aac/mp3) streaming, read [bug #304][bug #304]. | ||
| 239 | -1. [dev] Realease [2.0release branch][branch2]. | ||
| 240 | -1. [experiment] Support Adobe HDS(f4m)([CN][v1_CN_DeliveryHDS], [EN][v1_EN_DeliveryHDS]) dynamic streaming. | ||
| 241 | -1. [experiment] Support push MPEG-TS over UDP to SRS, read [bug #250][bug #250]. | ||
| 242 | -1. [experiment] Support push RTSP to SRS, read [bug #133][bug #133]. | ||
| 243 | -1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]). | ||
| 244 | -1. [experiment] Support [srs-dolphin][srs-dolphin], the multiple-process SRS. | ||
| 245 | -1. [experiment] Support [remote console][console], read [srs-ngb][srs-ngb]. | ||
| 246 | -1. Support nginx-rtmp style exec, read [bug #367][bug #367]. | ||
| 247 | -1. Support NGINX-RTMP style EXEC, read [#367][bug #367]. | ||
| 248 | -1. Support NGINX-RTMP style dvr control module, read [#459][bug #459]. | ||
| 249 | -1. Support HTTP Security Raw Api, read [#459][bug #459], [#470][bug #470], [#319][bug #319]. | ||
| 250 | -1. Support Integration with Kafka/Spark Big-Data system, read [#467][bug #467]. | ||
| 251 | -1. [plan]Support Origin Cluster for Load Balance and Fault Tolarence, read [#464][bug #464], [RTMP 302][bug #92]. | ||
| 252 | -1. [plan]Support H.265, push RTMP with H.265, delivery in HLS, read [#465][bug #465]. | ||
| 253 | -1. [plan]Support MPEG-DASH, the future streaming protocol, read [#299][bug #299]. | ||
| 254 | -1. [plan]Support HLS edge server, read [#466][bug #466]. | ||
| 255 | -1. [plan]Support HLS realtime latency mode, read [#468][bug #468]. | ||
| 256 | - | ||
| 257 | -### Compare | ||
| 258 | - | ||
| 259 | -Compare SRS with other media server. | ||
| 260 | - | ||
| 261 | -#### Stream Delivery | ||
| 262 | - | ||
| 263 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 264 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 265 | -| RTMP | Stable | Stable | Stable | Stable | Stable | | ||
| 266 | -| HLS | Stable | Stable | X | Stable | Stable | | ||
| 267 | -| HDS | Experiment| X | X | Stable | Stable | | ||
| 268 | -| HTTP FLV | Stable | X | X | X | X | | ||
| 269 | -| HLS(aonly) | Stable | X | X | Stable | Stable | | ||
| 270 | -| HTTP Server | Stable | Stable | X | X | Stable | | ||
| 271 | - | ||
| 272 | -#### Cluster | ||
| 273 | - | ||
| 274 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 275 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 276 | -| RTMP Edge | Stable | X | X | Stable | X | | ||
| 277 | -| RTMP Backup | Stable | X | X | X | X | | ||
| 278 | -| VHOST | Stable | X | X | Stable | Stable | | ||
| 279 | -| Reload | Stable | X | X | X | X | | ||
| 280 | -| Forward | Stable | X | X | X | X | | ||
| 281 | -| ATC | Stable | X | X | X | X | | ||
| 282 | - | ||
| 283 | -#### Stream Service | ||
| 284 | - | ||
| 285 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 286 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 287 | -| DVR | Stable | Stable | X | X | Stable | | ||
| 288 | -| DVR API | Stable | Stable | X | X | X | | ||
| 289 | -| EXEC | Stable | Stable | X | X | X | | ||
| 290 | -| Transcode | Stable | X | X | X | Stable | | ||
| 291 | -| HTTP API | Stable | Stable | X | X | Stable | | ||
| 292 | -| HTTP RAW API | Stable | X | X | X | X | | ||
| 293 | -| HTTP hooks | Stable | X | X | X | X | | ||
| 294 | -| GopCache | Stable | X | X | Stable | X | | ||
| 295 | -| Security | Stable | Stable | X | X | Stable | | ||
| 296 | -| Token Traverse| Stable | X | X | Stable | X | | ||
| 297 | - | ||
| 298 | -#### Efficiency | ||
| 299 | - | ||
| 300 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 301 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 302 | -| Concurrency | 7.5k | 3k | 2k | 2k | 3k | | ||
| 303 | -|MultipleProcess| Experiment| Stable | X | X | X | | ||
| 304 | -| RTMP Latency| 0.1s | 3s | 3s | 3s | 3s | | ||
| 305 | -| HLS Latency | 10s | 30s | X | 30s | 30s | | ||
| 306 | - | ||
| 307 | -#### Stream Caster | ||
| 308 | - | ||
| 309 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 310 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 311 | -| Ingest | Stable | X | X | X | X | | ||
| 312 | -| Push MPEGTS | Experiment| X | X | X | Stable | | ||
| 313 | -| Push RTSP | Experiment| X | Stable | X | Stable | | ||
| 314 | -| Push HTTP FLV | Experiment| X | X | X | X | | ||
| 315 | - | ||
| 316 | -#### Debug System | ||
| 317 | - | ||
| 318 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 319 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 320 | -| BW check | Stable | X | X | X | X | | ||
| 321 | -| Tracable Log | Stable | X | X | X | X | | ||
| 322 | - | ||
| 323 | -#### Docs | ||
| 324 | - | ||
| 325 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 326 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 327 | -| Demos | Stable | X | X | X | X | | ||
| 328 | -| WIKI(EN+CN) | Stable | EN only | X | X | Stable | | ||
| 329 | - | ||
| 330 | -#### Others | ||
| 331 | - | ||
| 332 | -| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 333 | -| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 334 | -| ARM/MIPS | Stable | Stable | X | X | X | | ||
| 335 | -| Client Library| Stable | X | X | X | X | | ||
| 336 | - | ||
| 337 | -Remark: | ||
| 338 | - | ||
| 339 | -1. Concurrency: The concurrency of single process. | ||
| 340 | -1. MultipleProcess: SRS is single process, while [srs-dolphin][srs-dolphin] is a MultipleProcess SRS. | ||
| 341 | -1. HLS aonly: The HLS audio only streaming delivery. | ||
| 342 | -1. BW check: The bandwidth check. | ||
| 343 | -1. Security: To allow or deny stream publish or play. | ||
| 344 | -1. Reload: Nginx supports reload, but not nginx-rtmp. | ||
| 345 | - | ||
| 346 | -### Releases | ||
| 347 | - | ||
| 348 | -* 2016-11-13, [Release v2.0-b3][r2.0b3], 2.0 beta3, 2.0.223, 86685 lines. | ||
| 349 | -* 2016-11-09, [Release v2.0-b2][r2.0b2], 2.0 beta2, 2.0.221, 86691 lines. | ||
| 350 | -* 2016-09-09, [Release v2.0-b1][r2.0b1], 2.0 beta1, 2.0.215, 89941 lines. | ||
| 351 | -* 2016-08-06, [Release v2.0-b0][r2.0b0], 2.0 beta0, 2.0.210, 89704 lines. | ||
| 352 | -* 2015-12-23, [Release v2.0-a3][r2.0a3], 2.0 alpha3, 2.0.205, 89544 lines. | ||
| 353 | -* 2015-10-08, [Release v2.0-a2][r2.0a2], 2.0 alpha2, 2.0.195, 89358 lines. | ||
| 354 | -* 2015-09-14, [Release v2.0-a1][r2.0a1], 2.0 alpha1, 2.0.189, 89269 lines. | ||
| 355 | -* 2015-08-23, [Release v2.0-a0][r2.0a0], 2.0 alpha0, 2.0.185, 89022 lines. | ||
| 356 | -* 2015-05-23, [Release v1.0-r4][r1.0r4], bug fixed, 1.0.32, 59509 lines. | ||
| 357 | -* 2015-03-19, [Release v1.0-r3][r1.0r3], bug fixed, 1.0.30, 59511 lines. | ||
| 358 | -* 2015-02-12, [Release v1.0-r2][r1.0r2], bug fixed, 1.0.27, 59507 lines. | ||
| 359 | -* 2015-01-15, [Release v1.0-r1][r1.0r1], bug fixed, 1.0.21, 59472 lines. | ||
| 360 | -* 2014-12-05, [Release v1.0-r0][r1.0r0], all bug fixed, 1.0.10, 59391 lines. | ||
| 361 | -* 2014-10-09, [Release v0.9.8][r1.0b0], all bug fixed, 1.0.0, 59316 lines. | ||
| 362 | -* 2014-08-03, [Release v0.9.7][r1.0a7], config utest, all bug fixed. 57432 lines. | ||
| 363 | -* 2014-07-13, [Release v0.9.6][r1.0a6], core/kernel/rtmp utest, refine bandwidth(as/js/srslibrtmp library). 50029 lines. | ||
| 364 | -* 2014-06-27, [Release v0.9.5][r1.0a5], refine perf 3k+ clients, edge token traverse, [srs monitor](http://ossrs.net:1977), 30days online. 41573 lines. | ||
| 365 | -* 2014-05-28, [Release v0.9.4][r1.0a4], support heartbeat, tracable log, fix mem leak and bugs. 39200 lines. | ||
| 366 | -* 2014-05-18, [Release v0.9.3][r1.0a3], support mips, fms origin, json(http-api). 37594 lines. | ||
| 367 | -* 2014-04-28, [Release v0.9.2][r1.0a2], support [dvr][v1_CN_DVR], android, [edge][v1_CN_Edge]. 35255 lines. | ||
| 368 | -* 2014-04-07, [Release v0.9.1][r1.0a0], support [arm][v1_CN_SrsLinuxArm], [init.d][v1_CN_LinuxService], http [server][v1_CN_HTTPServer]/[api][v1_CN_HTTPApi], [ingest][v1_CN_SampleIngest]. 30000 lines. | ||
| 369 | -* 2013-12-25, [Release v0.9.0][r0.9], support bandwidth test, player/encoder/chat [demos][v1_CN_SampleDemo]. 20926 lines. | ||
| 370 | -* 2013-12-08, [Release v0.8.0][r0.8], support [http hooks callback][v1_CN_HTTPCallback], update [SB][srs-bench]. 19186 lines. | ||
| 371 | -* 2013-12-03, [Release v0.7.0][r0.7], support [live stream transcoding][v1_CN_FFMPEG]. 17605 lines. | ||
| 372 | -* 2013-11-29, [Release v0.6.0][r0.6], support [forward][v1_CN_Forward] stream to origin/edge. 16094 lines. | ||
| 373 | -* 2013-11-26, [Release v0.5.0][r0.5], support [HLS(m3u8)][v1_CN_DeliveryHLS], fragment and window. 14449 lines. | ||
| 374 | -* 2013-11-10, [Release v0.4.0][r0.4], support [reload][v1_CN_Reload] config, pause, longtime publish/play. 12500 lines. | ||
| 375 | -* 2013-11-04, [Release v0.3.0][r0.3], support [vhost][v1_CN_RtmpUrlVhost], refer, gop cache, listen multiple ports. 11773 lines. | ||
| 376 | -* 2013-10-25, [Release v0.2.0][r0.2], support [rtmp][v1_CN_RTMPHandshake] flash publish, h264, time jitter correct. 10125 lines. | ||
| 377 | -* 2013-10-23, [Release v0.1.0][r0.1], support [rtmp FMLE/FFMPEG publish][v1_CN_DeliveryRTMP], vp6. 8287 lines. | ||
| 378 | -* 2013-10-17, Created. | ||
| 379 | - | ||
| 380 | ### History | 129 | ### History |
| 381 | 130 | ||
| 382 | * v3.0, 2016-12-15, fix #717, #691, http api/static/stream support cors. 3.0.9 | 131 | * v3.0, 2016-12-15, fix #717, #691, http api/static/stream support cors. 3.0.9 |
| @@ -719,6 +468,198 @@ Remark: | @@ -719,6 +468,198 @@ Remark: | ||
| 719 | * v0.1, 2013-10-18, support rtmp message2chunk protocol(send\_message). | 468 | * v0.1, 2013-10-18, support rtmp message2chunk protocol(send\_message). |
| 720 | * v0.1, 2013-10-17, support rtmp chunk2message protocol(recv\_message). | 469 | * v0.1, 2013-10-17, support rtmp chunk2message protocol(recv\_message). |
| 721 | 470 | ||
| 471 | +### Features | ||
| 472 | + | ||
| 473 | +1. Simple, also stable enough. | ||
| 474 | +1. High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event/st-thread driven. | ||
| 475 | +1. High-concurrency([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB | ||
| 476 | +1. Support RTMP Origin Server([CN][v1_CN_DeliveryRTMP],[EN][v1_EN_DeliveryRTMP]) | ||
| 477 | +1. Support RTMP Edge Server([CN][v1_CN_Edge], [EN][v1_EN_Edge]) for CDN, push/pull stream from any RTMP server | ||
| 478 | +1. Support single process; no multiple processes. | ||
| 479 | +1. Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]), support \_\_defaultVhost\_\_. | ||
| 480 | +1. Support RTMP([CN][v1_CN_DeliveryRTMP], [EN][v1_EN_DeliveryRTMP]) live streaming; no vod streaming. | ||
| 481 | +1. Support Apple HLS(m3u8)([CN][v1_CN_DeliveryHLS], [EN][v1_EN_DeliveryHLS]) live streaming. | ||
| 482 | +1. Support HLS audio-only([CN][v1_CN_DeliveryHLS2], [EN][v1_EN_DeliveryHLS2]) live streaming. | ||
| 483 | +1. Support Reload([CN][v1_CN_Reload], [EN][v1_EN_Reload]) config to enable changes. | ||
| 484 | +1. Support cache last gop([CN][v1_CN_LowLatency2], [EN][v1_EN_LowLatency2]) for flash player to fast startup. | ||
| 485 | +1. Support listen at multiple ports. | ||
| 486 | +1. Support long time(>4.6hours) publish/play. | ||
| 487 | +1. Support Forward([CN][v1_CN_Forward], [EN][v1_EN_Forward]) in master-slave mode. | ||
| 488 | +1. Support live stream Transcoding([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) by ffmpeg. | ||
| 489 | +1. Support ffmpeg([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) filters(logo/overlay/crop), x264 params, copy/vn/an. | ||
| 490 | +1. Support audio transcode([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) only, speex/mp3 to aac | ||
| 491 | +1. Support http callback api hooks([CN][v1_CN_HTTPCallback], [EN][v1_EN_HTTPCallback])(for authentication and injection). | ||
| 492 | +1. Support bandwidth test([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]) api and flash client. | ||
| 493 | +1. Player, publisher(encoder), and demo pages(jquery+bootstrap)([CN][v1_CN_SampleDemo],[EN][v1_EN_SampleDemo]). | ||
| 494 | +1. Demo([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) video meeting or chat(SRS+cherrypy+jquery+bootstrap). | ||
| 495 | +1. Full documents in wiki([CN][v1_CN_Home], [EN][v1_EN_Home]), both Chinese and English. | ||
| 496 | +1. Support RTMP(play-publish) library: srs-librtmp([CN][v2_CN_SrsLibrtmp], [EN][v2_EN_SrsLibrtmp]) | ||
| 497 | +1. Support ARM cpu arch([CN][v1_CN_SrsLinuxArm], [EN][v1_EN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp. | ||
| 498 | +1. Support init.d([CN][v1_CN_LinuxService], [EN][v1_EN_LinuxService]) and packge script, log to file. | ||
| 499 | +1. Support RTMP ATC([CN][v1_CN_RTMP-ATC], [EN][v1_EN_RTMP-ATC]) for HLS/HDS to support backup(failover) | ||
| 500 | +1. Support HTTP RESTful management api([CN][v1_CN_HTTPApi], [EN][v1_EN_HTTPApi]). | ||
| 501 | +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). | ||
| 502 | +1. Support DVR([CN][v1_CN_DVR], [EN][v1_EN_DVR]), record live to flv file for vod. | ||
| 503 | +1. Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]). | ||
| 504 | +1. Support DRM token traverse([CN][v1_CN_DRM2], [EN][v1_EN_DRM2]) for fms origin authenticate. | ||
| 505 | +1. Support system full utest on gtest. | ||
| 506 | +1. Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for hls(live/vod) | ||
| 507 | +1. Support vod stream(http flv/hls vod stream)([CN][v2_CN_FlvVodStream], [EN][v2_EN_FlvVodStream]). | ||
| 508 | +1. Stable [1.0release branch][branch1]. | ||
| 509 | +1. Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp. | ||
| 510 | +1. Support [6k+ clients][bug #194], 3Gbps per process. | ||
| 511 | +1. Suppport [English wiki][v1_EN_Home]. | ||
| 512 | +1. Research and simplify st, [bug #182][bug #182]. | ||
| 513 | +1. Support compile [srs-librtmp on windows][srs-librtmp], [bug #213][bug #213]. | ||
| 514 | +1. Support [10k+ clients][bug #251], 4Gbps per process. | ||
| 515 | +1. Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp. | ||
| 516 | +1. Support 0.1s+ latency, read [bug #257][bug #257]. | ||
| 517 | +1. Support allow/deny publish/play for all or specified ip([CN][v2_CN_Security], [EN][v2_EN_Security]). | ||
| 518 | +1. Support custom dvr path and http callback, read [bug #179][bug #179] and [bug #274][bug #274]. | ||
| 519 | +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]). | ||
| 520 | +1. Support HLS(h.264+mp3) streaming, read [bug #301][bug #301]. | ||
| 521 | +1. Rewrite HLS(h.264+aac/mp3) streaming, read [bug #304][bug #304]. | ||
| 522 | +1. [dev] Realease [2.0release branch][branch2]. | ||
| 523 | +1. [experiment] Support Adobe HDS(f4m)([CN][v1_CN_DeliveryHDS], [EN][v1_EN_DeliveryHDS]) dynamic streaming. | ||
| 524 | +1. [experiment] Support push MPEG-TS over UDP to SRS, read [bug #250][bug #250]. | ||
| 525 | +1. [experiment] Support push RTSP to SRS, read [bug #133][bug #133]. | ||
| 526 | +1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]). | ||
| 527 | +1. [experiment] Support [srs-dolphin][srs-dolphin], the multiple-process SRS. | ||
| 528 | +1. [experiment] Support [remote console][console], read [srs-ngb][srs-ngb]. | ||
| 529 | +1. Support nginx-rtmp style exec, read [bug #367][bug #367]. | ||
| 530 | +1. Support NGINX-RTMP style EXEC, read [#367][bug #367]. | ||
| 531 | +1. Support NGINX-RTMP style dvr control module, read [#459][bug #459]. | ||
| 532 | +1. Support HTTP Security Raw Api, read [#459][bug #459], [#470][bug #470], [#319][bug #319]. | ||
| 533 | +1. Support Integration with Kafka/Spark Big-Data system, read [#467][bug #467]. | ||
| 534 | +1. [plan]Support Origin Cluster for Load Balance and Fault Tolarence, read [#464][bug #464], [RTMP 302][bug #92]. | ||
| 535 | +1. [plan]Support H.265, push RTMP with H.265, delivery in HLS, read [#465][bug #465]. | ||
| 536 | +1. [plan]Support MPEG-DASH, the future streaming protocol, read [#299][bug #299]. | ||
| 537 | +1. [plan]Support HLS edge server, read [#466][bug #466]. | ||
| 538 | +1. [plan]Support HLS realtime latency mode, read [#468][bug #468]. | ||
| 539 | + | ||
| 540 | +### Releases | ||
| 541 | + | ||
| 542 | +* 2016-11-13, [Release v2.0-b3][r2.0b3], 2.0 beta3, 2.0.223, 86685 lines. | ||
| 543 | +* 2016-11-09, [Release v2.0-b2][r2.0b2], 2.0 beta2, 2.0.221, 86691 lines. | ||
| 544 | +* 2016-09-09, [Release v2.0-b1][r2.0b1], 2.0 beta1, 2.0.215, 89941 lines. | ||
| 545 | +* 2016-08-06, [Release v2.0-b0][r2.0b0], 2.0 beta0, 2.0.210, 89704 lines. | ||
| 546 | +* 2015-12-23, [Release v2.0-a3][r2.0a3], 2.0 alpha3, 2.0.205, 89544 lines. | ||
| 547 | +* 2015-10-08, [Release v2.0-a2][r2.0a2], 2.0 alpha2, 2.0.195, 89358 lines. | ||
| 548 | +* 2015-09-14, [Release v2.0-a1][r2.0a1], 2.0 alpha1, 2.0.189, 89269 lines. | ||
| 549 | +* 2015-08-23, [Release v2.0-a0][r2.0a0], 2.0 alpha0, 2.0.185, 89022 lines. | ||
| 550 | +* 2015-05-23, [Release v1.0-r4][r1.0r4], bug fixed, 1.0.32, 59509 lines. | ||
| 551 | +* 2015-03-19, [Release v1.0-r3][r1.0r3], bug fixed, 1.0.30, 59511 lines. | ||
| 552 | +* 2015-02-12, [Release v1.0-r2][r1.0r2], bug fixed, 1.0.27, 59507 lines. | ||
| 553 | +* 2015-01-15, [Release v1.0-r1][r1.0r1], bug fixed, 1.0.21, 59472 lines. | ||
| 554 | +* 2014-12-05, [Release v1.0-r0][r1.0r0], all bug fixed, 1.0.10, 59391 lines. | ||
| 555 | +* 2014-10-09, [Release v0.9.8][r1.0b0], all bug fixed, 1.0.0, 59316 lines. | ||
| 556 | +* 2014-08-03, [Release v0.9.7][r1.0a7], config utest, all bug fixed. 57432 lines. | ||
| 557 | +* 2014-07-13, [Release v0.9.6][r1.0a6], core/kernel/rtmp utest, refine bandwidth(as/js/srslibrtmp library). 50029 lines. | ||
| 558 | +* 2014-06-27, [Release v0.9.5][r1.0a5], refine perf 3k+ clients, edge token traverse, [srs monitor](http://ossrs.net:1977), 30days online. 41573 lines. | ||
| 559 | +* 2014-05-28, [Release v0.9.4][r1.0a4], support heartbeat, tracable log, fix mem leak and bugs. 39200 lines. | ||
| 560 | +* 2014-05-18, [Release v0.9.3][r1.0a3], support mips, fms origin, json(http-api). 37594 lines. | ||
| 561 | +* 2014-04-28, [Release v0.9.2][r1.0a2], support [dvr][v1_CN_DVR], android, [edge][v1_CN_Edge]. 35255 lines. | ||
| 562 | +* 2014-04-07, [Release v0.9.1][r1.0a0], support [arm][v1_CN_SrsLinuxArm], [init.d][v1_CN_LinuxService], http [server][v1_CN_HTTPServer]/[api][v1_CN_HTTPApi], [ingest][v1_CN_SampleIngest]. 30000 lines. | ||
| 563 | +* 2013-12-25, [Release v0.9.0][r0.9], support bandwidth test, player/encoder/chat [demos][v1_CN_SampleDemo]. 20926 lines. | ||
| 564 | +* 2013-12-08, [Release v0.8.0][r0.8], support [http hooks callback][v1_CN_HTTPCallback], update [SB][srs-bench]. 19186 lines. | ||
| 565 | +* 2013-12-03, [Release v0.7.0][r0.7], support [live stream transcoding][v1_CN_FFMPEG]. 17605 lines. | ||
| 566 | +* 2013-11-29, [Release v0.6.0][r0.6], support [forward][v1_CN_Forward] stream to origin/edge. 16094 lines. | ||
| 567 | +* 2013-11-26, [Release v0.5.0][r0.5], support [HLS(m3u8)][v1_CN_DeliveryHLS], fragment and window. 14449 lines. | ||
| 568 | +* 2013-11-10, [Release v0.4.0][r0.4], support [reload][v1_CN_Reload] config, pause, longtime publish/play. 12500 lines. | ||
| 569 | +* 2013-11-04, [Release v0.3.0][r0.3], support [vhost][v1_CN_RtmpUrlVhost], refer, gop cache, listen multiple ports. 11773 lines. | ||
| 570 | +* 2013-10-25, [Release v0.2.0][r0.2], support [rtmp][v1_CN_RTMPHandshake] flash publish, h264, time jitter correct. 10125 lines. | ||
| 571 | +* 2013-10-23, [Release v0.1.0][r0.1], support [rtmp FMLE/FFMPEG publish][v1_CN_DeliveryRTMP], vp6. 8287 lines. | ||
| 572 | +* 2013-10-17, Created. | ||
| 573 | + | ||
| 574 | +### Compare | ||
| 575 | + | ||
| 576 | +Compare SRS with other media server. | ||
| 577 | + | ||
| 578 | +#### Stream Delivery | ||
| 579 | + | ||
| 580 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 581 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 582 | +| RTMP | Stable | Stable | Stable | Stable | Stable | | ||
| 583 | +| HLS | Stable | Stable | X | Stable | Stable | | ||
| 584 | +| HDS | Experiment| X | X | Stable | Stable | | ||
| 585 | +| HTTP FLV | Stable | X | X | X | X | | ||
| 586 | +| HLS(aonly) | Stable | X | X | Stable | Stable | | ||
| 587 | +| HTTP Server | Stable | Stable | X | X | Stable | | ||
| 588 | + | ||
| 589 | +#### Cluster | ||
| 590 | + | ||
| 591 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 592 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 593 | +| RTMP Edge | Stable | X | X | Stable | X | | ||
| 594 | +| RTMP Backup | Stable | X | X | X | X | | ||
| 595 | +| VHOST | Stable | X | X | Stable | Stable | | ||
| 596 | +| Reload | Stable | X | X | X | X | | ||
| 597 | +| Forward | Stable | X | X | X | X | | ||
| 598 | +| ATC | Stable | X | X | X | X | | ||
| 599 | + | ||
| 600 | +#### Stream Service | ||
| 601 | + | ||
| 602 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 603 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 604 | +| DVR | Stable | Stable | X | X | Stable | | ||
| 605 | +| DVR API | Stable | Stable | X | X | X | | ||
| 606 | +| EXEC | Stable | Stable | X | X | X | | ||
| 607 | +| Transcode | Stable | X | X | X | Stable | | ||
| 608 | +| HTTP API | Stable | Stable | X | X | Stable | | ||
| 609 | +| HTTP RAW API | Stable | X | X | X | X | | ||
| 610 | +| HTTP hooks | Stable | X | X | X | X | | ||
| 611 | +| GopCache | Stable | X | X | Stable | X | | ||
| 612 | +| Security | Stable | Stable | X | X | Stable | | ||
| 613 | +| Token Traverse| Stable | X | X | Stable | X | | ||
| 614 | + | ||
| 615 | +#### Efficiency | ||
| 616 | + | ||
| 617 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 618 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 619 | +| Concurrency | 7.5k | 3k | 2k | 2k | 3k | | ||
| 620 | +|MultipleProcess| Experiment| Stable | X | X | X | | ||
| 621 | +| RTMP Latency| 0.1s | 3s | 3s | 3s | 3s | | ||
| 622 | +| HLS Latency | 10s | 30s | X | 30s | 30s | | ||
| 623 | + | ||
| 624 | +#### Stream Caster | ||
| 625 | + | ||
| 626 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 627 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 628 | +| Ingest | Stable | X | X | X | X | | ||
| 629 | +| Push MPEGTS | Experiment| X | X | X | Stable | | ||
| 630 | +| Push RTSP | Experiment| X | Stable | X | Stable | | ||
| 631 | +| Push HTTP FLV | Experiment| X | X | X | X | | ||
| 632 | + | ||
| 633 | +#### Debug System | ||
| 634 | + | ||
| 635 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 636 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 637 | +| BW check | Stable | X | X | X | X | | ||
| 638 | +| Tracable Log | Stable | X | X | X | X | | ||
| 639 | + | ||
| 640 | +#### Docs | ||
| 641 | + | ||
| 642 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 643 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 644 | +| Demos | Stable | X | X | X | X | | ||
| 645 | +| WIKI(EN+CN) | Stable | EN only | X | X | Stable | | ||
| 646 | + | ||
| 647 | +#### Others | ||
| 648 | + | ||
| 649 | +| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ||
| 650 | +| ----------- | ------- | ----- | --------- | -------- | ------ | | ||
| 651 | +| ARM/MIPS | Stable | Stable | X | X | X | | ||
| 652 | +| Client Library| Stable | X | X | X | X | | ||
| 653 | + | ||
| 654 | +Remark: | ||
| 655 | + | ||
| 656 | +1. Concurrency: The concurrency of single process. | ||
| 657 | +1. MultipleProcess: SRS is single process, while [srs-dolphin][srs-dolphin] is a MultipleProcess SRS. | ||
| 658 | +1. HLS aonly: The HLS audio only streaming delivery. | ||
| 659 | +1. BW check: The bandwidth check. | ||
| 660 | +1. Security: To allow or deny stream publish or play. | ||
| 661 | +1. Reload: Nginx supports reload, but not nginx-rtmp. | ||
| 662 | + | ||
| 722 | ### Performance | 663 | ### Performance |
| 723 | 664 | ||
| 724 | Performance benchmark history, on virtual box. | 665 | Performance benchmark history, on virtual box. |
| @@ -907,7 +848,60 @@ Remark: | @@ -907,7 +848,60 @@ Remark: | ||
| 907 | 1. Streamer: SRS listen to remux some protocol to rtmp to SRS. Read [Streamer][v2_CN_Streamer]. | 848 | 1. Streamer: SRS listen to remux some protocol to rtmp to SRS. Read [Streamer][v2_CN_Streamer]. |
| 908 | 1. EXEC: SRS exec external application when got event, read [ng-exec][v3_CN_NgExec]. | 849 | 1. EXEC: SRS exec external application when got event, read [ng-exec][v3_CN_NgExec]. |
| 909 | 850 | ||
| 910 | -## Donation | 851 | +### AUTHORS |
| 852 | + | ||
| 853 | +There are two types of people that have contributed to the SRS project: | ||
| 854 | +* AUTHORS: Contribute important features. Names of all | ||
| 855 | +PRIMARY response in NetConnection.connect and metadata. | ||
| 856 | +* CONTRIBUTORS: Submit patches, report bugs, add translations, help answer | ||
| 857 | +newbie questions, and generally make SRS that much better. | ||
| 858 | + | ||
| 859 | +About all PRIMARY, AUTHORS and CONTRIBUTORS, read [AUTHORS.txt][authors]. | ||
| 860 | + | ||
| 861 | +A big THANK YOU goes to: | ||
| 862 | +* All friends of SRS for [big supports][bigthanks]. | ||
| 863 | +* Genes amd Mabbott for creating [st][st]([state-threads][st2]). | ||
| 864 | +* Michael Talyanksy for introducing us to use st. | ||
| 865 | +* Roman Arutyunyan for creating [nginx-rtmp][nginx-rtmp] for SRS to refer to. | ||
| 866 | +* Joyent for creating [http-parser][http-parser] for http-api for SRS. | ||
| 867 | +* Igor Sysoev for creating [nginx][nginx] for SRS to refer to. | ||
| 868 | +* [FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use to transcode. | ||
| 869 | +* Guido van Rossum for creating Python for api-server for SRS. | ||
| 870 | + | ||
| 871 | +### Mirrors | ||
| 872 | + | ||
| 873 | +Github: [https://github.com/ossrs/srs][srs], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 874 | + | ||
| 875 | +``` | ||
| 876 | +git clone https://github.com/ossrs/srs.git | ||
| 877 | +``` | ||
| 878 | + | ||
| 879 | +CSDN: [https://code.csdn.net/winlinvip/srs-csdn][csdn], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 880 | + | ||
| 881 | +``` | ||
| 882 | +git clone https://code.csdn.net/winlinvip/srs-csdn.git | ||
| 883 | +``` | ||
| 884 | + | ||
| 885 | +OSChina: [http://git.oschina.net/winlinvip/srs.oschina][oschina], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 886 | + | ||
| 887 | +``` | ||
| 888 | +git clone https://git.oschina.net/winlinvip/srs.oschina.git | ||
| 889 | +``` | ||
| 890 | + | ||
| 891 | +Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) | ||
| 892 | + | ||
| 893 | +``` | ||
| 894 | +git clone https://gitlab.com/winlinvip/srs-gitlab.git | ||
| 895 | +``` | ||
| 896 | + | ||
| 897 | +### System Requirements | ||
| 898 | + | ||
| 899 | +Supported operating systems and hardware: | ||
| 900 | +* All Linux , both 32 and 64 bits | ||
| 901 | +* Apple OSX(Darwin), both 32 and 64bits. | ||
| 902 | +* All hardware with x86/x86_64/arm/mips cpu. | ||
| 903 | + | ||
| 904 | +### Donation | ||
| 911 | 905 | ||
| 912 | [][donation1] | 906 | [][donation1] |
| 913 | [][donation2] | 907 | [][donation2] |
-
请 注册 或 登录 后发表评论