正在显示
1 个修改的文件
包含
216 行增加
和
61 行删除
| @@ -40,26 +40,125 @@ git clone https://git.oschina.net/winlinvip/srs.oschina.git | @@ -40,26 +40,125 @@ git clone https://git.oschina.net/winlinvip/srs.oschina.git | ||
| 40 | 40 | ||
| 41 | SRS(SIMPLE RTMP Server) over state-threads created in 2013.10. | 41 | SRS(SIMPLE RTMP Server) over state-threads created in 2013.10. |
| 42 | 42 | ||
| 43 | -SRS is a simple, [RTMP](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP)/[HLS](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS), | ||
| 44 | -[high-performance](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Performance), single/multiple(plan) processes, edge/origin live server, | ||
| 45 | -[x86/x64/arm](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm), | ||
| 46 | -compile depends on [st](http://sourceforge.net/projects/state-threads)(required), [ssl](http://www.openssl.org/) and [http-parser](https://github.com/joyent/http-parser), | ||
| 47 | -use [nginx](http://nginx.org/), [ffmpeg](http://ffmpeg.org/) and [cherrypy](http://www.cherrypy.org/) as external tools. that is, only need st to run srs for | ||
| 48 | -minimum run. see [Build](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Build). | ||
| 49 | - | ||
| 50 | -SRS supports [vhost](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_RtmpUrlVhost), | ||
| 51 | -rtmp([encoder push](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP), client/[edge](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Edge) pull), [ingester(srs pull)](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Ingest), | ||
| 52 | -[HLS](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS), [HLS audio only](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS#hlsaudioonly), [transcoding](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG), | ||
| 53 | -[forward](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG), [http hooks](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPCallback), [http api](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPApi), | ||
| 54 | -[http server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPServer), [dvr](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DVR). | ||
| 55 | - | 43 | +SRS delivers rtmp/hls live on x86/x64/arm/mips linux, |
| 44 | +supports origin/edge/vhost and transcode/ingest and dvr/forward | ||
| 45 | +and http-api/http-callback/reload, introduces tracable | ||
| 46 | +session-oriented log, exports client srs-librtmp, | ||
| 47 | +provides EN/CN wiki and the most simple architecture. | ||
| 48 | + | ||
| 49 | +SRS focus on small problem domain, which is the most complex for all software(see OOAD). | ||
| 50 | +Because of lack of deveoper resource, SRS only provides features which is the most popular | ||
| 51 | +for internet. SRS is simple for and only for problem domain is simplified. | ||
| 52 | + | ||
| 53 | +SRS is a simple, RTMP( | ||
| 54 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP), | ||
| 55 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryRTMP) | ||
| 56 | +), | ||
| 57 | +HLS( | ||
| 58 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS), | ||
| 59 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryHLS) | ||
| 60 | +), | ||
| 61 | +high-performance(6k+ clients)( | ||
| 62 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Performance), | ||
| 63 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Performance) | ||
| 64 | +), | ||
| 65 | +single processes, edge/origin live server, | ||
| 66 | +x86/x64/arm( | ||
| 67 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm), | ||
| 68 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SrsLinuxArm) | ||
| 69 | +), | ||
| 70 | +compile depends on st( | ||
| 71 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Architecture), | ||
| 72 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Architecture) | ||
| 73 | +)(required), | ||
| 74 | +[ssl](http://www.openssl.org/) and [http-parser](https://github.com/joyent/http-parser), | ||
| 75 | +use [nginx](http://nginx.org/), [ffmpeg](http://ffmpeg.org/) and | ||
| 76 | +[cherrypy](http://www.cherrypy.org/) as external tools. that is, only need st to run srs for | ||
| 77 | +minimum run. see Build( | ||
| 78 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Build), | ||
| 79 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Build) | ||
| 80 | +). | ||
| 81 | + | ||
| 82 | +SRS supports vhost( | ||
| 83 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_RtmpUrlVhost), | ||
| 84 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_RtmpUrlVhost) | ||
| 85 | +), | ||
| 86 | +rtmp(encoder push( | ||
| 87 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP), | ||
| 88 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryRTMP) | ||
| 89 | +), | ||
| 90 | +client/edge( | ||
| 91 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Edge), | ||
| 92 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Edge), | ||
| 93 | +) pull), | ||
| 94 | +ingester(srs pull)( | ||
| 95 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Ingest), | ||
| 96 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Ingest) | ||
| 97 | +), | ||
| 98 | +HLS( | ||
| 99 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS), | ||
| 100 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryHLS) | ||
| 101 | +), | ||
| 102 | +HLS audio only( | ||
| 103 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS#hlsaudioonly), | ||
| 104 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryHLS#hlsaudioonly) | ||
| 105 | +), | ||
| 106 | +transcoding( | ||
| 107 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG), | ||
| 108 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_FFMPEG) | ||
| 109 | +), | ||
| 110 | +forward( | ||
| 111 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG), | ||
| 112 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_FFMPEG) | ||
| 113 | +), | ||
| 114 | +http hooks( | ||
| 115 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPCallback), | ||
| 116 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_HTTPCallback) | ||
| 117 | +), | ||
| 118 | +http api( | ||
| 119 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPApi), | ||
| 120 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_HTTPApi) | ||
| 121 | +), | ||
| 122 | +http server( | ||
| 123 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPServer), | ||
| 124 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_HTTPServer) | ||
| 125 | +), | ||
| 126 | +dvr( | ||
| 127 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DVR), | ||
| 128 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DVR) | ||
| 129 | +) and | ||
| 130 | +SRS-librtmp( | ||
| 131 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLibrtmp), | ||
| 132 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SrsLibrtmp) | ||
| 133 | +). | ||
| 134 | + | ||
| 135 | +SRS-librtmp( | ||
| 136 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLibrtmp), | ||
| 137 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SrsLibrtmp) | ||
| 138 | +) | ||
| 139 | +is a client library, only depends on c++ and socket, with | ||
| 140 | +examples( | ||
| 141 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLibrtmp#srs-librtmp-examples), | ||
| 142 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SrsLibrtmp#srs-librtmp-examples) | ||
| 143 | +)(to play, | ||
| 144 | +publish, ingest flv/rtmp, inject flv, | ||
| 145 | +SRS-librtmp( | ||
| 146 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLibrtmp), | ||
| 147 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SrsLibrtmp) | ||
| 148 | +) | ||
| 149 | +provides apis to support RTMP, FLV and AMF0. | ||
| 150 | + | ||
| 151 | +WebSite: [http://ossrs.net](http://ossrs.net) <br/> | ||
| 56 | Release: [http://winlinvip.github.io/srs.release](http://winlinvip.github.io/srs.release) <br/> | 152 | Release: [http://winlinvip.github.io/srs.release](http://winlinvip.github.io/srs.release) <br/> |
| 57 | Blog: [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> | 153 | Blog: [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> |
| 58 | CSDN mirror: [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) <br/> | 154 | CSDN mirror: [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) <br/> |
| 59 | See also: [https://github.com/winlinvip/simple-rtmp-server](https://github.com/winlinvip/simple-rtmp-server) <br/> | 155 | See also: [https://github.com/winlinvip/simple-rtmp-server](https://github.com/winlinvip/simple-rtmp-server) <br/> |
| 60 | Github DEMO: [demo with your SRS](http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html?server=192.168.1.170&vhost=192.168.1.170) <br/> | 156 | Github DEMO: [demo with your SRS](http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html?server=192.168.1.170&vhost=192.168.1.170) <br/> |
| 61 | Wiki: [https://github.com/winlinvip/simple-rtmp-server/wiki](https://github.com/winlinvip/simple-rtmp-server/wiki) <br/> | 157 | Wiki: [https://github.com/winlinvip/simple-rtmp-server/wiki](https://github.com/winlinvip/simple-rtmp-server/wiki) <br/> |
| 62 | -StreamServers:[BLS](https://github.com/wenjiegit/Bull-Live-Server)/[BLE](https://github.com/wenjiegit/Bull-Live-Encoder), [NGINX-RTMP](https://github.com/arut/nginx-rtmp-module), [CRTMPD](http://www.rtmpd.com/), [RED5](http://www.red5.org/), [WOWZA](http://www.wowza.com/), [FMS/AMS](http://www.adobe.com/products/adobe-media-server-standard.html) | 158 | +StreamServers:[BLS](https://github.com/wenjiegit/Bull-Live-Server)/[BLE](https://github.com/wenjiegit/Bull-Live-Encoder), |
| 159 | +[NGINX-RTMP](https://github.com/arut/nginx-rtmp-module), [CRTMPD](http://www.rtmpd.com/), | ||
| 160 | +[RED5](http://www.red5.org/), [WOWZA](http://www.wowza.com/), | ||
| 161 | +[FMS/AMS](http://www.adobe.com/products/adobe-media-server-standard.html) | ||
| 63 | 162 | ||
| 64 | ## AUTHORS | 163 | ## AUTHORS |
| 65 | The PRIMARY AUTHORS are (and/or have been)(Authors ordered by first contribution): | 164 | The PRIMARY AUTHORS are (and/or have been)(Authors ordered by first contribution): |
| @@ -73,7 +172,8 @@ About the primary AUTHORS: | @@ -73,7 +172,8 @@ About the primary AUTHORS: | ||
| 73 | 172 | ||
| 74 | And here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS -- | 173 | And here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS -- |
| 75 | people who have submitted patches, reported bugs, added translations, helped | 174 | people who have submitted patches, reported bugs, added translations, helped |
| 76 | -answer newbie questions, and generally made SRS that much better: [AUTHORS.txt](https://github.com/winlinvip/simple-rtmp-server/blob/master/AUTHORS.txt) | 175 | +answer newbie questions, and generally made SRS that much better: |
| 176 | +[AUTHORS.txt](https://github.com/winlinvip/simple-rtmp-server/blob/master/AUTHORS.txt) | ||
| 77 | 177 | ||
| 78 | A big THANK YOU goes to: | 178 | A big THANK YOU goes to: |
| 79 | * [chnvideo](chnvideo.com) co-founders([wiseyoung](mailto:wiseyoung@chnvideo.com), [trueice](mailto:trueice@chnvideo.com), [leijian](mailto:leijian@chnvideo.com)) for [big supports](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Product#bigthanks). | 179 | * [chnvideo](chnvideo.com) co-founders([wiseyoung](mailto:wiseyoung@chnvideo.com), [trueice](mailto:trueice@chnvideo.com), [leijian](mailto:leijian@chnvideo.com)) for [big supports](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Product#bigthanks). |
| @@ -85,6 +185,38 @@ A big THANK YOU goes to: | @@ -85,6 +185,38 @@ A big THANK YOU goes to: | ||
| 85 | * [FFMPEG](http://ffmpeg.org/) and [libx264](http://www.videolan.org/) group for SRS to use to transcode. | 185 | * [FFMPEG](http://ffmpeg.org/) and [libx264](http://www.videolan.org/) group for SRS to use to transcode. |
| 86 | * Guido van Rossum for creating Python for api-server for SRS. | 186 | * Guido van Rossum for creating Python for api-server for SRS. |
| 87 | 187 | ||
| 188 | +## Mirrors | ||
| 189 | + | ||
| 190 | +Github: [https://github.com/winlinvip/simple-rtmp-server](https://github.com/winlinvip/simple-rtmp-server), | ||
| 191 | +the GIT usage( | ||
| 192 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Git), | ||
| 193 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Git) | ||
| 194 | +) | ||
| 195 | + | ||
| 196 | +```bash | ||
| 197 | +git clone https://github.com/winlinvip/simple-rtmp-server.git | ||
| 198 | +``` | ||
| 199 | + | ||
| 200 | +CSDN: [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) , | ||
| 201 | +the GIT usage( | ||
| 202 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Git), | ||
| 203 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Git) | ||
| 204 | +) | ||
| 205 | + | ||
| 206 | +```bash | ||
| 207 | +git clone https://code.csdn.net/winlinvip/srs-csdn.git | ||
| 208 | +``` | ||
| 209 | + | ||
| 210 | +OSChina: [http://git.oschina.net/winlinvip/srs.oschina](http://git.oschina.net/winlinvip/srs.oschina) , | ||
| 211 | +the GIT usage( | ||
| 212 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Git), | ||
| 213 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Git) | ||
| 214 | +) | ||
| 215 | + | ||
| 216 | +```bash | ||
| 217 | +git clone https://git.oschina.net/winlinvip/srs.oschina.git | ||
| 218 | +``` | ||
| 219 | + | ||
| 88 | ## Usage | 220 | ## Usage |
| 89 | 221 | ||
| 90 | <strong>Step 1:</strong> get SRS | 222 | <strong>Step 1:</strong> get SRS |
| @@ -95,7 +227,10 @@ cd simple-rtmp-server/trunk | @@ -95,7 +227,10 @@ cd simple-rtmp-server/trunk | ||
| 95 | </pre> | 227 | </pre> |
| 96 | 228 | ||
| 97 | <strong>Step 2:</strong> build SRS, | 229 | <strong>Step 2:</strong> build SRS, |
| 98 | -<strong>Requires Centos6.x/Ubuntu12 32/64bits, others see [Build](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Build)</strong> | 230 | +<strong>Requires Centos6.x/Ubuntu12 32/64bits, others see Build( |
| 231 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Build), | ||
| 232 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Build) | ||
| 233 | +).</strong> | ||
| 99 | 234 | ||
| 100 | <pre> | 235 | <pre> |
| 101 | ./configure && make | 236 | ./configure && make |
| @@ -108,32 +243,72 @@ cd simple-rtmp-server/trunk | @@ -108,32 +243,72 @@ cd simple-rtmp-server/trunk | ||
| 108 | </pre> | 243 | </pre> |
| 109 | 244 | ||
| 110 | <strong>See also:</strong> | 245 | <strong>See also:</strong> |
| 111 | -* [Usage: How to delivery RTMP?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleRTMP) | ||
| 112 | -* [Usage: How to delivery HLS?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHLS) | ||
| 113 | -* [Usage: How to delivery HLS for other codec?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleTranscode2HLS) | ||
| 114 | -* [Usage: How to transode RTMP stream by SRS?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleFFMPEG) | ||
| 115 | -* [Usage: How to forward stream to other server?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleForward) | ||
| 116 | -* [Usage: How to deploy low lantency application?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleRealtime) | ||
| 117 | -* [Usage: How to deploy SRS on ARM?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleARM) | ||
| 118 | -* [Usage: How to ingest file/stream/device to SRS?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleIngest) | ||
| 119 | -* [Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHTTP) | ||
| 120 | -* [Usage: How to show the demo of SRS?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo) | ||
| 121 | -* [Usage: Solution using SRS?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Sample) | ||
| 122 | -* [Usage: Why SRS?](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Product) | 246 | +* Usage: How to delivery RTMP?( |
| 247 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleRTMP), | ||
| 248 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleRTMP) | ||
| 249 | +) | ||
| 250 | +* Usage: How to delivery HLS?( | ||
| 251 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHLS), | ||
| 252 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleHLS) | ||
| 253 | +) | ||
| 254 | +* Usage: How to delivery HLS for other codec?( | ||
| 255 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleTranscode2HLS), | ||
| 256 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleTranscode2HLS) | ||
| 257 | +) | ||
| 258 | +* Usage: How to transode RTMP stream by SRS?( | ||
| 259 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleFFMPEG), | ||
| 260 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleFFMPEG) | ||
| 261 | +) | ||
| 262 | +* Usage: How to forward stream to other server?( | ||
| 263 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleForward), | ||
| 264 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleForward) | ||
| 265 | +) | ||
| 266 | +* Usage: How to deploy low lantency application?( | ||
| 267 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleRealtime), | ||
| 268 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleRealtime) | ||
| 269 | +) | ||
| 270 | +* Usage: How to deploy SRS on ARM?( | ||
| 271 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleARM), | ||
| 272 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleARM) | ||
| 273 | +) | ||
| 274 | +* Usage: How to ingest file/stream/device to SRS?( | ||
| 275 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleIngest), | ||
| 276 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleIngest) | ||
| 277 | +) | ||
| 278 | +* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?( | ||
| 279 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHTTP), | ||
| 280 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleHTTP) | ||
| 281 | +) | ||
| 282 | +* Usage: How to show the demo of SRS?( | ||
| 283 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo), | ||
| 284 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleDemo) | ||
| 285 | +) | ||
| 286 | +* Usage: Solution using SRS?( | ||
| 287 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Sample), | ||
| 288 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Sample) | ||
| 289 | +) | ||
| 290 | +* Usage: Why SRS?( | ||
| 291 | +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Product), | ||
| 292 | +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Product) | ||
| 293 | +) | ||
| 123 | 294 | ||
| 124 | ## Wiki | 295 | ## Wiki |
| 125 | 296 | ||
| 297 | +SRS 1.0 wiki | ||
| 298 | + | ||
| 126 | Please select your language: | 299 | Please select your language: |
| 127 | -* [English](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Home) | ||
| 128 | -* [Chinese](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Home) | 300 | +* [SRS 1.0 English](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Home) |
| 301 | +* [SRS 1.0 Chinese](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Home) | ||
| 129 | 302 | ||
| 130 | ## Donation | 303 | ## Donation |
| 131 | 304 | ||
| 132 | -[http://winlinvip.github.io/srs.release/donation/index.html](http://winlinvip.github.io/srs.release/donation/index.html) | ||
| 133 | -OR [aliyun mirror](http://www.ossrs.net/srs.release/donation/index.html) | 305 | +Donation:<br/> |
| 306 | +[http://winlinvip.github.io/srs.release/donation/index.html](http://winlinvip.github.io/srs.release/donation/index.html) OR <br/> | ||
| 307 | +[http://www.ossrs.net/srs.release/donation/index.html](http://www.ossrs.net/srs.release/donation/index.html) | ||
| 134 | 308 | ||
| 135 | Donations:<br/> | 309 | Donations:<br/> |
| 136 | -[https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt](https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt) | 310 | +[https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt] |
| 311 | +(https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt) | ||
| 137 | 312 | ||
| 138 | ## System Requirements | 313 | ## System Requirements |
| 139 | Supported operating systems and hardware: | 314 | Supported operating systems and hardware: |
| @@ -176,6 +351,8 @@ Supported operating systems and hardware: | @@ -176,6 +351,8 @@ Supported operating systems and hardware: | ||
| 176 | 1. 全面的Utest:Support system full utest on gtest. | 351 | 1. 全面的Utest:Support system full utest on gtest. |
| 177 | 1. (不稳定)内嵌HTTP服务器:[experiment] Support embeded [HTTP server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHTTP) for hls(live/vod) | 352 | 1. (不稳定)内嵌HTTP服务器:[experiment] Support embeded [HTTP server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHTTP) for hls(live/vod) |
| 178 | 1. (不稳定)FLV点播流:[experiment] Support [vod stream(http flv/hls vod stream)](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FlvVodStream). | 353 | 1. (不稳定)FLV点播流:[experiment] Support [vod stream(http flv/hls vod stream)](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FlvVodStream). |
| 354 | +1. Stable [1.0release branch](https://github.com/winlinvip/simple-rtmp-server/tree/1.0release) and | ||
| 355 | +[2.0dev branch](https://github.com/winlinvip/simple-rtmp-server/tree/master). | ||
| 179 | 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). | 356 | 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). |
| 180 | 1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/winlinvip/simple-rtmp-server/issues/92). | 357 | 1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/winlinvip/simple-rtmp-server/issues/92). |
| 181 | 1. [no-plan] Support multiple processes, for both origin and edge | 358 | 1. [no-plan] Support multiple processes, for both origin and edge |
| @@ -208,7 +385,7 @@ Supported operating systems and hardware: | @@ -208,7 +385,7 @@ Supported operating systems and hardware: | ||
| 208 | * 2013-10-17, Created.<br/> | 385 | * 2013-10-17, Created.<br/> |
| 209 | 386 | ||
| 210 | ## History | 387 | ## History |
| 211 | -* v2.0, 2014-11-13, hotfix [#200](https://github.com/winlinvip/simple-rtmp-server/issues/200), deadloop when read/write 0 and ETIME. 1.0.6. | 388 | +* v1.0, 2014-11-13, hotfix [#200](https://github.com/winlinvip/simple-rtmp-server/issues/200), deadloop when read/write 0 and ETIME. 1.0.6. |
| 212 | * v1.0, 2014-11-06, use number for macro VERSION_MAJOR, VERSION_MINOR and VERSION_REVISION. 1.0.5. | 389 | * v1.0, 2014-11-06, use number for macro VERSION_MAJOR, VERSION_MINOR and VERSION_REVISION. 1.0.5. |
| 213 | * v1.0, 2014-10-24, hotfix [#186](https://github.com/winlinvip/simple-rtmp-server/issues/186), drop connect args when not object. 1.0.3. | 390 | * v1.0, 2014-10-24, hotfix [#186](https://github.com/winlinvip/simple-rtmp-server/issues/186), drop connect args when not object. 1.0.3. |
| 214 | * v1.0, 2014-10-24, rename wiki/xxx to wiki/v1_CN_xxx. 1.0.2. | 391 | * v1.0, 2014-10-24, rename wiki/xxx to wiki/v1_CN_xxx. 1.0.2. |
| @@ -404,11 +581,12 @@ Supported operating systems and hardware: | @@ -404,11 +581,12 @@ Supported operating systems and hardware: | ||
| 404 | 581 | ||
| 405 | Performance benchmark history, on virtual box: | 582 | Performance benchmark history, on virtual box: |
| 406 | 583 | ||
| 407 | -* 2014-07-12, SRS 0.9.156, 2700clients, 89%CPU, 61MB. [benchmark](https://github.com/winlinvip/simple-rtmp-server/commit/6d12280b7cc54c465b1caf8b1402149e77c4c7d9) | 584 | +* 2013-11-28, SRS 0.5.0, 1800clients, 90%CPU, 41MB. [benchmark](https://github.com/winlinvip/simple-rtmp-server/commit/023e23bc8261bec15a70a7ae932098fb4f82b679) |
| 408 | * 2014-07-12, SRS 0.9.156, 1800clients, 68%CPU, 38MB. [benchmark](https://github.com/winlinvip/simple-rtmp-server/commit/e2d273f4939348374bf9644df9d54c4293b39c1a) | 585 | * 2014-07-12, SRS 0.9.156, 1800clients, 68%CPU, 38MB. [benchmark](https://github.com/winlinvip/simple-rtmp-server/commit/e2d273f4939348374bf9644df9d54c4293b39c1a) |
| 409 | -* 2013-11-28, SRS 0.5.0, 1800clients, 90%CPU, 41MB. [benchmark](https://github.com/winlinvip/simple-rtmp-server/commit/023e23bc8261bec15a70a7ae932098fb4f82b679) | 586 | +* 2014-07-12, SRS 0.9.156, 2700clients, 89%CPU, 61MB. [benchmark](https://github.com/winlinvip/simple-rtmp-server/commit/6d12280b7cc54c465b1caf8b1402149e77c4c7d9) |
| 587 | +* 2014-11-11, SRS 1.0.5, 2700clients, 85%CPU, 66MB. (1.0 equals 2.0.12) | ||
| 410 | 588 | ||
| 411 | -Latest benchmark: | 589 | +Latest benchmark(2014-07-12): |
| 412 | 590 | ||
| 413 | 1. 300 connections, 150Mbps, 500kbps, CPU 5.7%, MEM 9208KB. | 591 | 1. 300 connections, 150Mbps, 500kbps, CPU 5.7%, MEM 9208KB. |
| 414 | 1. 600 connections, 300Mbps, 500kbps, CPU 18.3%, MEM 13MB. | 592 | 1. 600 connections, 300Mbps, 500kbps, CPU 18.3%, MEM 13MB. |
| @@ -582,30 +760,7 @@ Remark: | @@ -582,30 +760,7 @@ Remark: | ||
| 582 | (b) The CLI architecture is similar to this, instead, cli process | 760 | (b) The CLI architecture is similar to this, instead, cli process |
| 583 | will collect informations from all stream process, master process | 761 | will collect informations from all stream process, master process |
| 584 | only send signals to child processes. | 762 | only send signals to child processes. |
| 585 | -</pre> | ||
| 586 | - | ||
| 587 | -### (plan) CLI Architecture | ||
| 588 | - | ||
| 589 | -<pre> | ||
| 590 | - +---------+ | ||
| 591 | - +--+ stream1 +---------+ | ||
| 592 | - | +---------+ | | ||
| 593 | - +--------+ | +---------+ | +-------+ | ||
| 594 | - | master +--fork->-+--+ streamN +---amf0--+>--+ cli + | ||
| 595 | - +--------+ | +---------+ | +-------+ | ||
| 596 | - | +-------------+ | | ||
| 597 | - +--+ back source +-----+ | ||
| 598 | - +-------------+ | ||
| 599 | -Remark: | ||
| 600 | -(1) master listen the global api port, for example, 33330 | ||
| 601 | -(2) back source and stream processes listen at private api port, | ||
| 602 | - for example, 33331, 33332, 33333 | ||
| 603 | -(3) work processes(stream and back-source), report private api | ||
| 604 | - port to master global api port. | ||
| 605 | -(4) cli connect to master global api port, get all other private | ||
| 606 | - api ports | ||
| 607 | -(5) cli connect to each stream/back-source process to get api data, | ||
| 608 | - cli analysis and summary the data, return to user. | 763 | +(c) Maybe multiple thread is ok? By winlin. |
| 609 | </pre> | 764 | </pre> |
| 610 | 765 | ||
| 611 | ### Bandwidth Test Workflow | 766 | ### Bandwidth Test Workflow |
-
请 注册 或 登录 后发表评论