Mkvmerge GUI 指南

出自NMM Doc
於 2010年8月1日 (日) 13:15 由 XsLiDian討論 | 貢獻 所做的修訂 (以内容'作者:''Moritz Bunkus''; 译者:~~~; 复制自 [http://greatdreamers.cn/projects/mkvtoolnix/doc/mkvmerge-gui.html mkvmerge GUI (mmg) 指南] ==简介== ===什么…'创建新页面)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

作者:Moritz Bunkus; 譯者:XsLiDian; 複製自 mkvmerge GUI (mmg) 指南

簡介

什麼是 Matroska?

註:從 www.matroska.org 簡單複製而來。

Matroska 力求成為多媒體容器格式的唯一標準。 它起源於一個稱作 MCF 項目,但已有顯著差別,因為它基於 EBML(可擴展二進制元語言), XML 的二進制衍生語言。EBML 使得 Matroska 開發團隊在未來格式可擴展性方面 顯示出相當的優越性,而不破壞舊解析器對文件的支持。

要了解更多信息,請移步 Matroska 主頁

什麼是 mkvmerge?什麼是 mkvmerge GUI?

mkvmergemkvmerge GUI(即 mmg)是由 Moritz Bunkus 編寫的兩個程序。 它們是 mkvtoolnix 工具包的一部分。mkvmerge 可以讀取很多種多媒體文件,並將它們包含的內容存放在 Matroska 文件中。 不幸的是,這是個命令行程序,而並非所有人都能適應命令行操作。這便是 mkvmerge GUI 的用武之地。該 GUI 為用戶提供既直觀又強大的 mkvmerge 界面。

兩個程序都有適用於 Windows 與 GNU/Linux 及其他 Unix 派生環境的版本。 程序依 GPL 授權,所以任何感興趣的人都可以獲取源碼。

獲取最新版本

mkvtoolnix 的最新版本的總可以在 Moritz Bunkus 的網站 找到。Windows 用戶需要同時下載運行期 DLL 與 mkvtoolnix 二進制程序。 Linux/Unix 用戶或許會選擇下載源碼並自行編譯 mkvtoolnix

本指南講解的範圍

本指南僅集中講解這些工具的 GUI 部分。所有命令行選項在 mkvmerge 的手冊/HTML 文檔頁 中都有詳盡解釋。

配置 mkvmerge GUI

註:本段不涉及編譯與安裝。要了解相關信息,請參閱包含於 mkvtoolnix 工具包的 mkvmerge 的自述文檔以及 README 文件。

選擇 mkvmerge 可執行程序
圖 1:使用此按鈕選擇 mkvmerge 程序的路徑。

mmg 只需要知道 mkvmerge 程序的位置。通常情況下它會被自動找到。 但如果沒能找到,您可以在 選項 窗口選擇要使用的程序。

創建 Matroska 文件

基本步驟

mkvmerge文件軌道 嚴格區分。 一個輸入 文件 通常包含一條或多條 軌道mkvmerge 的運行至少需要一個輸入文件與要創建的 Matroska 文件的文件名。 用戶可以從這組基本選項開始,添加更多輸入文件,為每條軌道選擇高級選項, 應用更多全局選項等。

典型的基本步驟如下:

  1. 選擇一些輸入 文件
  2. 軌道 設置語言選項,
  3. 設置剪輯/文件標題,
  4. 選擇要寫入的文件並
  5. 開始混流過程。

添加與移除文件
圖 2:使用這些按鈕來添加與移除文件。

mmg 啟動時,它顯示第一個(或許也是最重要的)選項卡: 輸入選項卡。在這裡您可以看到三塊不同的區域。最上面的輸入框列出所有的 輸入 文件

圖 2 顯示了上方列表框右邊的四個按鈕,您可以使用 添加追加 按鈕來添加文件到列表框,也可以通過 移除移除所有 按鈕來移除選中項或所有輸入文件。

