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

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

需求

在作EasyDSS开发时,老是在测试推流效果。git

固然,可使用libEasyRTMP进行推流测试。github

有时候,咱们想使用OBS进行推流测试,也能够,这很好。编程

以及其余RTMP推流工具。七牛云存储

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

好比,拉取摄像机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 aactcp

如果,咱们想用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 的选项,保证数据源的稳定和不丢包!

EasyDSS流媒体服务器推荐

EasyDSS商用流媒体服务器提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工做,而且EasyDSS支持多种特性,彻底可以知足企业视频信息化建设方面的需求:

①多屏播放:支持Flash、HTML5播放,兼容Windows、Android、iOS、Mac等操做系统。

②自由组合:EasyDSS软件产品之间无缝对接,也可将EasyDSS流媒体服务器软件与其余第三方平台对接,组合灵活自由。

③支持云架构:支持阿里云、腾讯云、华为云、青云、七牛云存储等各大云服务商,支持云架构,部署更灵活。

④与CDN无缝对接:EasyDSS软件产品支持与网宿、帝联、蓝汛等CDN无缝对接。

⑤二次开发简单:提供编程语言无关化的RESTful API接口,只要了解JS、HTML、JAVA、ASP.NET、PHP、ASP等开发语言中的任意一种,就能运用EasyDSS提供的RESTful API进行二次开发。

⑥简单易用:图形化操做,模块清晰,流程简单,极易上手。

EasyDarwin如何支持点播和RTMP/HLS直播?EasyDSS!

更多EasyDSS高级功能:www.easydss.com

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

QQ交流群:587254841

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

相关文章
相关标签/搜索