您的位置:首页 > 其它

RTMP学习 开源项目以及基本原理

梦江南 2020-08-14 17:09 106 查看 https://blog.51cto.com/fengyuz

开源项目列表

ed5        java 开源。功能提供 rtmp 。java编写效率内存开销比较大
nginx-rtmp  c++开源。基于nginx的扩展,提供rtmp HTTP-FLV  HLS。但经过测试,感觉rtmp功能有bug经常播放有声无图..hls正常
srs            c++开源。功能提供 rtmp HTTP-FLV  HLS 等等。商业级服务端,支持多台服务器扩展
bblive       go语言 开源。功能提供 rtmp
gortmp     go语言 开源。功能提供 rtmp
livego       go语言 开源。 功能提供 rtmp HTTP-FLV  HLS   ,功能比较全面。可以覆盖pc 手机安卓 ios
sms            go语言 开源。     功能提供 rtmp HTTP-FLV  HLS   ,功能比较全面。可以覆盖pc 手机安卓 ios
go-rtmp-server go语言 开源。 功能提供 rtmp HTTP-FLV 


基本原理

            如果用ffmpeg推流,可以使用如下的指令ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.0.103:1935/live/test,说明推流的视频流格式是flv格式,基于 nginx-rtmp-module 搭建直播服务器,接收到

这种flv数据,可以直接保存成flv文件,也就是录制功能recoder,也可以保存为m3u8这种文件格式和保存视频切片为ts。一直在寻找直接保存成MP4的方式,实际上除非上传完成之后,调用ffmpeg进行转码

参考

https://zhuanlan.zhihu.com/p/83454344

http://www.52im.net/thread-274-1-1.html 

标签: 
相关文章推荐