複数のオーディオトラックを含むmp4ビデオファイルがあります。残りのトラックを削除して1つだけ維持したいです。どうすればいいですか?
答え1
まず実行して、ffmpeg -i file.mp4
ファイルにどのストリームがあるかを確認します。次の内容が表示されます。
Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
次に、実行ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy new_file.mp4
してビデオストリームと2番目のオーディオストリームをnew_file.mp4
。
答え2
関連質問 - 削除みんなmp4ファイルのオーディオトラックは次のように実行できます。
ffmpeg -i input_file.mp4 -vcodec copy -an output_file.mp4
答え3
ストリーム番号を識別します。
$ ffmpeg -i in.mp4
...
Stream #0:0: Video: ...
Stream #0:1: Audio: ...
Stream #0:2: Audio: ...
-map _file_:_stream_
処理して出力するストリームを選択するために使用されます。
$ ffmpeg -i in.mp4 -map 0:0 -map 0:2 -vcodec copy -acodec copy out.mp4
答え4
あなたは試すことができますavidemux
内部的には1つのオーディオファイルのみを処理します(したがって特定のトラックを選択する必要があります)。 .mp4を使ったことはありませんが、他の形式でも機能します。