如何从 mp4 视频文件中删除音轨?

如何从 mp4 视频文件中删除音轨?

我有一个包含多个音轨的 mp4 视频文件。我想去掉其余的轨道并只保留一个。我该怎么做呢?

答案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将视频流和第二个音频流复制到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

看:https://ffmpeg.org/ffmpeg.html#Advanced-options

答案4

你可以尝试avidemux它在内部仅处理一个音频文件(因此强制您选择一个特定的轨道)。我从未尝试过使用 .mp4,但它适用于其他格式。

相关内容