正在显示
1 个修改的文件
包含
53 行增加
和
53 行删除
| @@ -17,13 +17,13 @@ For the wiki for SRS/3.0, please read [Chinese][srs_CN] or [English][srs_EN]. | @@ -17,13 +17,13 @@ For the wiki for SRS/3.0, please read [Chinese][srs_CN] or [English][srs_EN]. | ||
| 17 | * [Product](#product) | 17 | * [Product](#product) |
| 18 | * [Usage](#usage) | 18 | * [Usage](#usage) |
| 19 | * [Wiki for v3.0](#srs-30-wiki) | 19 | * [Wiki for v3.0](#srs-30-wiki) |
| 20 | - * [v3.0 changes](#v3-changes) | ||
| 21 | * [Wiki for v2.0](#srs-20-wiki) | 20 | * [Wiki for v2.0](#srs-20-wiki) |
| 22 | - * [v2.0 changes](#v2-changes) | ||
| 23 | * [Wiki for v1.0](#srs-10-wiki) | 21 | * [Wiki for v1.0](#srs-10-wiki) |
| 22 | + * [Features](#features) | ||
| 23 | + * [v3.0 changes](#v3-changes) | ||
| 24 | + * [v2.0 changes](#v2-changes) | ||
| 24 | * [v1.0 changes](#v1-changes) | 25 | * [v1.0 changes](#v1-changes) |
| 25 | * [Releases](#releases) | 26 | * [Releases](#releases) |
| 26 | - * [Features](#features) | ||
| 27 | * [Compare](#compare) | 27 | * [Compare](#compare) |
| 28 | * [Performance](#performance) | 28 | * [Performance](#performance) |
| 29 | * [Architecture](#architecture) | 29 | * [Architecture](#architecture) |
| @@ -130,6 +130,56 @@ Please select your language: | @@ -130,6 +130,56 @@ Please select your language: | ||
| 130 | * [SRS 3.0 English][v3_EN_Home] | 130 | * [SRS 3.0 English][v3_EN_Home] |
| 131 | * [SRS 3.0 Chinese][v3_CN_Home] | 131 | * [SRS 3.0 Chinese][v3_CN_Home] |
| 132 | 132 | ||
| 133 | +### Features | ||
| 134 | + | ||
| 135 | +- [x] Simple and stable enough. | ||
| 136 | +- [x] Support RTMP origin-edge cluster, for origin ([CN][v1_CN_DeliveryRTMP],[EN][v1_EN_DeliveryRTMP]), for edge([CN][v1_CN_Edge], [EN][v1_EN_Edge]). | ||
| 137 | +- [x] Support remux RTMP to HTTP-FLV([CN][v2_CN_SampleHttpFlv], [EN][v2_EN_SampleHttpFlv]) or HLS([CN][v1_CN_DeliveryHLS], [EN][v1_EN_DeliveryHLS]). | ||
| 138 | +- [x] High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event(st) driven. | ||
| 139 | +- [x] High-concurrency([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB. | ||
| 140 | +- [x] Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]) and \_\_defaultVhost\_\_. | ||
| 141 | +- [x] Support HLS audio-only([CN][v1_CN_DeliveryHLS2], [EN][v1_EN_DeliveryHLS2]) live streaming. | ||
| 142 | +- [x] Support reload([CN][v1_CN_Reload], [EN][v1_EN_Reload]) config to hot apply config. | ||
| 143 | +- [x] Support gop-cache to cache last gop([CN][v1_CN_LowLatency2], [EN][v1_EN_LowLatency2]) for fast startup. | ||
| 144 | +- [x] Support listen at multiple ports. | ||
| 145 | +- [x] Support RTMP long time(>4.6hours) publish/play. | ||
| 146 | +- [x] Support forward([CN][v1_CN_Forward], [EN][v1_EN_Forward]) in master-slave mode. | ||
| 147 | +- [x] Support transcoding([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) by fork ffmpeg. | ||
| 148 | +- [x] Support HTTP-callback([CN][v1_CN_HTTPCallback], [EN][v1_EN_HTTPCallback]) for authentication and injection. | ||
| 149 | +- [x] Support bandwidth test([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]) api and flash client. | ||
| 150 | +- [x] Support wiki in both [Chinese][v1_CN_Home] and [English][v1_EN_Home]. | ||
| 151 | +- [x] Support RTMP client library: srs-librtmp([CN][v2_CN_SrsLibrtmp], [EN][v2_EN_SrsLibrtmp]) | ||
| 152 | +- [x] Support ARM([CN][v1_CN_SrsLinuxArm], [EN][v1_EN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp. | ||
| 153 | +- [x] Support HTTP-API([CN][v1_CN_HTTPApi], [EN][v1_EN_HTTPApi]) for management. | ||
| 154 | +- [x] Support ingest([CN][v1_CN_Ingest], [EN][v1_EN_Ingest]) other protocol to RTMP by ffmpeg. | ||
| 155 | +- [x] Support DVR([CN][v1_CN_DVR], [EN][v1_EN_DVR]) to record live to flv file. | ||
| 156 | +- [x] Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]). | ||
| 157 | +- [x] Support Adobe FMS/AMS token traverse([CN][v1_CN_DRM2], [EN][v1_EN_DRM2]). | ||
| 158 | +- [x] Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for http streaming. | ||
| 159 | +- [x] Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp. | ||
| 160 | +- [x] Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp. | ||
| 161 | +- [x] Support low latency(0.1s+), please read [bug #257][bug #257]. | ||
| 162 | +- [x] Support security to allow/deny publish/play ip([CN][v2_CN_Security], [EN][v2_EN_Security]). | ||
| 163 | +- [x] Support remux RTMP to http flv/mp3/aac/ts live stream, please read wiki([CN][v2_CN_DeliveryHttpStream], [EN][v2_CN_DeliveryHttpStream]). | ||
| 164 | +- [x] Support HLS with mp3(h.264+mp3), please read [bug #301][bug #301]. | ||
| 165 | +- [x] Support EXEC introduced by nginx-rtmp, please read [bug #367][bug #367]. | ||
| 166 | +- [x] Support DVR control module introduced by nginx-rtmp, please read [#459][bug #459]. | ||
| 167 | +- [x] Support HTTP RAW API, please read [#459][bug #459], [#470][bug #470], [#319][bug #319]. | ||
| 168 | +- [x] Support http api/stream CORS for js. | ||
| 169 | +- [x] [experiment] Support big-data with Kafka, please read [#467][bug #467]. | ||
| 170 | +- [x] [experiment] Support Adobe HDS(f4m), please read wiki([CN][v1_CN_DeliveryHDS], [EN][v1_EN_DeliveryHDS]). | ||
| 171 | +- [x] [experiment] Support push MPEG-TS over UDP to SRS, please read [bug #250][bug #250]. | ||
| 172 | +- [x] [experiment] Support push RTSP to SRS, please read [bug #133][bug #133]. | ||
| 173 | +- [x] [experiment] Support push POST FLV over HTTP, please read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]). | ||
| 174 | +- [x] [experiment] Support multiple processes by [dolphin][srs-dolphin] or [oryx][oryx]. | ||
| 175 | +- [x] [experiment] Support [mgmt console][console], please read [srs-ngb][srs-ngb]. | ||
| 176 | +- [ ] Enhanced forward with vhost and url variables. | ||
| 177 | +- [ ] Support source or idle stream cleanup. | ||
| 178 | +- [ ] Support origin cluster, please read [#464][bug #464], [RTMP 302][bug #92]. | ||
| 179 | +- [ ] Support H.265, push RTMP with H.265, delivery in HLS, read [#465][bug #465]. | ||
| 180 | +- [ ] Support MPEG-DASH, the future streaming protocol, read [#299][bug #299]. | ||
| 181 | +- [ ] Support HLS+, please read [#466][bug #466] and [#468][bug #468]. | ||
| 182 | + | ||
| 133 | ### V3 changes | 183 | ### V3 changes |
| 134 | 184 | ||
| 135 | * v3.0, 2017-01-05, for [#324][bug #324], always enable hstrs. 3.0.10 | 185 | * v3.0, 2017-01-05, for [#324][bug #324], always enable hstrs. 3.0.10 |
| @@ -513,56 +563,6 @@ Please select your language: | @@ -513,56 +563,6 @@ Please select your language: | ||
| 513 | * 2013-10-23, [Release v0.1.0][r0.1], support [rtmp FMLE/FFMPEG publish][v1_CN_DeliveryRTMP], vp6. 8287 lines. | 563 | * 2013-10-23, [Release v0.1.0][r0.1], support [rtmp FMLE/FFMPEG publish][v1_CN_DeliveryRTMP], vp6. 8287 lines. |
| 514 | * 2013-10-17, Created. | 564 | * 2013-10-17, Created. |
| 515 | 565 | ||
| 516 | -### Features | ||
| 517 | - | ||
| 518 | -- [x] Simple and stable enough. | ||
| 519 | -- [x] Support RTMP origin-edge cluster, for origin ([CN][v1_CN_DeliveryRTMP],[EN][v1_EN_DeliveryRTMP]), for edge([CN][v1_CN_Edge], [EN][v1_EN_Edge]). | ||
| 520 | -- [x] Support remux RTMP to HTTP-FLV([CN][v2_CN_SampleHttpFlv], [EN][v2_EN_SampleHttpFlv]) or HLS([CN][v1_CN_DeliveryHLS], [EN][v1_EN_DeliveryHLS]). | ||
| 521 | -- [x] High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event(st) driven. | ||
| 522 | -- [x] High-concurrency([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB. | ||
| 523 | -- [x] Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]) and \_\_defaultVhost\_\_. | ||
| 524 | -- [x] Support HLS audio-only([CN][v1_CN_DeliveryHLS2], [EN][v1_EN_DeliveryHLS2]) live streaming. | ||
| 525 | -- [x] Support reload([CN][v1_CN_Reload], [EN][v1_EN_Reload]) config to hot apply config. | ||
| 526 | -- [x] Support gop-cache to cache last gop([CN][v1_CN_LowLatency2], [EN][v1_EN_LowLatency2]) for fast startup. | ||
| 527 | -- [x] Support listen at multiple ports. | ||
| 528 | -- [x] Support RTMP long time(>4.6hours) publish/play. | ||
| 529 | -- [x] Support forward([CN][v1_CN_Forward], [EN][v1_EN_Forward]) in master-slave mode. | ||
| 530 | -- [x] Support transcoding([CN][v1_CN_FFMPEG], [EN][v1_EN_FFMPEG]) by fork ffmpeg. | ||
| 531 | -- [x] Support HTTP-callback([CN][v1_CN_HTTPCallback], [EN][v1_EN_HTTPCallback]) for authentication and injection. | ||
| 532 | -- [x] Support bandwidth test([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]) api and flash client. | ||
| 533 | -- [x] Support wiki in both [Chinese][v1_CN_Home] and [English][v1_EN_Home]. | ||
| 534 | -- [x] Support RTMP client library: srs-librtmp([CN][v2_CN_SrsLibrtmp], [EN][v2_EN_SrsLibrtmp]) | ||
| 535 | -- [x] Support ARM([CN][v1_CN_SrsLinuxArm], [EN][v1_EN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp. | ||
| 536 | -- [x] Support HTTP-API([CN][v1_CN_HTTPApi], [EN][v1_EN_HTTPApi]) for management. | ||
| 537 | -- [x] Support ingest([CN][v1_CN_Ingest], [EN][v1_EN_Ingest]) other protocol to RTMP by ffmpeg. | ||
| 538 | -- [x] Support DVR([CN][v1_CN_DVR], [EN][v1_EN_DVR]) to record live to flv file. | ||
| 539 | -- [x] Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]). | ||
| 540 | -- [x] Support Adobe FMS/AMS token traverse([CN][v1_CN_DRM2], [EN][v1_EN_DRM2]). | ||
| 541 | -- [x] Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for http streaming. | ||
| 542 | -- [x] Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp. | ||
| 543 | -- [x] Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp. | ||
| 544 | -- [x] Support low latency(0.1s+), please read [bug #257][bug #257]. | ||
| 545 | -- [x] Support security to allow/deny publish/play ip([CN][v2_CN_Security], [EN][v2_EN_Security]). | ||
| 546 | -- [x] Support remux RTMP to http flv/mp3/aac/ts live stream, please read wiki([CN][v2_CN_DeliveryHttpStream], [EN][v2_CN_DeliveryHttpStream]). | ||
| 547 | -- [x] Support HLS with mp3(h.264+mp3), please read [bug #301][bug #301]. | ||
| 548 | -- [x] Support EXEC introduced by nginx-rtmp, please read [bug #367][bug #367]. | ||
| 549 | -- [x] Support DVR control module introduced by nginx-rtmp, please read [#459][bug #459]. | ||
| 550 | -- [x] Support HTTP RAW API, please read [#459][bug #459], [#470][bug #470], [#319][bug #319]. | ||
| 551 | -- [x] Support http api/stream CORS for js. | ||
| 552 | -- [x] [experiment] Support big-data with Kafka, please read [#467][bug #467]. | ||
| 553 | -- [x] [experiment] Support Adobe HDS(f4m), please read wiki([CN][v1_CN_DeliveryHDS], [EN][v1_EN_DeliveryHDS]). | ||
| 554 | -- [x] [experiment] Support push MPEG-TS over UDP to SRS, please read [bug #250][bug #250]. | ||
| 555 | -- [x] [experiment] Support push RTSP to SRS, please read [bug #133][bug #133]. | ||
| 556 | -- [x] [experiment] Support push POST FLV over HTTP, please read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]). | ||
| 557 | -- [x] [experiment] Support multiple processes by [dolphin][srs-dolphin] or [oryx][oryx]. | ||
| 558 | -- [x] [experiment] Support [mgmt console][console], please read [srs-ngb][srs-ngb]. | ||
| 559 | -- [ ] Enhanced forward with vhost and url variables. | ||
| 560 | -- [ ] Support source or idle stream cleanup. | ||
| 561 | -- [ ] Support origin cluster, please read [#464][bug #464], [RTMP 302][bug #92]. | ||
| 562 | -- [ ] Support H.265, push RTMP with H.265, delivery in HLS, read [#465][bug #465]. | ||
| 563 | -- [ ] Support MPEG-DASH, the future streaming protocol, read [#299][bug #299]. | ||
| 564 | -- [ ] Support HLS+, please read [#466][bug #466] and [#468][bug #468]. | ||
| 565 | - | ||
| 566 | ### Compare | 566 | ### Compare |
| 567 | 567 | ||
| 568 | Compare SRS with other media server. | 568 | Compare SRS with other media server. |
-
请 注册 或 登录 后发表评论