RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
smart_rtpmd 是一款用于直播,录播性能卓越的服务器。如果您不理解,可以理解为和 nginx-rtmp, srs ,并与此功能类似,特点是性能卓越,跨平台,无依赖,部署和维护十分方便,解压既能运行。
smart rtmpd is a streaming media server. It can run on multiple systems ubuntu, centos, freebsd, windows & arm64. It is small, independent, easy to deploy, and has high performance.
最大的益处就是极大的节约您的运营成本,维护成本,迁移成本,
站点 | 地址 |
---|---|
official | http://www.qiyicc.com/download/rtmpd.zip |
github | https://github.com/superconvert/smart_rtmpd |
gitee | https://gitee.com/mirrors/smart-rtmpd |
video codec | audio codec |
---|---|
h264, h265 | aac |
h264, h265 | pcmu/pcma |
vp8 ( webrtc ) | opus ( webrtc ) |
h264 ( webrtc ) | pcmu/pcma ( webrtc ) |
client | server | protocol |
---|---|---|
srt | smart_rtmpd | rtmp[s], http[s]-flv, ws(s)-flv, http[s]-hls, https[s]-dash, rtsp[s], webrtc, srt |
rtmp[s] | smart_rtmpd | rtmp[s], http[s]-flv, ws(s)-flv, http[s]-hls, https[s]-dash, rtsp[s], webrtc, srt |
rtsp[s] | smart_rtmpd | rtmp[s], http[s]-flv, ws(s)-flv, http[s]-hls, https[s]-dash, rtsp[s], webrtc, srt |
input | video | audio | output | rtmp | rtsp( udp/tcp ) | flv( http/websocket ) | hls | dash | srt | webrtc( video baseline level 3.1 ) |
---|---|---|---|---|---|---|---|---|---|---|
rtmp | h264 | pcma/pcmu | yes | yes | yes | only video | onlyvideo | only video | h264/vp8, pcma/pcmu | |
rtmp | h264 | aac | yes | yes | yes | yes | yes | yes | h264/vp8, aac - opus | |
rtmp | hevc | pcma/pcmu | yes | yes | yes | only | video | only video | only video | |
rtmp | hevc | aac | yes | yes | yes | yes | yes | yes | only audio = aac - opus | |
rtsp | h264 | pcma/pcmu | yes | yes | yes | only video | only video | only video | h264/vp8, pcma/pcmu | |
rtsp | h264 | aac | yes | yes | yes | yes | yes | yes | h264/vp8, aac - opus | |
rtsp | hevc | pcma/pcmu | yes | yes | yes | only video | only video | only video | only audio = pcma/pcmu | |
rtsp | hevc | aac | yes | yes | yes | yes | yes | yes | only audio = aac - opus | |
srt | h264 | aac | yes | yes | yes | yes | yes | yes | h264/vp8, aac - opus | |
srt | hevc | aac | yes | yes | yes | yes | yes | yes | only audio = aac - opus |
URL | description | isok |
---|---|---|
rtmp://192.168.1.1:1935/live/stream | live stream | yes |
rtmp://192.168.1.1:1935/rec/stream | record stream | yes |
rmtp://192.168.1.1:1935/sky/camera | bad format | no |
rtsp://192.168.1.105:9554/live/music | live stream | yes |
rtsp://192.168.1.105:9554/rec/music | live stream | yes |
rtsp://192.168.1.105:9554/class/music | bad format | no |
srt://192.168.1.105:9000/live/space | record stream | yes |
srt://192.168.1.105:9000/rec/space | record stream | yes |
srt://192.168.1.105:9000/record/space | bad format | no |
only support "live" or "rec" app tag, but no support "sky", "class" or "record" other app tag !!!
说明 | 链接 |
---|---|
推拉流 ( pull/pull stream ) | https://github.com/superconvert/smart_rtmpd/tree/master/example |
web接口 ( web interface ) | https://github.com/superconvert/smart_rtmpd/blob/master/web_dev.md |
auth接口 ( web authentication ) | https://github.com/superconvert/smart_rtmpd/blob/master/web_auth.md |
集群 | 待续 ... |
webrtc | https://github.com/superconvert/smart_rtmpd/blob/master/webrtc.md |
webrtc im | https://github.com/superconvert/smart_rtmpd/blob/master/webrtc_im.md |
录像 ( recording ) | https://blog.csdn.net/freeabc/article/details/103360588 |
nat模式 ( nat mode ) | https://blog.csdn.net/freeabc/article/details/113446129 |
重写 ( rewrite ) | 待续 ... |
vod配置 ( vod config) | 待续 ... |
https://blog.csdn.net/freeabc/article/details/117403471?spm=1001.2014.3001.5501
https://www.iiwnz.com/compile-ffmpeg-with-rtmps-for-facebook/
you can play rtmps with vlc player.
https://github.com/superconvert/smart_rtmpd/blob/master/recording.md
担心软件免费突然中断?
这个您放心,我们原来是 IM 的, 那个几乎不挣钱,我们到现在还在坚持,
大家可以从网上搜一下 FreeCommunication ,存在多少年了 ( 18 年了 )。
毕竟这个我们的每个项目工程非常庞大,我们也投入很多精力和心血做好这
个事情,我相信我们要做优秀的产品,优秀的体验,是一种爱好,也是一种事业,
不会突然中断的,况且有这么多热爱的朋友大力支持!
遇到问题怎么办?
我们一般不想收这个辛苦钱,但你们如果有技术支持的需要,我们还是提供技术支持的,这个
也请您放心,也支持软件定制 ( OEM )。如果您热心支持我们,我们表示感谢也非常乐意。
你们做这个的目的不为钱为什么?
谁说我们不为钱,任何软件的初衷都是为了钱,精确的说价值。我们也不例外,肯定想挣钱。
但国内靠这个赚钱太难太难,我们基本上也是不挣钱。我们既然免费了,也不想靠这个挣钱。
我们的目的就是让软件名气更大,能拉到融资,有了融资,软件就更强大。也希望热爱的朋友
参与进来,形成一个生态圈,只要能力被认可,后续看发展而定,肯定有回报。
name | description |
---|---|
99766553 | |
QQ 群 | 190583317, 300474021, 271191746 |
WebChat(微信) | 99766553 |
E-mail(邮箱) | [email protected] |
more web interface, see this link : https://my.oschina.net/u/4249347/blog/5529704
outer user can push stream rtmp://61.180.166.16/live/stream, inner user can play with rtmp://192.168.1.1/live/stream
if you have two server
server A (intranet ip: 192.168.1.1, domain: www.qiyicc.com)
server B (intranet ip: 192.168.1.2, domain: www.qiyicc.com)
you can modify policy.xml file in server A:
... ...
<vhosts>
<vhost name="rtmp://www.qiyicc.com/live">
<forward rewrite="">192.168.1.2</forward>
</vhost>
</vhosts>
if you push stream rtmp://www.qiyicc.com/live/stream to server A, the server A will forward this stream to server B,
if you push stream rtmp://www.qiyicc.com/live/sport to server A, it is also forard this stream to server B.
user can pull url rtmp://www.qiyicc.com/live/stream or rtmp://www.qiyicc.com/live/sport from server B,
for many server repeat this proccess or each other forward.
this is call app forward!
if you have rmtp url rtmp://www.qiyicc.com/live/sport, you cank distribution this stream to other service.
for example : rtmp://www.espn.com/live/sport, thirtypart server address : 54.230.173.30
you can modify policy.xml file
... ...
... ...
<urls>
<url name="rtmp://www.qiyicc.com/live/sport">
<forward rewrite="rtmp://www.espn.com/live/sport">54.230.173.30:1935</forward>
<forward rewrite="rtmps://www.espn.com/live/sport">54.230.173.32:1935</forward>
<forward></forward>
</url>
</urls>
thirtpart user can play this stream.
this is call url forward!
good luck.
web browser <-------> nodejs server ( source code ) <----> smart_rtmpd see https://github.com/superconvert/smart_rtmpd/tree/master/web/src
web development interface : https://my.oschina.net/u/4249347/blog/5529704
you can put all file ( see below url ) to smart_rtmpd html dir https://github.com/superconvert/smart_rtmpd/tree/master/h5%20player/demo input url http://192.168.1.1:8080 ,good luck!