添加一個文件追加一個文件 之間是有不同的。 通常來說,添加了的 文件中的所有軌道將被平行置於輸出文件中。例如 當您有一條視頻軌,一條或多條音頻軌,以及一條或多條字幕軌時,符合這種情況。 它們都包含時間碼相同的資料,應當同時被播放出來。

追加一個文件 將使第二個文件的所有軌道被追加到上一個 添加的 文件的對應軌道。這樣這些軌道的內容將被一個接一個地播放。 您只能連接類型相同(如將視頻軌連接到視頻軌)、編碼相同(如將 MP3 連接到 MP3 而不是將 MP3 連接到 AC3)且參數相同(如採樣率必須相匹配)。

您可以通過文件名分辨 添加的追加的 文件。 追加的 文件和軌道以「++>」開頭。

選擇特定軌道
圖 3:一條啟用的軌道與一條禁用的軌道。 第二條軌道不會被複製到輸出文件中。

只要用戶在上方列表框中添加至少一個輸入 文件,第二個列表框將列出所有可用 軌道。每條軌道默認是啟用的,將被混流至輸出文件中。 然而,您可以簡單點擊第二個列表框中各軌道正前方的複選框來改變它。如圖 3 所示。

對這裡的每條軌道,用戶都可以通過軌道列表下方的輸入框與複選框來選擇 軌道的細節選項。下面的章節將介紹這些選項。

軌道列表框的右邊有兩個按鈕,您可以通過它們控制輸出文件中軌道的次序。 點擊 上移下移 按鈕,當前選中的軌道將按相應方向移動。 移動 追加的 軌道(以「++>」開頭的)時 有些限制,例如 追加的 軌道不能作為第一條軌道。

關於章節的更多信息可以在本文檔關於 章節編輯器 的章節 以及 mkvmerge 的自述文檔中找到。

軌道選項

根據當前選擇的軌道類型(視頻,音頻,字幕等)甚至是軌道內容, 所有軌道選項中僅有部分可用。這些選項跨越三個子選項卡:軌道常規選項 格式細節選項額外選項

一條視頻軌的典型選項
圖 4:各類軌道常見的選項

註:除非被用戶改動,mkvmerge 將從輸入文件複製軌道配置 (如果源文件格式支持此類信息)或自主選擇默認值。

可用的常規選項有:

  • 轨道名称:用戶可為當前軌道設定名稱。 該名稱是無格式限制的字串。實例如「導演評論」或「西雅圖大觀」。 注意這些名稱不必包括影片名稱。
  • 语言:用戶可為所有類型的軌道選擇語言。 語言以 ISO639-2 語言碼編碼。下拉框包括所有 ISO639-2 代碼所以用戶不必擔心選錯語言碼。
  • 索引:Matroska 的 cue 索引相當於 AVI 的 index 索引。它們是關鍵幀的紐帶。通常該選項應維持「默認」一值。 mkvmerge 會自動為任何給定軌道類型選擇最佳規則。 關於軌道的完整解釋可在 mkvmerge 文檔 中找到。
  • “默认轨”标签: Matroska 接受可告知播放器 優先播放指定軌道(用戶未選擇其他軌時)的標籤。 當然,每種軌道類型有它自己的默認軌,例如 默認音頻軌是英語的,同時默認字幕軌是法語的。如果沒有軌道被設為 默認軌,mkvmerge 將提升它發現的每類的第一條軌道為默認軌。 這與各類媒體播放器的行為一致。
  • 标签:您可以為每條軌道創建 XML 標籤文件。 關於所有標籤的完整解釋請參看示例文件和 mkvmerge 自述文檔。 如果您使用這個選項,99% 是想關聯標籤到特定軌道。 全局選項卡的標籤選項可能不是您需要的。
  • 时间码:通常 mkvmerge 會從源文件導出 各幀的時間碼,但它也能讀取並使用此處指定的外部文本文件中的時間碼。 本功能非常複雜。幾乎所有用戶應將此項留空。

視頻軌典型選項
圖 5:視頻軌的典型選項

