更改 MKV 檔案中的音軌順序

更改 MKV 檔案中的音軌順序

我有一堆 MKV 文件,它們都是以相同的方式製作的:

  • 一個視頻軌道
  • 音軌 1 是英語
  • 音軌 2 是德語

現在我想更改音軌順序,使德語為軌道 1,英語為軌道 2。

答案1

請這樣做不是用於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將是英語軌道。

希望這對未來的讀者有幫助。

答案2

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

這會循環資料夾中的所有 mkv 檔案(假設它們都是以相同的方式建置並且需要以相同的方式編輯)。由於第一個軌道通常是視訊軌道,因此它將第二個軌道變更為第三個軌道 ( --edit track:2 --set track-number=3),將第三個軌道變更為第二個軌道 ( --edit track:3 --set track-number=2)。

答案3

這可以透過一個名為的程式來完成MKV工具尼克斯

載入了 3 個音訊串流的 MKV 範例檔案:

在此輸入影像描述

正如您在此範例中所看到的。我有 3 個音訊串流。 TrueHD、DTS-HD 和 AC-3 這與您的英語、德語情況相同。

只需將德語音頻流拖到頂部即可。作為範例,我將把 AC-3 移到頂部流。

在此輸入影像描述

但這所做的只是將 AC-3 移到音訊順序的頂部...但您會注意到 TrueHD Atmos 仍然是檔案啟動時要播放的預設曲目。

為了使 AC-3(或您的情況下的德語)成為預設音訊串流,請點擊德語軌道,然後在右側的屬性下進行設定預設曲目標記為是的

在此輸入影像描述

完成所有這些後,按開始多路復用。這將使用您所做的新調整來建立一個全新的檔案。然後您可以丟棄舊文件。

答案4

如果不將軌道重新合併到新檔案中,則無法對 mkv 檔案內的軌道進行重新排序。我最近遇到了完全相同的問題並找到了解決方案。我創建了一個批次檔來重新排序音軌,該文件處理所選資料夾中的所有 mkv 文件,並將具有重新排序音軌的同名新 mkv 文件輸出到新位置。它使用適用於 Windows 的 MKVToolNix 套件(最新版本)的 mkvmerge.exe。而且,果然,與使用 mkvproedit 更改標誌和屬性相比,重新合併軌道需要一些時間。如果您仍然感興趣,請告訴我。

相關內容