本文轉自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
這是幹啥的?
咱們明白了,-re表示從新調整時間戳,這樣就可以將各類文件、RTSP源、RTMP源的不均勻時間戳所有進行ffmpeg的從新調整,再進行rtmp推流,保證直播的平滑和hls切片的均勻。
另外,在拉取RTSP流時,儘可能加上 -rtsp_transport tcp 的選項,保證數據源的穩定和不丟包!
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
QQ交流羣:587254841
Copyright © EasyDarwin.org 2012-2017