格式細節選項包括:

  • 宽高比:用戶可通過本選項設定播放時應使用的寬高比。 它默認為視頻編碼時的寬高比,但可以更改,比如針對變形編碼。 GUI 要求格式為浮點數(如「2.33」)或分數(如「16/9」)。
    另一種可能情況是手動設置顯示寬度和顯示高度的值。 當您想調整這些參數到特定的分辨率時,這項功能會很有用。 如果您指定的是寬高比,mkvmerge 將根據視頻尺寸計算顯示尺寸。
    本選項僅對視頻軌可用。
  • FourCC:Matroska 通常不儲存 其他容器用來識別編解碼器的四位代碼(Four-CC)。 Matroska 有自己的格式,叫作 CodecID, 但它也有個 AVI 兼容模式。在此模式下,將同時儲存 FourCC 值。 使用本選項可以強制 FourCC 為指定值。 但您無法更改 mkvmerge 所用的 CodecID
    本選項僅對視頻軌可用。
  • 立体视法: 現有一種技術,通過同時播放兩條視頻軌, 它們攝製於很相近但又有細微偏差的方位,以展示虛擬三維圖像。 每隻眼睛只能看到其中一軌(的畫面)。這就叫作 立體視法。 大多數用戶應將此項留空。
    本選項僅對視頻軌可用。
  • 帧率:AVC/h.264 視頻軌的 每秒幀數。當您添加 AVC/h.264 基本流時,必須告知 mkvmerge 該視頻錄製時每秒有多少幀, 因為在基本流中並沒有這條信息。 如果您未進行任何選擇,mkvmerge 將默認為 25。 您既可以輸入浮點數(如 29.97),也可以輸入分數(如 30000/1001)。
    本選項僅對讀入自 AVC/h.264 基本流的 AVC/h.264 視頻軌可用。

音頻軌典型選項
圖 6:音頻軌的典型選項

  • 延时(ms):有時音頻與視頻沒有正常同步。 通過本選項,用戶可以對任何軌道的時間碼進行偏移調整。指定值正負皆可。 此處輸入的數以毫秒為單位,並將在 伸展比率(參見下文) 得到應用之後 加到各時間碼上。
    本選項對所有類型的軌道均可用。 但在回放時,時間碼調整對視頻軌與字幕軌效果最佳。
  • 伸展比率:有時音視頻同步是隨着播放進度逐漸錯開的。 這可以通過提供 mkvmerge 伸展時間碼的比率來解決。 如果未輸入任何數值,不改變時間碼的「1.0」將被採用。
    您輸入的數值可以是浮點數或分數,如「1/2」。 此比率將在添加 延时(參見上文)之前得到應用。
    本選項對所有類型的軌道均可用。 但在回放時,時間碼調整對視頻軌與字幕軌效果最佳。
  • 字符集: 某些文本字幕與章節並不存放它們創建時所用字符集的信息。 本選項非常重要,因為文本字幕與章節在混流過程中會被自動轉換為 UTF-8 字符集。 mkvmerge 通常假定系統當前的字符集為字幕或章節文件保存所用的字符集。 但如果不是這樣,用戶可以自己選擇正確的字符集。
    本選項僅對字幕軌與章節可用。

字幕軌典型選項
圖 7:字幕軌的典型選項

  • 压缩方式:Matroska 有一套對軌道進行無損壓縮的強大系統。 這些壓縮方式(算法)可以應用到任何給定軌道,但有些播放器只支持 VobSub 軌道對本功能的使用。這也是該功能最有用的地方。 至於其他軌道,尤其是音視頻軌,已經被壓縮過,所以額外的壓縮並不會起多大效果。 對於 VobSub 字幕,如果您啟用 zlib 壓縮,將可以另外獲得約 30% 的壓縮率。 這就是它是 VobSub 軌道的默認處理方式的原因。
    您只需保持此選項為 默認 即可。
  • AAC 是 SBR/HE-AAC/AAC+:被稱作「高效 AAC」(HE-AAC) 的新技術在以.AAC 為擴展名存儲時有些缺點:無法偵測這些文件中的 HE-AAC 部分。因此當文件使用該技術時,用戶得手動勾選本項。請注意,存儲於 .MP4 文件中的 HE-AAC 不存在此問題。

