正在显示
1 个修改的文件
包含
63 行增加
和
88 行删除
| 1 | #Simple-RTMP-Server | 1 | #Simple-RTMP-Server |
| 2 | 2 | ||
| 3 | -SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。 | ||
| 4 | - | ||
| 5 | -下载发布版(github): | ||
| 6 | -[Centos6-x86_64](http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.0.zip) | ||
| 7 | -其他[more...](http://winlinvip.github.io/srs.release/releases/) <br/> | ||
| 8 | -下载发布版(国内阿里云镜像): | ||
| 9 | -[Centos6-x86_64](http://www.ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.0.zip) | ||
| 10 | -其他[more...](http://www.ossrs.net/srs.release/releases/)<br/> | ||
| 11 | -同类产品:[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) | ||
| 12 | - | ||
| 13 | -获得源码(github): [https://github.com/winlinvip/simple-rtmp-server](https://github.com/winlinvip/simple-rtmp-server) [GIT使用方法](https://github.com/winlinvip/simple-rtmp-server/wiki/Git) | ||
| 14 | - | ||
| 15 | -```bash | ||
| 16 | -git clone https://github.com/winlinvip/simple-rtmp-server.git | ||
| 17 | -``` | ||
| 18 | - | ||
| 19 | -获得源码(国内CSDN镜像): [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) [GIT使用方法](https://github.com/winlinvip/simple-rtmp-server/wiki/Git) | ||
| 20 | - | ||
| 21 | -```bash | ||
| 22 | -git clone https://code.csdn.net/winlinvip/srs-csdn.git | ||
| 23 | -``` | ||
| 24 | - | ||
| 25 | -报告问题(BugReport): [https://github.com/winlinvip/simple-rtmp-server/issues/new](https://github.com/winlinvip/simple-rtmp-server/issues/new)<br/> | ||
| 26 | -中文资料(Wiki): [https://github.com/winlinvip/simple-rtmp-server/wiki](https://github.com/winlinvip/simple-rtmp-server/wiki) <br/> | ||
| 27 | -使用步骤(Usage): [https://github.com/winlinvip/simple-rtmp-server#usage](#usage) <br/> | ||
| 28 | -公用机器(LiveShow): [https://github.com/winlinvip/simple-rtmp-server/wiki/LiveShow](https://github.com/winlinvip/simple-rtmp-server/wiki/LiveShow) <br/> | ||
| 29 | -捐款(Donation): [GitHub](http://winlinvip.github.io/srs.release/donation/index.html) | ||
| 30 | -或 [阿里云镜像](http://www.ossrs.net/srs.release/donation/index.html) ,查看 | ||
| 31 | -[捐献墙(Donations)](https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt)<br/> | 3 | +SRS is industrial-strength live streaming cluster, for the best conceptual integrity and the simplest implementation. |
| 32 | 4 | ||
| 33 | ## About | 5 | ## About |
| 34 | 6 | ||
| @@ -47,6 +19,7 @@ rtmp([encoder push](https://github.com/winlinvip/simple-rtmp-server/wiki/Deliver | @@ -47,6 +19,7 @@ rtmp([encoder push](https://github.com/winlinvip/simple-rtmp-server/wiki/Deliver | ||
| 47 | [forward](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG), [http hooks](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPCallback), [http api](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPApi), | 19 | [forward](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG), [http hooks](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPCallback), [http api](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPApi), |
| 48 | [http server](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPServer), [dvr](https://github.com/winlinvip/simple-rtmp-server/wiki/DVR). | 20 | [http server](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPServer), [dvr](https://github.com/winlinvip/simple-rtmp-server/wiki/DVR). |
| 49 | 21 | ||
| 22 | +WebSite: [http://ossrs.net](http://ossrs.net) <br/> | ||
| 50 | Release: [http://winlinvip.github.io/srs.release](http://winlinvip.github.io/srs.release) <br/> | 23 | Release: [http://winlinvip.github.io/srs.release](http://winlinvip.github.io/srs.release) <br/> |
| 51 | Blog: [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> | 24 | Blog: [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> |
| 52 | CSDN mirror: [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) <br/> | 25 | CSDN mirror: [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) <br/> |
| @@ -129,47 +102,73 @@ OR [aliyun mirror](http://www.ossrs.net/srs.release/donation/index.html) | @@ -129,47 +102,73 @@ OR [aliyun mirror](http://www.ossrs.net/srs.release/donation/index.html) | ||
| 129 | Donations:<br/> | 102 | Donations:<br/> |
| 130 | [https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt](https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt) | 103 | [https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt](https://github.com/winlinvip/simple-rtmp-server/blob/master/DONATIONS.txt) |
| 131 | 104 | ||
| 105 | +## Download | ||
| 106 | + | ||
| 107 | +From github.io: <br/> | ||
| 108 | +[Centos6-x86_64](http://winlinvip.github.io/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.0.zip) | ||
| 109 | +[more...](http://winlinvip.github.io/srs.release/releases/) <br/> | ||
| 110 | + | ||
| 111 | +From ossrs.net: <br/> | ||
| 112 | +[Centos6-x86_64](http://www.ossrs.net/srs.release/releases/files/SRS-CentOS6-x86_64-1.0.0.zip) | ||
| 113 | +[more...](http://www.ossrs.net/srs.release/releases/) | ||
| 114 | + | ||
| 115 | +## Mirrors | ||
| 116 | + | ||
| 117 | +Github: [https://github.com/winlinvip/simple-rtmp-server](https://github.com/winlinvip/simple-rtmp-server) | ||
| 118 | +[Git Usage](https://github.com/winlinvip/simple-rtmp-server/wiki/Git) | ||
| 119 | + | ||
| 120 | +```bash | ||
| 121 | +git clone https://github.com/winlinvip/simple-rtmp-server.git | ||
| 122 | +``` | ||
| 123 | + | ||
| 124 | +CSDN: [https://code.csdn.net/winlinvip/srs-csdn](https://code.csdn.net/winlinvip/srs-csdn) | ||
| 125 | +[Git Usage](https://github.com/winlinvip/simple-rtmp-server/wiki/Git) | ||
| 126 | + | ||
| 127 | +```bash | ||
| 128 | +git clone https://code.csdn.net/winlinvip/srs-csdn.git | ||
| 129 | +``` | ||
| 130 | + | ||
| 132 | ## System Requirements | 131 | ## System Requirements |
| 133 | Supported operating systems and hardware: | 132 | Supported operating systems and hardware: |
| 134 | * All Linux , both 32 and 64 bits | 133 | * All Linux , both 32 and 64 bits |
| 135 | * All hardware. | 134 | * All hardware. |
| 136 | 135 | ||
| 137 | ## Summary | 136 | ## Summary |
| 138 | -1. 简洁稳定:Simple, also stable enough. | ||
| 139 | -1. 高性能:[High-performance](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance): single-thread, async socket, event/st-thread driven. | ||
| 140 | -1. 高并发:[High-concurrency](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance), 1800 connections(500kbps), 900Mbps, CPU 90.2%, 41MB | ||
| 141 | -1. RTMP源站:Support [RTMP Origin Server](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryRTMP). | ||
| 142 | -1. CDN边缘(上下行加速):Support [RTMP Edge Server](https://github.com/winlinvip/simple-rtmp-server/wiki/Edge) for CDN, push/pull stream from any RTMP server | ||
| 143 | -1. 单进程(无多进程):Support single process; no multiple processes. | ||
| 144 | -1. 支持Vhost:Support [Vhost](https://github.com/winlinvip/simple-rtmp-server/wiki/RtmpUrlVhost), support \_\_defaultVhost\_\_. | ||
| 145 | -1. 直播(无点播):Support [RTMP](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryRTMP) live streaming; no vod streaming. | ||
| 146 | -1. 苹果HLS:Support Apple [HLS(m3u8)](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryHLS) live streaming. | ||
| 147 | -1. 支持纯音频HLS:Support [HLS audio-only](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryHLS#hlsaudioonly) live streaming. | ||
| 148 | -1. 支持Reload:Support [Reload](https://github.com/winlinvip/simple-rtmp-server/wiki/Reload) config to enable changes. | ||
| 149 | -1. 支持GopCache:Support [cache last gop](https://github.com/winlinvip/simple-rtmp-server/wiki/LowLatency#gop-cache) for flash player to fast startup. | ||
| 150 | -1. 侦听多端口:Support listen at multiple ports. | ||
| 151 | -1. 长时间推流:Support long time(>4.6hours) publish/play. | ||
| 152 | -1. 转发流:Support [Forward](https://github.com/winlinvip/simple-rtmp-server/wiki/Forward) in master-slave mode. | ||
| 153 | -1. 流转码:Support live stream [Transcoding](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG) by ffmpeg. | ||
| 154 | -1. 支持FFMPEG滤镜:Support [ffmpeg](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG) filters(logo/overlay/crop), x264 params, copy/vn/an. | ||
| 155 | -1. 只转码音频:Support audio [transcode](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG) only, speex/mp3 to aac | ||
| 156 | -1. 支持HTTP回调:Support [http callback api hooks](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPCallback)(for authentication and injection). | ||
| 157 | -1. 带宽测速:Support [bandwidth test](https://github.com/winlinvip/simple-rtmp-server/wiki/BandwidthTestTool) api and flash client. | ||
| 158 | -1. 演示页面:Player, publisher(encoder), and [demo pages(jquery+bootstrap)](https://github.com/winlinvip/simple-rtmp-server/wiki/SampleDemo). | ||
| 159 | -1. 视频会议演示:[Demo](https://github.com/winlinvip/simple-rtmp-server/wiki/SampleDemo) video meeting or chat(SRS+cherrypy+jquery+bootstrap). | ||
| 160 | -1. 中文Wiki:Full documents in [wiki](https://github.com/winlinvip/simple-rtmp-server/wiki/CNHome), in Chineses. | ||
| 161 | -1. 客户端库:Support RTMP(play-publish) library: [srs-librtmp](https://github.com/winlinvip/simple-rtmp-server/wiki/SrsLibrtmp) | ||
| 162 | -1. 支持ARM平台:Support ARM([debian armhf, v7cpu](https://github.com/winlinvip/simple-rtmp-server/wiki/SrsLinuxArm)) with rtmp/ssl/hls/librtmp. | ||
| 163 | -1. 支持Init.d脚本:Support [init.d](https://github.com/winlinvip/simple-rtmp-server/wiki/LinuxService) and packge script, log to file. | ||
| 164 | -1. 支持ATC:Support [RTMP ATC](https://github.com/winlinvip/simple-rtmp-server/wiki/RTMP-ATC) for HLS/HDS to support backup(failover) | ||
| 165 | -1. 支持HTTP-RESTful-API:Support [HTTP RESTful management api](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPApi). | ||
| 166 | -1. 采集流:Support [Ingest](https://github.com/winlinvip/simple-rtmp-server/wiki/Ingest) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg). | ||
| 167 | -1. 支持录制:Support [DVR](https://github.com/winlinvip/simple-rtmp-server/wiki/DVR), record live to flv file for vod. | ||
| 168 | -1. 可追溯日志:Support [tracable log, session based log](https://github.com/winlinvip/simple-rtmp-server/wiki/SrsLog). | ||
| 169 | -1. 支持FMS-Token穿越:Support DRM [token traverse](https://github.com/winlinvip/simple-rtmp-server/wiki/DRM#tokentraverse) for fms origin authenticate. | ||
| 170 | -1. 全面的Utest:Support system full utest on gtest. | ||
| 171 | -1. (不稳定)内嵌HTTP服务器:[experiment] Support embeded [HTTP server](https://github.com/winlinvip/simple-rtmp-server/wiki/SampleHTTP) for hls(live/vod) | ||
| 172 | -1. (不稳定)FLV点播流:[experiment] Support [vod stream(http flv/hls vod stream)](https://github.com/winlinvip/simple-rtmp-server/wiki/FlvVodStream). | 137 | +1. Simple, also stable enough. |
| 138 | +1. [High-performance](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance): single-thread, async socket, event/st-thread driven. | ||
| 139 | +1. [High-concurrency](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance), 1800 connections(500kbps), 900Mbps, CPU 90.2%, 41MB | ||
| 140 | +1. Support [RTMP Origin Server](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryRTMP). | ||
| 141 | +1. Support [RTMP Edge Server](https://github.com/winlinvip/simple-rtmp-server/wiki/Edge) for CDN, push/pull stream from any RTMP server | ||
| 142 | +1. Support single process; no multiple processes. | ||
| 143 | +1. Support [Vhost](https://github.com/winlinvip/simple-rtmp-server/wiki/RtmpUrlVhost), support \_\_defaultVhost\_\_. | ||
| 144 | +1. Support [RTMP](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryRTMP) live streaming; no vod streaming. | ||
| 145 | +1. Support Apple [HLS(m3u8)](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryHLS) live streaming. | ||
| 146 | +1. Support [HLS audio-only](https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryHLS#hlsaudioonly) live streaming. | ||
| 147 | +1. Support [Reload](https://github.com/winlinvip/simple-rtmp-server/wiki/Reload) config to enable changes. | ||
| 148 | +1. Support [cache last gop](https://github.com/winlinvip/simple-rtmp-server/wiki/LowLatency#gop-cache) for flash player to fast startup. | ||
| 149 | +1. Support listen at multiple ports. | ||
| 150 | +1. Support long time(>4.6hours) publish/play. | ||
| 151 | +1. Support [Forward](https://github.com/winlinvip/simple-rtmp-server/wiki/Forward) in master-slave mode. | ||
| 152 | +1. Support live stream [Transcoding](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG) by ffmpeg. | ||
| 153 | +1. Support [ffmpeg](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG) filters(logo/overlay/crop), x264 params, copy/vn/an. | ||
| 154 | +1. Support audio [transcode](https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG) only, speex/mp3 to aac | ||
| 155 | +1. Support [http callback api hooks](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPCallback)(for authentication and injection). | ||
| 156 | +1. Support [bandwidth test](https://github.com/winlinvip/simple-rtmp-server/wiki/BandwidthTestTool) api and flash client. | ||
| 157 | +1. Player, publisher(encoder), and [demo pages(jquery+bootstrap)](https://github.com/winlinvip/simple-rtmp-server/wiki/SampleDemo). | ||
| 158 | +1. [Demo](https://github.com/winlinvip/simple-rtmp-server/wiki/SampleDemo) video meeting or chat(SRS+cherrypy+jquery+bootstrap). | ||
| 159 | +1. Full documents in [wiki](https://github.com/winlinvip/simple-rtmp-server/wiki/CNHome), in Chineses. | ||
| 160 | +1. Support RTMP(play-publish) library: [srs-librtmp](https://github.com/winlinvip/simple-rtmp-server/wiki/SrsLibrtmp) | ||
| 161 | +1. Support ARM([debian armhf, v7cpu](https://github.com/winlinvip/simple-rtmp-server/wiki/SrsLinuxArm)) with rtmp/ssl/hls/librtmp. | ||
| 162 | +1. Support [init.d](https://github.com/winlinvip/simple-rtmp-server/wiki/LinuxService) and packge script, log to file. | ||
| 163 | +1. Support [RTMP ATC](https://github.com/winlinvip/simple-rtmp-server/wiki/RTMP-ATC) for HLS/HDS to support backup(failover) | ||
| 164 | +1. Support [HTTP RESTful management api](https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPApi). | ||
| 165 | +1. Support [Ingest](https://github.com/winlinvip/simple-rtmp-server/wiki/Ingest) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg). | ||
| 166 | +1. Support [DVR](https://github.com/winlinvip/simple-rtmp-server/wiki/DVR), record live to flv file for vod. | ||
| 167 | +1. Support [tracable log, session based log](https://github.com/winlinvip/simple-rtmp-server/wiki/SrsLog). | ||
| 168 | +1. Support DRM [token traverse](https://github.com/winlinvip/simple-rtmp-server/wiki/DRM#tokentraverse) for fms origin authenticate. | ||
| 169 | +1. Support system full utest on gtest. | ||
| 170 | +1. [experiment] Support embeded [HTTP server](https://github.com/winlinvip/simple-rtmp-server/wiki/SampleHTTP) for hls(live/vod) | ||
| 171 | +1. [experiment] Support [vod stream(http flv/hls vod stream)](https://github.com/winlinvip/simple-rtmp-server/wiki/FlvVodStream). | ||
| 173 | 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). | 172 | 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). |
| 174 | 1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/winlinvip/simple-rtmp-server/issues/92). | 173 | 1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/winlinvip/simple-rtmp-server/issues/92). |
| 175 | 1. [no-plan] Support multiple processes, for both origin and edge | 174 | 1. [no-plan] Support multiple processes, for both origin and edge |
| @@ -573,30 +572,6 @@ Remark: | @@ -573,30 +572,6 @@ Remark: | ||
| 573 | only send signals to child processes. | 572 | only send signals to child processes. |
| 574 | </pre> | 573 | </pre> |
| 575 | 574 | ||
| 576 | -### (plan) CLI Architecture | ||
| 577 | - | ||
| 578 | -<pre> | ||
| 579 | - +---------+ | ||
| 580 | - +--+ stream1 +---------+ | ||
| 581 | - | +---------+ | | ||
| 582 | - +--------+ | +---------+ | +-------+ | ||
| 583 | - | master +--fork->-+--+ streamN +---amf0--+>--+ cli + | ||
| 584 | - +--------+ | +---------+ | +-------+ | ||
| 585 | - | +-------------+ | | ||
| 586 | - +--+ back source +-----+ | ||
| 587 | - +-------------+ | ||
| 588 | -Remark: | ||
| 589 | -(1) master listen the global api port, for example, 33330 | ||
| 590 | -(2) back source and stream processes listen at private api port, | ||
| 591 | - for example, 33331, 33332, 33333 | ||
| 592 | -(3) work processes(stream and back-source), report private api | ||
| 593 | - port to master global api port. | ||
| 594 | -(4) cli connect to master global api port, get all other private | ||
| 595 | - api ports | ||
| 596 | -(5) cli connect to each stream/back-source process to get api data, | ||
| 597 | - cli analysis and summary the data, return to user. | ||
| 598 | -</pre> | ||
| 599 | - | ||
| 600 | ### Bandwidth Test Workflow | 575 | ### Bandwidth Test Workflow |
| 601 | 576 | ||
| 602 | <pre> | 577 | <pre> |
-
请 注册 或 登录 后发表评论