正在显示
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 |
-
请 注册 或 登录 后发表评论