附件

Matroska 文件可以包含其它文件,叫作附件。 它基本上就像您最愛的電子郵件程序一樣工作。 這一概念的提出,是為了提供關於文件的額外信息。例如 CD rip 的封面照片,文本格式的影片背景信息補充, 甚至是顯示字幕需要的字體包。

每個附件需要兩個基本信息:文件名(很顯然需要)與應當與文件關聯的 MIME 類型。使用方法很簡單,與在 輸入 選項卡中添加文件類似。

添加與移除附件
圖 8:使用這些按鈕添加與移除附件

在 GUI 的第二個選項卡,附件 選項卡中,您可以使用 添加 按鈕添加文件,使用 移除 按鈕移除所選附件。 一旦選中一個附件,此選項卡的其他控件都將可用。 您必須為每個附件選擇 MIME 類型,但描述是可選的——儘管總提供描述是個好想法。 這將使別人更容易識別出您向這個 Matroska 文件附加了什麼。

附件典型選項
圖 9:附件的典型選項

最後一個選項,附加方式,只有在您同時切割輸出文件時有影響。 (全局切割選項將在後續段落中解釋)如果選擇了 附加到所有文件, 則當前文件將被附加到創建的所有輸出文件。如果選擇了 仅附加到首个文件,當前文件僅附加到創建的第一個文件。

全局選項

第三個選項卡,全局,包含了應用到整個文件,而不只是一或多個軌道的選項。

文件/剪輯標題

選擇影片標題
圖 10:為當前影片選擇標題

文件/剪辑标题: 此標題用作真實的影片標題,如《香草天空》。

自動切割與文件鏈接

切割 段落處理如何切割輸出文件為多個小文件。 如果沒有選擇切割,將只創建一個大文件。如果「切割」處於選中狀態,您可以告知 mkvmerge 在寫入指定數據量或到達指定時間碼時開始創建新的輸出文件。 可接受的格式有:

  • 按尺寸:被字母「K」「M」或「G」緊跟的數字代表 千字節(1024 字節),兆字節(1024 * 1024 字節)或 吉字節(1024 * 1024 * 1024 字節)示例:「700M」或「100000K」。
  • 按時間:格式可以是多達九位即精確到毫微秒的 HH:MM:SS.nnn 或後接字母「s」的秒數。多個時間碼可以用逗號隔開。
    請注意這些時間碼根據未切割的輸出流計算。 也就是說,輸入「00:10:00,00:20:00」將生成三個文件, 其中前兩個文件均長約十分鐘。而第三段將包含其餘的輸入流。 此功能與「文件鏈接」功能相獨立。
    示例:「01:20:00」(1 小時 20 分鐘後切割)或「1800s」 (1800 秒,即 30 分鐘後切割)。

切割典型選項
圖 11:切割的典型選項。創建兩個約 700 兆大小的文件。

连接文件: 此選項控制 mkvmerge 如何處理切割。 關於此功能的一點解釋:

Matroska 支持簡單告知特定文件是前趨或後繼文件的文件鏈接功能。 嚴謹地講,被連接的並不是文件,而是 Matroska 剪輯。 因為大多數文件可能只包含一個 Matroska 剪輯,所以我簡單地講「文件鏈接」, 儘管「剪輯鏈接」更恰當。

每個剪輯以唯一的 128 位寬的剪輯 UID 標記。此 UID 由 mkvmerge 自動生成。 鏈接操作主要通過寫入前/後文件的剪輯 UID 到當前剪輯的頭部信息完成。 mkvinfo 發現這些 UID 時會將它們輸出。

