ffmpeg
將RTMP流處理爲輸入或輸出,並且運行良好。使用FFMPEG將視頻文件連續流傳輸到RTMP服務器
我想將一些視頻(由python腳本管理的動態播放列表)流式傳輸到RTMP服務器,而我目前正在做一些非常簡單的事情:使用FFMPEG將我的視頻一個接一個地傳輸到RTMP服務器,但是,每次視頻結束時都會導致連接中斷,並且當下一個視頻開始時,流就準備好了。
我想連續播放這些視頻而沒有任何連接斷開,然後可以正確查看該視頻流。
我使用這個命令通過一個流我的影片之一
ffmpeg -re -y -i myvideo.mp4 -vcodec libx264 -b:v 600k -r 25 -s 640x360 \
-filter:v yadif -ab 64k -ac 1 -ar 44100 -f flv \
"rtmp://mystreamingserver/app/streamName"
我找了一些解決方法在互聯網上很多天的服務器,我發現一些人在談論使用命名管道作爲輸入在ffmpeg
中,我已經嘗試過了,它不能正常工作,因爲ffmpeg
不僅在關閉RTMP視頻流時關閉了新視頻,而且還關閉了它自己。
有沒有辦法做到這一點? (流的視頻動態播放列表與ffmpeg
到RTMP服務器,而無需連接中斷
使用命名管道是正確的選擇。你能詳細說明這不適合你嗎? – blahdiblah 2012-07-25 22:13:43
@blahdiblah我使用了命名管道作爲ffmpeg的輸入,ffmpeg暫停並等待管道中的一些數據,然後我嘗試了'cat video.mp4> fifo'和ffmpeg開始流式傳輸並在流式傳輸視頻後退出。我認爲我不知道如何使用正確的方式命名管道,當我做'cat video1.mp4 video2.mp4> fifo' ffmpeg顯示錯誤'流4,偏移0x1d83c:部分文件'後流第一個視頻。我知道這是我做錯了,我必須通過管道以適當的方式傳遞視頻數據。 – KKetch 2012-07-26 07:41:11
我設法通過使用每個視頻管道(ex vid1.mp4 - > pipe1,vid2.mp4 - > pipe2等)來流式傳輸視頻的靜態播放列表。然後我寫入一個名爲管道「流」的流,這種方式'cat pipe1 pipe2 pipe3> stream',並且我使用流管道作爲FFMPEG中的輸入來發布我的流,但是因爲我正在尋找一個動態播放列表**我發送更多視頻到「流」管道,以保持該流?**我還沒有弄清楚。 (注意,除了第一個視頻,我不得不使用tail命令剪切每個視頻文件的元數據以獲得這個工作) – KKetch 2012-07-28 14:53:07