ffmpeg+EasyDSS流媒体服务器实现稳定的rtmp推流直播

https://www.bbsmax.com/A/6pdDVZXqJw/

 

本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/74783269

需求

在做EasyDSS开发时,总是在测试推流效果。

当然,可以使用libEasyRTMP进行推流测试。

有时候,我们想使用OBS进行推流测试,也可以,这很好。

以及其他RTMP推流工具。

但是,别忘了,还有ffmpeg这个神器。ffmpeg可以获取各种视频流,并推送给EasyDSS RTMP流媒体服务器。

比如,拉取摄像机RTSP流,推送给EasyDSS,命令

ffmpeg -i rtsp://username:password@ip:port/xxxxxxx -vcodec copy -acodec copy -f flv -y rtmp://easydssip:easydssport/live/test

 

当然,这个命令限于摄像机提供的就为H.264+AAC的码流,若不是

则将-vcodec copy改为-vcodec libx264-acodec copy改为-acodec aac

若是,我们想用ffmpeg读取文件进行RTMP推送呢,当然,您可以选择OBS,但是,毕竟,ffmpeg比OBS更轻量,命令在此

ffmpeg -i test.h264 -vcodec copy -acodec copy -f flv -y rtmp://easydssip:easydssport/live/test

 

-vcodec和-acodec按需更改同拉取RTSP流。

这样可以满足我们推送文件到EasyDSS的愿望。

但是。。。。。

ffmpeg推流的效果经常不如人意,经常出现播放画面慢、音视频不同步、HLS直播不稳定等各种问题?

解决

当然有解决办法

ffmpeg -re -stream_loop -1 -i test.h264 -vcodec copy -acodec copy -f flv -y rtmp://easydssip:easydssport/live/test

  

加了一个-re

这是干啥的?

https://ffmpeg.org/ffmpeg-all.html#Main-options

  

我们明白了,-re表示重新调整时间戳,这样就能够将各种文件、RTSP源、RTMP源的不均匀时间戳全部进行ffmpeg的重新调整,再进行rtmp推流,保证直播的平滑和hls切片的均匀。

另外,在拉取RTSP流时,尽量加上 -rtsp_transport tcp 的选项,保证数据源的稳定和不丢包!

 

转载于:https://www.cnblogs.com/tc310/p/11216222.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值