如果一個文件被切割為多個小文件,並且使用了鏈接功能,後續文件的時間碼將不會從 0 開始, 而是從前一文件停止的地方繼續。這樣,絕對的時間將得以保留,即使前一文件不可用 (如用作流媒體時)。如果未使用鏈接,每個文件的時間碼都將從 0 開始。默認情況下 mkvmerge 不會使用文件鏈接,因為某些播放器仍然無法處理連接起來的文件。 如果您希望連接文件,您可以通過勾選 连接文件 複選框來啟用該功能。

手動文件/剪輯鏈接

不論是否啟用了切割,用戶都可以告知 mkvmerge 將生成的文件連接到指定的 UID。This is done by 您可以通過在 上一剪辑 UID下一剪辑 UID 兩個輸入框中輸入有效的剪輯 UID 來完成這項操作。這些選項接受 mkvinfo 輸出的剪輯 UID 格式:以「0x」為前綴、以空格分隔的 16 個 介於 0x00 與 0xff 十六進制數。如 0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93。 另有一種較短的格式可供選擇:沒有「0x」前綴或空格的 16 個介於 0x00 與 0xff 的十六進制,如 41da7366d9cfb21eae78ebb45ecab393

如果啟用了切割功能,第一個輸出文件將與 上一剪辑 UID 輸入框中指定的 UID 相連,最後一個輸出文件將與 下一剪辑 UID 輸入框中指定的 UID 相連。 如果未啟用切割,唯一的輸出文件將同時與指定的兩個 UID 相連接。

章節

您可以通過瀏覽按鈕選擇要添加到輸出文件中的章節。 關於章節各方面的完整解釋可以在 章節編輯器段落 找到。

全局標籤

不像您在輸入選項卡為每條軌道選擇的標籤,此處所選的標籤必須包含軌道 UID。 這些標籤不會被自動指派給任何軌道相連。 在 99% 的情況下,這不是您希望使用的選項!

完整的解釋可以在 mkvmerge 自述文檔 中找到。

啟動混流進程

當您一切都設置完畢時就可以啟動混流進程了。 您要做的最後一件事就是選擇要混流到哪裡。您可以通過 浏览 按鈕選擇輸出文件。 完成之後,點擊 开始混流 按鈕或者在 混流 菜單中選擇同樣的菜單項。

如果一切都已正確設定,mmg 將顯示混流窗口。 進度在頂部顯示,作為 mkvmerge 當前狀態的大體描述。

混流窗口
圖 12:混流窗口

mkvmerge 有三種不同「嚴肅級別」的信息: 狀態報告,警告信息與錯誤信息。所有狀態報告信息都在上方窗格顯示。 包括發現的軌道類型及其它令人感興趣的信息。

警告信息在中間的窗格顯示。mkvmerge 發出警告時不會中斷處理, 但可能停止對遭警告的軌道進行混流。 您應該關注所有警告信息。

錯誤信息在下方的窗格顯示。錯誤通常是致命的, mkvmerge 輸出錯誤信息後即停止混流。 此類信息可能是硬盤已滿或者 源文件已損壞且無法繼續處理。

中断 按鈕向 mkvmerge 發出停止混流的信號。 除非 mkvmerge 遭遇死循環,它會在您按下按鈕不久之後停下。 您可以通過 保存日志 按鈕保存 mkvmerge 的完整輸出信息為文本文件供進一步研究, 或者如果您發現了設計缺陷,且希望給我輔助信息。

保存與載入混流配置

您配置選項的所有努力都不必隨着退出程序而消失。 您可以通過 文件 菜單中的 保存配置 選項保存所有混流配置為基於文本的配置文件,以後可以通過 载入配置 選項恢復配置。 默認擴展名為通常不被其它程序使用的 .mmg。 您也可以將此擴展名與 mmg 關聯, 這樣當它被附加這樣的配置文件名調用時,可以自動加載配置。

排隊處理多項任務

