ffmpeg を使用してコンピューター間でストリーミングするにはどうすればよいですか?

ffmpeg を使用してコンピューター間でストリーミングするにはどうすればよいですか?

私は ffmpeg と ffplay を使用して、2 台のコンピューター間で生の H.264 ビデオをストリーミングしています。送信コマンド ラインは次のようになります。

ffmpeg -i input.h264 -f mpegts udp:10.0.2.101:1234

そして、これが受信側です:

ffplay -f h264 -f mpegts udp://127.0.0.1:1234

問題は、受信側での再生品質が、送信側でソース ファイルを再生したときよりも大幅に劣っていることです。ネットワークは実際にはコンピューター上のシミュレートされたネットワーク (2 つの仮想マシン) であるため、パケット損失などはありません。

何を間違えたのでしょうか?

答え1

ビデオ ストリームを再エンコードしています。ビデオ コーデックを指定しない場合は、ffmpeg が自動的に選択します。この場合、デフォルト設定の MPEG-2 が選択されますが、これは確かに見栄えが悪くなります。

ビットストリームをコピーする予定の場合は、-c:v copy送信コマンドにオプションを追加します。

関連情報