FFMPEG で -c:v libx264、-c:v copy、-vcodec copy を使用する場合の違いは何ですか?

FFMPEG で -c:v libx264、-c:v copy、-vcodec copy を使用する場合の違いは何ですか?

H.264 でストリーミングされる IP カメラからのビデオとオーディオを記録しようとしています。

次のようなさまざまなオプションを見つけました:

-i "camera_url"  -c:v libx264 -acodec copy "out.mp4"
-i "camera_url"  -c:v copy -acodec copy "out.mp4"
-i "camera_url"  -vcodec copy -acodec copy "out.mp4"

これら 3 種類の録画の違いを教えてください。私の理解では、最後の録画はトランスコーディングを行わないため、カメラから送られてくるものはすべてファイルに保存されます。他の 2 つはどうですか?

答え1

オプション-codecはエンコーダの選択を設定します。これはエンコーダの名前か のいずれかになりますcopy。後者はトランスコーディングを回避し、パケットを入力から出力にコピーします。-cは の短縮形です-codec。これらは両方とも受け入れることができます。ストリーム指定子-c:v:2またはと同様です-codec:a。前者は出力の 3 番目のビデオ ストリームのエンコーダーを設定し、後者はすべてのオーディオ ストリームのエンコーダーを設定します。

vcodecおよび はacodecおよび のエイリアスです-c:vが、-c:aストリーム指定子は受け入れません。

関連情報