web-dev-qa-db-ja.com

オーディオトラックをミュートh264 / mp4-videoにロスレスで適用するにはどうすればよいですか?

MP4 /h.264-音声のないビデオがあります。 ffmpegなどを使用して、ビデオの品質を低下させることなく(つまり、ビデオトラックを再コーディングせずに)オーディオトラックをそのMP4ファイルに適用するにはどうすればよいですか?

私は、Win7、Ubuntu、またはFreeBSDのいずれかで利用可能なフリーソフトウェアを含むソリューションを好みます。

4
poplitea

正しいFFmpegコマンドは次のとおりです。

ffmpeg -i video.mp4 -i audio.mp4 -map 0:0 -map 1:0 -c copy output.mp4

これにより、すでに持っているビデオとオーディオの2つの入力ストリームが提供されます。 AACオーディオを含むMP4ファイルから、-mapオプションを使用してそれらをマージします。

ここで、0:0の最初の番号は入力ファイル(ビデオファイルの場合は0、オーディオファイルの場合は1)であり、2番目の番号はそのファイルからのストリーム(0ストリームはそれぞれビデオまたはオーディオで1つしかないため)。 2つのストリームが1つの出力ファイルにマップされるため、最初にビデオ、次にオーディオになります。

ビットストリームはコピーされ、-c copyオプションを使用して再エンコードされません。これはFFmpegの出力で確認できます。

Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)
10
slhck

ffmpegを使用してそれを実現できます。私は弱った脳の後ろからそれをしているだけですが、おそらくこのようなものがうまくいくでしょう:

ffmpeg -i movie-file.mp4 -i audio-file.mp3 -c:v copy -c:a copy output.mp4
1
thornomad