
我正在嘗試使用 FFMPEG 串流本地網路攝影機。出於測試目的,我在本機執行此操作並嘗試使用 VLC(3.0.8、Windows 10)開啟串流。這就是我從 FFMPEG 進行串流傳輸的方式:
ffmpeg -f dshow -i video="Microsoft Camera Front" -preset fast -s 1280x720
-vcodec libx264 -tune ssim -b 500k -f mpegts udp://127.0.0.1:1234
我可以使用無縫播放串流
ffplay udp://127.0.0.1:1234
但是,我無法使用 VLC 來實現此功能。我單擊“打開網路流”並嘗試不同的格式,例如udp://127.0.0.1:1234
或udp://@:127.0.0.1:1234
。udp://@:1234
使用後者,它設法打開串流,但不顯示任何視訊。但是,從編解碼器資訊視窗中,它甚至似乎檢測到正確的編解碼器(編解碼器:H264 - MPEG-4 AVC(第10部分)(h264)。從統計視窗中,我注意到它接收的數據的比特率在40kb/s 和 100kb/s,考慮到我的傳輸速度約為 560kb/s,這似乎是合理的。
所以似乎只是不顯示視頻。在另一台裝有 Windows 10 的電腦上也會發生同樣的情況。預先感謝您的任何提示!
答案1
在伺服器(ffmpeg)和客戶端(vlc)端新增資料包大小;
在 ffmpeg 中:
>ffmpeg -re -i "path/to/my/video.mp4" -vcodec libx264 -f mpegts udp://127.0.0.1:1234?pkt_size=1316
在 vlc 中:
>udp://127.0.0.1:1234?pkt_size=1316
答案2
在VLC中需要符號“@”來完成這項工作
udp://@127.0.0.1:1234?pkt_size=1316