2017-09-09 94 views
0

這工作:的ffmpeg流(MPEGTS VS RTMP)錯誤

ffmpeg -i test.mp4 -framerate 30 -video_size 1280x720 -c:v libx264 -preset veryfast -maxrate 1984k -bufsize 3968k -vf "format=yuv420p" -g 60 -f mpegts udp://x.x.x.x:1935/video/test 

但這並不:

ffmpeg -i test.mp4 -framerate 30 -video_size 1280x720 -c:v libx264 -preset veryfast -maxrate 1984k -bufsize 3968k -vf "format=yuv420p" -g 60 -f flv rtmp://x.x.x.x:1935/video/test 

我得到:

RTMP_Connect0, failed to connect socket. 10061 (Unknown error) 
rtmp://x.x.x.x:1935/video/test: Unknown error occurred 

是的,我有一臺服務器(Nimble)正在主動偵聽RTMP連接,並且沒有看到任何RTMP流傳入。

即使127.0.0.1的服務器計算機上運行的ffmpeg的時候,我得到了同樣的錯誤。

有沒有人有一個想法,爲什麼?

回答

0

你可以嘗試使用網絡嗅探來驗證交通(1)從源服務器和(2)在預期客戶機接收被髮送。

Wireshark是一個良好的網絡嗅探程序在兩端使用。或者你可以使用像「tcpdump」這樣的Linux工具。看看捕獲的流量是否看起來是「正常的」,是否它沒有太多的重試或錯誤 - 如果它發生的話。

如果沒有在接收端則(1)雙重檢查該IP地址是正確的,(2)檢查端口是在接收器上打開被接收的流量。

如果接收端接收OK,但流永遠不會越過第一條消息左右,然後查看發送系統允許從接收器的響應被傳入,因爲它可能是使用TCP默認情況下,該需要雙向通信。

如果這樣的作品 - 換句話說,如果你成功地看到流出來的發送者,並通過客戶機接收 - 那麼你可以嘗試在客戶端上使用VLC接受。