FFMPEG から VLC へのビデオ ストリームを再生できない

FFMPEG から VLC へのビデオ ストリームを再生できない

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 の間で変化するビット レートでデータを受信して​​いることがわかります。これは、約 560kbit/s でストリームしていることを考えると妥当なようです。

つまり、ビデオが表示されないようです。Windows 10 を搭載した別の PC でも同じことが起こります。何が問題なのか、何かお分かりですか? ヒントがあれば、よろしくお願いします。

答え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

関連情報