當您要混流多個文件時,您不必先準備第一個文件,等它混流完畢,再準備第二個文件, 等它完成,如此如此。mkvmerge GUI 包含一個任務管理器, 可以將完整的任務排隊,並在您方便時挨個運行。使用任務管理器的基本步驟如下:

  1. 添加所有文件,配置所有選項,配置輸出文件名。
  2. 點擊 添加到任务队列 按鈕,並為它設定一個易於辨認的標題。
  3. 按您的需要,重複上面的步驟。
  4. 混流 菜單中選擇 管理任务, 調出任務管理器。
  5. 點擊 启动 按鈕。
  6. 泡杯茶,買點東西或者談談天;)

任務管理窗口
圖 13:任務管理窗口

每項任務有六個屬性:一個由 mkvmerge GUI 自動選定的 ID;它的狀態(挂起:尚未混流; 完成:已成功混流; 完成,有警告:成功完成混流,但是有警告; 失败:混流失敗);您輸入的名稱; 任務添加到任務隊列的日期與時間; 混流進程啟動的日期與時間; 混流進程完成的日期與時間。

全局控件位於窗口底部。启动 按鈕將啟動所有狀態為 挂起 的任務。 启动所选 按鈕將啟動當前選中的所有混流任務, 不論其狀態如何。

右邊的按鈕對選中的所有任務進行操作。 上移下移 將所選任務在列表中移向上方或下方。 重新启用 按鈕設定所選任務的狀態為 挂起,這樣,下次按下 启动 按鈕時它們將被啟動。禁用 按鈕將設定狀態為 完成

混流過程中 mkvmerge 的輸出信息不會被顯示,而是被儲存下來。 如果您想查看任務的輸出信息,您可以點擊 查看日志 按鈕。這當任務完成但有警告時,或者當任務完全失敗時非常有用。

章節編輯器

全功能的章節編輯器是 mmg 的新功能之一。 它可以讀取基於文本的章節文件,從已有的 Matroska 文件導入章節,輸出可以在全局選項卡中選定的基於文本的章節文件, 以及將章節直接寫入現有 Matroska 文件。

Matroska 的章節概念

不像其他很多系統,Matroska 支持 嵌套的 章節。這主要意味着您可以為章節定義子章節。

Matroska 中的章節實體至少由四個項目組成:它所應用到的軌道的 UID, 章節標題/名稱,它的起始時間以及與它關聯的語言代碼。 另外的元素是可選的,包括終止時間以及其他語言代碼和國家代碼。 用戶通常只需要必備元素。在這些元素中,需要指定的只有名稱,起始時間和語言碼。 mkvmerge 會自動將所有章節指派給整個文件。

示例

第一個例子比較簡單。被討論的影片包含四部分: 開頭的序幕,第一幕,第二幕,以及演職員表。 注意,終止時間戳是可選的。

序幕(起始于 00:00:00,语言 英语) 
第一幕(起始于 00:01:00,语言 英语) 
第二幕(起始于 00:05:30,语言 英语) 
演职员表(起始于 00:12:20 终止于 00;12:55,语言 英语)

再舉個更複雜的例子,它包括子章節。以路德維希·范·貝多芬(Ludwig van Beethoven) 的戲劇《Fidelio》為例。為簡便起見,我只算了前兩幕的前三段。

第一幕包括:

  1. Overtüre(6:24 分鐘長),
  2. Arie: 'Jetzt, Schätzchen, jetzt sind wir allein'(4:46 分鐘長)以及
  3. Dialog: 'Armer Jaquino'(0:10 分鐘長)。

第二幕包括:

  1. Ouvertüre und Arie: 'Gott! welch Dunkel hier!'(10:46 分鐘長),
  2. Melodrama und Duett: 'Wie kalt ist es'(5:21 分鐘長)以及
  3. Dialog: 'Er erwacht!'(0:59 分鐘長)。

第一幕,也就是我們的第一章,總時長為 11:20。第二幕時長 17:06。這些章節的結構如下所示:

Erster Akt(起始于 00:00:00 终止于 00:11:20,语言 德语,国家 德国) 
    Ouvertüre(起始于 00:00:00 终止于 00:06:24,语言 德语,国家 德国) 
    Arie: 'Jetzt, Schätzchen, jetzt sind wir allein' (起始于 00:06:24 终止于 00:11:10,语言 德语,国家 德国)
    Dialog: 'Armer Jaquino'(起始于 00:11:10 终止于 00:11:20, 语言 德语,国家 德国) 
