ffmpeg - 使用批处理脚本从多个文件中删除特定的音轨

ffmpeg - 使用批处理脚本从多个文件中删除特定的音轨

我正在尝试创建一个批处理脚本,使用“ffmpeg”从多个视频文件中删除特定的音轨。

所有文件上的音轨都有相同的 ID。执行“ffmpeg -i file.mkv”后,我得到: 在此处输入图片描述

我想做的是删除 DTS-HD MA 音轨。所以我创建了一个批处理脚本:

if not exist muxed md muxed
for %%g in (*.mkv) do (
    ffmpeg -i %%g -map 0:1 -c copy muxed\%%g
)

但不幸的是,它会剥离视频轨道和第二音轨(DDP 5.1)

我也尝试过其他 ID 组合:

  • 0:0 – 删除两个音轨
  • 0:1 - 剥离视频轨道和第二音轨(DDP 5.1)
  • 0:2 - 剥离视频轨道和第一音轨 (DTS-HD MA)

我只是想让它剥离 DTS-HD MA 音轨。我最接近的是 0:2,但这也删除了视频音轨。

我究竟做错了什么?

答案1

没关系,我自己已经找到答案了。

解决方案:

if not exist DDP md DDP
for %%g in (*.mkv) do (
  ffmpeg -i %%g -map 0:0 -map 0:2 -c copy DDP\%%g
)

这将忽略 ID 为 0:1 的音轨

相关内容