1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

change dev plan

This commit is contained in:
winlin 2014-02-26 11:06:14 +08:00
parent 3f3e64686d
commit b22ef6b535

View file

@ -172,22 +172,51 @@ Stream Architecture:
| | +-> BandwidthTest ----+-> Flash/StLoad | | | +-> BandwidthTest ----+-> Flash/StLoad |
+-----------+-------------------------+----------------+ +-----------+-------------------------+----------------+
</pre> </pre>
RTMP cluster(origin/edge) Architecture:<br/> (plan) RTMP cluster(origin/edge) Architecture:<br/>
Remark: cluster over forward, see [Cluster](https://github.com/winlinvip/simple-rtmp-server/wiki/Cluster) Remark: cluster over forward, see [Cluster](https://github.com/winlinvip/simple-rtmp-server/wiki/Cluster)
<pre> <pre>
+---------+ +----------+ +---------+ +-----------------+ +-----------------------+
+ Publish + + Deliver | + Encoder +--+-->-+ SRS(RTMP Edge) +--->-+ (RTMP Origin) |
+---|-----+ +----|-----+ +---------+ | +-----------------+ | SRS/FMS/NGINX-RTMP |
+-----------+-------------------------+----------------+ | | Red5/HELIX/CRTMP |
| Encoder | SRS(Simple RTMP Server) | Client | +-------------------------->-+ ...... |
+-----------+-------------------------+----------------+ +-----------------------+
| (FMLE, | +-> RTMP protocol ----+-> Flash Player | Schema#1: Any RTMP encoder push RTMP stream to RTMP (origin/edge)server,
| FFMPEG, --+-> +-> HLS/NGINX --------+-> m3u8 player | where SRS RTMP Edge server will forward stream to origin.
| Flash, | +-> Fowarder ---------+-> RTMP Server |
| XSPLIT, | +-> Transcoder -------+-> RTMP Server |
| ...) | +-> DVR --------------+-> FILE | +-------------+ +-----------------+ +--------------------+
| | +-> BandwidthTest ----+-> Flash/StLoad | | RTMP Origin +-->-+ SRS(RTMP Edge) +--+->-+ Client(RTMP/HLS) |
+-----------+-------------------------+----------------+ +-------------+ +-----------------+ | | Flash/IOS/Android |
| +--------------------+
|
| +-----------------+
+->-+ SRS(RTMP Edge) +
+-----------------+
Schema#2: SRS RTMP Edge server pull stream from origin (or upstream SRS
RTMP Edge server), then delivery to Client.
</pre>
(plan) SRS Multiple processes Architecture:<br/>
<pre>
+---------------------------+
+-----+ worker process(3) |
+----------------+ | +---------------------------+
| master process |---(2)---+
| (1)manager | | +---------------------------+
+----------------+ +-----+ worker process N |
| +---------------------------+
|
| +---------------------------+
+-----+ bandwidth test process(4) |
+---------------------------+
Remark:
(1) master process: to fork processes, schedule fd(client) to the "right" process,
forward messages between processes
(2) communication: master process use unix domain socket to communicate with
worker processes.
(3) worker process: to provide RTMP streaming service, generate HLS files.
(4) bandwidth test process: for all bandwidth test request, to make the bandwidth
testing has minimal effect to streaming service
</pre> </pre>
Bandwidth Test Workflow: Bandwidth Test Workflow:
<pre> <pre>
@ -247,15 +276,16 @@ Supported operating systems and hardware:
22. Player, publisher(encoder), and demo pages(jquery+bootstrap). <br/> 22. Player, publisher(encoder), and demo pages(jquery+bootstrap). <br/>
23. Demo video meeting or chat(SRS+cherrypy+jquery+bootstrap). <br/> 23. Demo video meeting or chat(SRS+cherrypy+jquery+bootstrap). <br/>
24. [dev] Full documents in wiki, in chineses. <br/> 24. [dev] Full documents in wiki, in chineses. <br/>
25. [plan] Support RTMP edge server<br/> 25. [plan] Support HLS cluster, use RTMP ATC to generate the TS<br/>
26. [plan] Support multiple processes<br/> 26. [plan] Support RTMP edge server, push/pull stream from any RTMP server<br/>
27. [plan] Support network based cli and json result.<br/> 27. [plan] Support multiple processes, for both origin and edge<br/>
28. [no-plan] Support adobe flash refer/token/swf verification.<br/> 28. [plan] Support network based cli and json result.<br/>
29. [no-plan] Support adobe amf3 codec.<br/> 29. [no-plan] Support adobe flash refer/token/swf verification.<br/>
30. [no-plan] Support dvr(record live to vod file)<br/> 30. [no-plan] Support adobe amf3 codec.<br/>
31. [no-plan] Support encryption: RTMPE/RTMPS, HLS DRM<br/> 31. [no-plan] Support dvr(record live to vod file)<br/>
32. [no-plan] Support RTMPT, http to tranverse firewalls<br/> 32. [no-plan] Support encryption: RTMPE/RTMPS, HLS DRM<br/>
33. [no-plan] Support file source, transcoding file to live stream<br/> 33. [no-plan] Support RTMPT, http to tranverse firewalls<br/>
34. [no-plan] Support file source, transcoding file to live stream<br/>
### Performance ### Performance
1. 300 connections, 150Mbps, 500kbps, CPU 18.8%, 5956KB. 1. 300 connections, 150Mbps, 500kbps, CPU 18.8%, 5956KB.