Zweiter Akt(起始于 00:11:20 终止于 00:28:26,语言 德语,国家 德国) 
    Ouvertüre und Arie: 'Gott! welch Dunkel hier!'(起始于 00:11:20 终止于 00:22:06,语言 德语,国家 德国) 
    Melodrama und Duett: 'Wie kalt ist es'(起始于 00:22:06 终止于 00:27:27,语言 德语,国家 德国) 
    Dialog: 'Er erwacht!'(起始于 00:27:27 终止于 00:28:26, 语言 德语,国家 德国)

mkvmerge 支持的章節格式

mkvmergemmg 的章節編輯器都支持不同格式的章節文件。

簡單/OGM 格式章節文件

OGM 文件中的格式是最基本的格式之一。它是一種基於文本的格式。 每個章節項目包含兩行,第一行包含開始時間,第二行則是章節標題/名稱。 每行都有編號。

上邊第一個例子可以用這種格式表示:

CHAPTER01=00:00:00.000
CHAPTER01NAME=序幕
CHAPTER02=00:01:00.000
CHAPTER02NAME=第一幕
CHAPTER03=00:05:30.000
CHAPTER03NAME=第二幕
CHAPTER04=00:12:20.000
CHAPTER04NAME=演职员表

第二個例子不能用這種格式表示,因為這種格式既不支持語言指定, 也不支持終止時間或者嵌套章節。 它也有優越之處,就是這種文件很容易創建,而且 不論是 Windows 平台還是 Unix/Linux 平台上都有一些工具可以 直接從 DVD 創建此類文件。

由於一些限制因素,mmg 不能以此格式輸出章節。

全功能的 XML 格式章節文件

我創建了一種基於 XML 的章節格式,它與 Matroska 所用的系統非常一致。 使用此格式,您可以盡情控制所有功能。 在這裡我就不詳細描述這種格式了。請參看 mkvtoolnix 附帶的示例 XML 章節文件。

Matroska 文件中的章節

章節編輯器可以直接從 Matroska 文件讀取章節。這些章節可以 輸出為 XML 章節文件,也可以導回原來的 Matroska 文件 或者寫入另一個 Matroska 文件。支持所有功能。

創建章節文件

章節編輯器包括三部分:所有章節的樹形結構, 用來添加、移除與調整章節的五個按鈕, 以及用來設置各章節數據的輸入框。

章節編輯器
圖 14:章節編輯器,顯示的是前文所述的例子

Matroska 文件中的章節被定義有起始時間,名稱和與名稱相關聯的語言。 每個章節可以有多個名稱,每個名稱與不同的語言相關聯。 您也可以添加終止時間,但這不是必需的。

通過 章节编辑器 菜單中的 新建 菜單項可以創建新章節文件。您可以通過 添加章节添加子章节 按鈕添加章節。這兩個按鈕的不同之處在於 當一個章節已被選中時, 添加章节 按鈕將在所選章節後 直接追加一個同級章節,而 添加子章节 按鈕將在當前選中章節下級末端添加一個章節,作為其最後一個子章節。

移除章节 按鈕需小心使用。它會移除整個子樹而不要求確認, 而且目前也沒有「撤銷」菜單項可用。

選中一個章節條目後您可以更改它的數據。 起始時間與終止時間的格式均為 HH:MM:SS.mmm 或更簡易的 HH:MM:SS。將會預先添加一個章節名稱。 您可以編輯它並選擇這個名字所用的語言。這樣您可以提供多語種的名稱,如 「The hero arrives」以「eng」為語言, 「Der Held kommt an」以「ger」為語言。 您只需點擊 添加名称 按鈕來滿足更多需求或者點擊 移除名称 去掉一個。

