MP4 /h.264-音声のないビデオがあります。 ffmpeg
などを使用して、ビデオの品質を低下させることなく(つまり、ビデオトラックを再コーディングせずに)オーディオトラックをそのMP4ファイルに適用するにはどうすればよいですか?
私は、Win7、Ubuntu、またはFreeBSDのいずれかで利用可能なフリーソフトウェアを含むソリューションを好みます。
正しい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)
ffmpeg
を使用してそれを実現できます。私は弱った脳の後ろからそれをしているだけですが、おそらくこのようなものがうまくいくでしょう:
ffmpeg -i movie-file.mp4 -i audio-file.mp3 -c:v copy -c:a copy output.mp4