Mar*_*tin 3 video video-editing video-conversion matroska
我有一堆 MKV 文件,它们都是以相同的方式制作的:
现在我想更改音轨顺序,使德语为轨道 1,英语为轨道 2。如何为文件夹中的所有 MKV 文件实现此目的?
请不要像已接受的答案那样用于mkvpropedit订购曲目。这不会像那样正确地排序它们mkvmerge。
如果您使用 MediaInfo 等工具检查视频,您可以看到有一个StreamOrderandID字段。
根据我的经验(我通过惨痛的教训才了解到这一点),ID如果您使用mkvpropedit. 这不会更改StreamOrder,因此 MKVToolnix 也不会将曲目识别为已排序。
mkvmerge相反,请在可以指定的地方使用--track-order,例如:
mkvmerge --output "your_file (1).mkv" "(" "your_file.mkv" ")" --track-order 0:0,0:2,0:1
其中0:0表示视频轨道,0:2则将是德语轨道,并且0:1将是英语轨道。
希望这对未来的读者有所帮助。
我找到了解决方案并mkvmerge从mkvtoolnix包中构建了以下脚本:
#!/bin/bash
for f in *.mkv
do
mkvpropedit -v "$f" --edit track:2 --set track-number=3 --edit track:3 --set track-number=2
done
Run Code Online (Sandbox Code Playgroud)
这会遍历文件夹中的所有 mkv 文件(假设它们都以相同的方式构建并且需要以相同的方式进行编辑)。由于第一个轨道通常是视频轨道,因此它将第二个轨道更改为第三个 ( --edit track:2 --set track-number=3),将第三个更改为第二个 ( --edit track:3 --set track-number=2)。
这可以通过名为MKVToolNix的程序来完成
加载了 3 个音频流的 MKV 示例文件:
正如您在此示例中所看到的。我有 3 个音频流。TrueHD、DTS-HD 和 AC-3 这与您的英语、德语情况相同。
只需将德语音频流拖到顶部即可。作为示例,我将把 AC-3 移动到顶部流。
但这所做的只是将 AC-3 移动到音频顺序的顶部...但是您会注意到 TrueHD Atmos 仍然是文件启动时要播放的默认曲目。
为了使 AC-3(或您的情况下的德语)成为默认音频流,请单击德语轨道,然后在右侧属性下将默认轨道标志设置为YES
完成所有这些后,按“开始多路复用”。这将使用您所做的新调整创建一个全新的文件。然后您可以丢弃旧文件。
| 归档时间: |
|
| 查看次数: |
16680 次 |
| 最近记录: |