winlin

update readme for wiki

正在显示 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