winlin

add dev plan: http server for api and hls(live/vod), vod(hls) streaming service

正在显示 1 个修改的文件 包含 30 行增加23 行删除
... ... @@ -249,23 +249,28 @@ Schema#2: SRS RTMP Edge server pull stream from origin (or upstream SRS
</pre>
(plan) SRS Multiple processes Architecture(design by wenjie):<br/>
<pre>
+-------------------+ +-----------+
| upnode server | + client +
+---------+---------+ +-----+-----+
--------------+------------network-------+---------
| |
+-----------+ +----+-----------+ +----+-----------+
| master +--fork->-+ back source(1) +-->-pull-+ stream 1-N(2) +
+-----+-----+ +----------------+ +-------+--------+
| |
+-------------------------------------fork--->-----+
+---------------+ +--------+
| upnode server | + client +
+-------+-------+ +---+----+
-------------+------------network-------+---------
| |
+--------+ +----+-----------+ +----+----------+
| master +--fork->-+ back source(1) +-->-pull-+ stream 1-N(2) +
+---+----+ +----------------+ +-------+-------+
| |
+-------------------------------------fork--->-----+
| +-------------+
+---------------------------+ http/vod(3) |
+-------------+
Remark:
(1) back source process: create by master process, get stream from
upnode server if edge, create stream if origin, serve the stream
process.
(2) stream process: create by master process, get stream from back
source process, serve the client.
(3) the embeded mininum http server, also provides vod service. for
http server, it provides http api, hls(live/vod) delivery. for
vod server, it slice the file to hls(m3u8/ts).
Remark:
(a) This multiple processes architecture is design by wenjie, it's a
very simple and powerful multiple process architecture, for the
... ... @@ -356,18 +361,20 @@ Supported operating systems and hardware:
24. Full documents in wiki, in chineses. <br/>
25. Support RTMP(play-publish) library: srs-librtmp<br/>
26. [plan] Support system utest<br/>
27. [plan] Support stream ingester using ffmpeg.<br/>
28. [plan] Support RTSP(RTP, SDP)<br/>
29. [plan] Support network based cli and json result.<br/>
30. [plan] Support HLS cluster, use RTMP ATC to generate the TS<br/>
31. [plan] Support RTMP edge server, push/pull stream from any RTMP server<br/>
32. [plan] Support multiple processes, for both origin and edge<br/>
33. [no-plan] Support adobe flash refer/token/swf verification.<br/>
34. [no-plan] Support adobe amf3 codec.<br/>
35. [no-plan] Support dvr(record live to vod file)<br/>
36. [no-plan] Support encryption: RTMPE/RTMPS, HLS DRM<br/>
37. [no-plan] Support RTMPT, http to tranverse firewalls<br/>
38. [no-plan] Support file source, transcoding file to live stream<br/>
27. [plan] Support embeded http server for api and hls(live/vod)<br/>
28. [plan] Support vod(file to hls stream)<br/>
29. [plan] Support stream ingester using ffmpeg.<br/>
30. [plan] Support RTSP(RTP, SDP)<br/>
31. [plan] Support network based cli and json result.<br/>
32. [plan] Support HLS cluster, use RTMP ATC to generate the TS<br/>
33. [plan] Support RTMP edge server, push/pull stream from any RTMP server<br/>
34. [plan] Support multiple processes, for both origin and edge<br/>
35. [no-plan] Support adobe flash refer/token/swf verification.<br/>
36. [no-plan] Support adobe amf3 codec.<br/>
37. [no-plan] Support dvr(record live to vod file)<br/>
38. [no-plan] Support encryption: RTMPE/RTMPS, HLS DRM<br/>
39. [no-plan] Support RTMPT, http to tranverse firewalls<br/>
40. [no-plan] Support file source, transcoding file to live stream<br/>
### Performance
1. 300 connections, 150Mbps, 500kbps, CPU 18.8%, MEM 5956KB.
... ...