我正在尝试创建一个批处理脚本,使用“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 的音轨