Ffmpegを使用してオーディオファイルを使用してビデオファイルのオーディオを置き換える方法は?
コマンドは次のようになります。
ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4
これは ビデオファイル内のオーディオストリームを複数のオーディオストリームに置き換える方法 に非常に似ていますが、その質問は複数のオーディオトラックを処理するため、非常に複雑です。多くの場合、ソリューションのどの部分が単純なオーディオの交換に十分であるかが不明確になります。
多くの時間を節約するために再エンコードせずにビデオストリームをコピーすることをお勧めしますが、音声を再エンコードすると非互換性を防ぐのに役立つかもしれません。
ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 new.mp4
-map 0:v:0
は、入力から最初の(index 0
)ビデオストリームを、出力の最初の(index 0
)ビデオストリームにマッピングします。
-map 1:a:0
は、入力から2番目の(index 1
)オーディオストリームを、出力の最初の(index 0
)オーディオストリームにマッピングします。
オーディオがビデオより長い場合は、出力ファイル名の前に-shortest
を追加します。
オーディオコーデックを指定しないと、自動的に有効なコーデックが選択されます。たとえば、-c:a libvorbis
の後に-c:v copy
を追加することで指定できます。