創建很多章節,又總得不停地修改語言,可是件不小的工作。 因此您可以在選項窗口的 章节 選項卡中選擇 mmg 默認應該添加的語言與國家標籤。 设置语言值 按鈕的效果與此類似。 您可以通過該按鈕將所選的語言與/或國家應用到所選章節項目及其所有子項。

要保存章節為 XML 文件,您可以選擇 保存另存为另存为 不能用來寫入章節至現有 Matroska 文件——您應該通過 保存到 Matroska 文件 來實現。

編輯現有章節

您可以通過 章节编辑器 菜單中的 载入 菜單項載入已有章節文件或者 Matroska 文件中的章節。 mmg 將自動偵測使用的文件類型並讀取章節。

頭部編輯器

mmg 包含有針對已有 Matroska 文件頭部字段的編輯器。 您可以通過選擇 mmg 「文件」菜單中的「頭部編輯器」來啟動它。

頭部編輯器允許用戶在不對整個文件重新混流的前提下編輯剪輯信息頭和各軌道頭中的一些字段。 用法很簡單:載入文件,選擇您希望更改的頭部字段, 更改選中字段的取值,最後保存文件。

添加與移除頭部字段

Matroska 文件格式對大多數頭部字段的存在與否留有餘地。 mmg 的頭部編輯器顯示它支持的所有頭部字段,即使文件中不存在這些字段。 它允許用戶在文件中添加目前不存在的字段,也允許用戶從文件中移除已存在的字段。

打開現有文件

用戶可以在「文件」菜單中選擇「打開」來開始編輯文件。 選擇恰當文件後,頭部編輯器將會掃描文件中的所有重要元素。 根據文件大小,這要耗費相應的時間。 由於 Matroska 靈活的文件結構,這是必要的一步。

編輯頭部字段

打開文件之後,左窗格將為文件中發現的各剪輯頭與各軌道各顯示一個元素。 樹形結構中的每個節點都包含一系列的子元素,它們代表真實的頭部值。 用戶選擇這樣的子元素後,右窗格將被更新,以顯示該元素的一系列情況:

  • 它的類型(數字,字串等),
  • 它的名字,
  • 它的用途簡述,
  • 文件中是否存在該字段 (若存在則提供移除選項,反之則提供添加選項),
  • 元素的原值(若打開的文件中存在該元素)以及
  • 修改內容用的控件。

大部分值的數據類型顯而易見:數字,字符串等。然而,二進制類型以十六進制數位的序列顯示。 可接受的格式與 mkvmerge 指定剪輯 UID 的那些選項相同:既可以是簡單的十六進制數位序列 (如 1857a7fe7d……)也可以是每兩位以「0x」為前綴的十六進制數 (如 0x18 0x57 0xa7 0xfe 0x7d……)。

檢驗

您可以通過選擇「頭部」菜單中的「檢驗」對您的改動進行檢驗。 在用戶保存文件時,檢驗也會自動進行。 檢驗操作可以確保用戶提供的數值能夠存儲到相關元素中。 例如數字元素不能包含字符。

如果檢驗失敗, 首個未通過檢驗的元素將被選中,這樣用戶可以修正錯誤。

保存文件

用戶可以通過選擇「文件」菜單中的「保存」來保存改動。 如果未進行任何改動,mmg 會如實告知,且不會對文件進行改動。

在改動文件之前,mmg 會檢查文件打開後是否已被其它應用程序改動。 如果是這樣,mmg 會警告用戶,放棄所有改動並重新載入文件,以確保文件不被破壞。

mmg 會儘可能在最合適的地方寫入改動後的頭部。 它會在原位置、EbmlVoid 元素處以及它發現的所有其他頭部實例處覆寫已有頭部元素。 它還會更新元定位頭,以便讀取此文件的其他程序找到這些頭部字段。

保存文件後,頭部編輯器將自動重新載入該文件並重新分析它。 這樣做可以確保文件未發生任何損壞。 這一安全功能會很大程度地延緩保存文件的過程。 在完成足夠的測試之後,後續版本的 mmg 中將移除該功能。