winlin

change dev plan

正在显示 1 个修改的文件 包含 53 行增加23 行删除
@@ -172,22 +172,51 @@ Stream Architecture: @@ -172,22 +172,51 @@ Stream Architecture:
172 | | +-> BandwidthTest ----+-> Flash/StLoad | 172 | | +-> BandwidthTest ----+-> Flash/StLoad |
173 +-----------+-------------------------+----------------+ 173 +-----------+-------------------------+----------------+
174 </pre> 174 </pre>
175 -RTMP cluster(origin/edge) Architecture:<br/> 175 +(plan) RTMP cluster(origin/edge) Architecture:<br/>
176 Remark: cluster over forward, see [Cluster](https://github.com/winlinvip/simple-rtmp-server/wiki/Cluster) 176 Remark: cluster over forward, see [Cluster](https://github.com/winlinvip/simple-rtmp-server/wiki/Cluster)
177 <pre> 177 <pre>
178 - +---------+ +----------+  
179 - + Publish + + Deliver |  
180 - +---|-----+ +----|-----+  
181 -+-----------+-------------------------+----------------+  
182 -| Encoder | SRS(Simple RTMP Server) | Client |  
183 -+-----------+-------------------------+----------------+  
184 -| (FMLE, | +-> RTMP protocol ----+-> Flash Player |  
185 -| FFMPEG, --+-> +-> HLS/NGINX --------+-> m3u8 player |  
186 -| Flash, | +-> Fowarder ---------+-> RTMP Server |  
187 -| XSPLIT, | +-> Transcoder -------+-> RTMP Server |  
188 -| ...) | +-> DVR --------------+-> FILE |  
189 -| | +-> BandwidthTest ----+-> Flash/StLoad |  
190 -+-----------+-------------------------+----------------+ 178 ++---------+ +-----------------+ +-----------------------+
  179 ++ Encoder +--+-->-+ SRS(RTMP Edge) +--->-+ (RTMP Origin) |
  180 ++---------+ | +-----------------+ | SRS/FMS/NGINX-RTMP |
  181 + | | Red5/HELIX/CRTMP |
  182 + +-------------------------->-+ ...... |
  183 + +-----------------------+
  184 +Schema#1: Any RTMP encoder push RTMP stream to RTMP (origin/edge)server,
  185 + where SRS RTMP Edge server will forward stream to origin.
  186 +
  187 +
  188 ++-------------+ +-----------------+ +--------------------+
  189 +| RTMP Origin +-->-+ SRS(RTMP Edge) +--+->-+ Client(RTMP/HLS) |
  190 ++-------------+ +-----------------+ | | Flash/IOS/Android |
  191 + | +--------------------+
  192 + |
  193 + | +-----------------+
  194 + +->-+ SRS(RTMP Edge) +
  195 + +-----------------+
  196 +Schema#2: SRS RTMP Edge server pull stream from origin (or upstream SRS
  197 + RTMP Edge server), then delivery to Client.
  198 +</pre>
  199 +(plan) SRS Multiple processes Architecture:<br/>
  200 +<pre>
  201 + +---------------------------+
  202 + +-----+ worker process(3) |
  203 ++----------------+ | +---------------------------+
  204 +| master process |---(2)---+
  205 +| (1)manager | | +---------------------------+
  206 ++----------------+ +-----+ worker process N |
  207 + | +---------------------------+
  208 + |
  209 + | +---------------------------+
  210 + +-----+ bandwidth test process(4) |
  211 + +---------------------------+
  212 +Remark:
  213 +(1) master process: to fork processes, schedule fd(client) to the "right" process,
  214 + forward messages between processes
  215 +(2) communication: master process use unix domain socket to communicate with
  216 + worker processes.
  217 +(3) worker process: to provide RTMP streaming service, generate HLS files.
  218 +(4) bandwidth test process: for all bandwidth test request, to make the bandwidth
  219 + testing has minimal effect to streaming service
191 </pre> 220 </pre>
192 Bandwidth Test Workflow: 221 Bandwidth Test Workflow:
193 <pre> 222 <pre>
@@ -247,15 +276,16 @@ Supported operating systems and hardware: @@ -247,15 +276,16 @@ Supported operating systems and hardware:
247 22. Player, publisher(encoder), and demo pages(jquery+bootstrap). <br/> 276 22. Player, publisher(encoder), and demo pages(jquery+bootstrap). <br/>
248 23. Demo video meeting or chat(SRS+cherrypy+jquery+bootstrap). <br/> 277 23. Demo video meeting or chat(SRS+cherrypy+jquery+bootstrap). <br/>
249 24. [dev] Full documents in wiki, in chineses. <br/> 278 24. [dev] Full documents in wiki, in chineses. <br/>
250 -25. [plan] Support RTMP edge server<br/>  
251 -26. [plan] Support multiple processes<br/>  
252 -27. [plan] Support network based cli and json result.<br/>  
253 -28. [no-plan] Support adobe flash refer/token/swf verification.<br/>  
254 -29. [no-plan] Support adobe amf3 codec.<br/>  
255 -30. [no-plan] Support dvr(record live to vod file)<br/>  
256 -31. [no-plan] Support encryption: RTMPE/RTMPS, HLS DRM<br/>  
257 -32. [no-plan] Support RTMPT, http to tranverse firewalls<br/>  
258 -33. [no-plan] Support file source, transcoding file to live stream<br/> 279 +25. [plan] Support HLS cluster, use RTMP ATC to generate the TS<br/>
  280 +26. [plan] Support RTMP edge server, push/pull stream from any RTMP server<br/>
  281 +27. [plan] Support multiple processes, for both origin and edge<br/>
  282 +28. [plan] Support network based cli and json result.<br/>
  283 +29. [no-plan] Support adobe flash refer/token/swf verification.<br/>
  284 +30. [no-plan] Support adobe amf3 codec.<br/>
  285 +31. [no-plan] Support dvr(record live to vod file)<br/>
  286 +32. [no-plan] Support encryption: RTMPE/RTMPS, HLS DRM<br/>
  287 +33. [no-plan] Support RTMPT, http to tranverse firewalls<br/>
  288 +34. [no-plan] Support file source, transcoding file to live stream<br/>
259 289
260 ### Performance 290 ### Performance
261 1. 300 connections, 150Mbps, 500kbps, CPU 18.8%, 5956KB. 291 1. 300 connections, 150Mbps, 500kbps, CPU 18.8%, 5956KB.