使用ffmpeg -re循環推流(循環讀取視頻文件)推送EasyDSS RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒體服務器的方法

需求分析

衆所周知,EasyDSS與EasyNVR最大的區別是,EasyDSS被動接受前端設備的推流,將推送過來的直播流進行直播轉碼、智能處理、視頻分發,在經過CDN分發節點分發到終端播放SDK。而EasyNVR則是經過RTSP協議,主動拉取前端設備的直播流,一樣分發出RTMP、HTTP-FLV、HLS、RTSP格式的直播流。EasyDSS前端採用的是一套調用簡單、功能完善、高效穩定的EasyRTMP推流組件,支持RTMP推送斷線重連、環形緩衝、智能丟幀、網絡事件回調,支持Windows、Linux、ARM、Android、iOS平臺,支持市面上絕大部分的RTMP流媒體服務器,可以完美應用於各類行業的直播需求,手機直播、桌面直播、攝像機直播、課堂直播等方面。
EasyDSShtml

在作EasyDSS開發時,重點測試推流效果,可使用libEasyRTMP進行推流測試,可使用OBS進行推流測試,也可使用其餘RTMP推流工具,效果都很好。可是,別忘了還有ffmpeg這個神器,ffmpeg一樣能夠獲取各類視頻流,並推送給EasyDSS RTMP流媒體服務器。前端

好比:拉取攝像機RTSP流,推送給EasyDSS,命令在此:git

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

固然,這個命令僅限於攝像機提供的H.264+AAC的碼流github

  • 若不是則將-vcodec copy改成-vcodec libx264-acodec copy改成-acodec aac
  • 如果,咱們想用ffmpeg讀取文件進行RTMP推送,能夠選擇OBS,畢竟ffmpeg比OBS更輕量,命令在此:
ffmpeg -re -i test.h264 -vcodec copy -acodec copy -f flv -y rtmp://easydssip:easydssport/live/test

-vcodec和-acodec按需更改同拉取RTSP流,這樣能夠知足咱們推送文件到EasyDSS的目的。web

若是我想一直循環讀取文件,作個長測呢?編程

解決方案

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

對比發現,以上命令加了一個-stream_loop -1,它是什麼做用呢?七牛雲存儲

EasyDSS

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

咱們明白了此選項能夠指定循環讀取視頻源的次數,-1爲無限循環,以上問題就此完美解決。網絡

關於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

在這裏插入圖片描述
EasyDSS

相關文章
相關標籤/搜索