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的碼流,若不是markdown

則將-vcodec copy改成-vcodec libx264-acodec copy改成-acodec aac架構

如果,咱們想用ffmpeg讀取文件進行RTMP推送呢,固然,您能夠選擇OBS,可是,畢竟,ffmpeg比OBS更輕量,命令在此tcp

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

相關文章
相關標籤/搜索