MKVEXTRACT(1) | 使用者命令 | MKVEXTRACT(1) |
名称¶
mkvextract - 將 Matroska 軌道檔案擷取至其他檔案
概要¶
mkvextract {輸入檔名} {模式1} [選項] [擷取規格1] [模式2] [選項] [擷取規格2] [...]
摘要說明¶
此程式從 Matroska 檔中提取特定部分到其他有用的格式。第一個參數是原始檔案的名稱,該檔必須是 Matroska 檔。
所有其他引數可切換至特定擷取模式,變更目前使用模式的選項,或指定要擷取那些內容至哪個檔案中。可在 mkvextract 同一次啟動中使用多個模式,允許一次擷取多個內容。大多數選項只能在特定模式下使用,只有少數選項適用於所有模式。
目前支援軌道 tracks 軌道, tags 標籤, attachments 附件, chapters 章節, CUE sheets CUE 工作表, timestamps 時間戳記 與 cues的擷取。
一般選項¶
以下選項在所有模式下都可用,本節中僅介紹一次。
-f, --parse-fully
--command-line-charset 字元集
--output-charset 字元集
-r, --redirect-output 檔名
--flush-on-close
--ui-language 語言碼
--abort-on-warnings
--debug 主題
--engage 功能
--gui-mode
-v, --verbose
-h, --help
-V, --version
@options-file.json
軌道擷取模式¶
語法: mkvextract 原始檔名 tracks [選項] TID1:輸出檔名1 [TID2:輸出檔名2 ...]
以下命令列選項可用於 'tracks' 提取模式下的每個軌道。 這些命令須在應該所套用到的軌道指令(請見下文)前出現。
-c 字元集
--blockadd 層級
--cuesheet
--raw
--fullraw
TID:輸出檔名
每個輸出名稱只能使用一次,但 RealAudio 與 RealVideo 軌道除外。如果將不同的軌道使用相同的名稱,那麼會儲存到同一個檔案。例如:
$ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx
附件擷取模式¶
語法: mkvextract 原始檔名 attachments [選項] AID1:輸出檔名1 [AID2:輸出檔名2 ...]
AID:輸出檔名
章節擷取模式¶
語法: mkvextract 原始檔名 chapters [選項] 輸出檔名.xml
-s, --simple
--simple-language 語言
使用此選項,當單元包含一個以上章節名稱時,允許使用者決定使用哪一個章節名稱作為輸出使用。 語言 參數必須為 ISO 639-1 或 ISO 639-2 編碼。
章節將寫入指定輸出檔案。預設情況下,會使用 mkvmerge(1) 可識別的 XML 格式。如果檔案中沒有找到任何章節,將不會建立輸出檔案。
標籤擷取模式¶
語法: mkvextract 原始檔名 tags [選項] 輸出檔名.xml
標籤將寫入指定輸出檔案。預設情況下,會使用 mkvmerge(1) 可識別的 XML 格式。如果檔案中沒有找到任何標籤,將不會建立輸出檔案。
Cue 工作表擷取模式¶
語法: mkvextract 原始檔名 cuesheet [選項] 輸出檔名.cue
CUE 表單將寫入指定輸出檔案。如果檔案中沒有找到任何章節或標籤,將不會建立輸出檔案。
時間戳記擷取模式¶
語法: mkvextract 原始檔名 timestamps_v2 [選項] TID1:輸出檔名1 [TID2:輸出檔名2 ...]
TID:輸出檔名
範例:
$ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt
Cue 擷取模式¶
語法: mkvextract 原始檔名 cues [選項] TID1:輸出檔名1 [TID2:輸出檔名2 ...]
TID:輸出檔名
輸出的格式為簡易文字格式: 每行對應一組 CuePoint 元件與 機碼=值。當選用的元素不存在於 CuePoint 時(例如 CueDuration) ,將會以短破折號(虛線)作為輸出值。
範例:
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
可使用的機碼如下:
timestamp
duration
cluster_position
注意
Matroska 檔案中的 CueClusterPosition 相對於剪輯資訊資料的起始偏移。但由 mkvextract(1) CUE 擷取模式輸出的值已經包含該偏移,並且是與文件開頭的絕對偏移。
relative_position
注意
Matroska 檔案中的 CueRelativePosition 是相對於叢集資料起始的偏移。但 mkvextract(1) 的 CUE 擷取模式所輸出的值,是相對於叢集的 ID 。可通過新增與新增檔案計算檔案內的 cluster_position 和 relative_position。
範例:
$ mkvextract input.mkv cues 1:cues-track1.txt 2:cues-track2.txt
範例¶
同時擷取章節與標籤並依照各自的 XML 格式儲存:
$ mkvextract movie.mkv chapters movie-chapters.xml tags movie-tags.xml
同時擷取數個軌道與各自對應的時間戳記:
$ mkvextract "Another Movie.mkv" tracks 0:video.h265 "1:main audio.aac" "2:director's comments.aac" timestamps_v2 "0:timestamps video.txt" "1:timestamps main audio.txt" "2:timestamps director's comments.txt"
擷取 Ogg/OGM 格式的章節,然後將文字字幕軌道重新編碼到另一個字元集:
$ mkvextract "My Movie.mkv" chapters --simple "My Chapters.txt" tracks -c MS-ANSI "2:My Subtitles.srt"
文字檔案與字元集轉換¶
关于 MKVToolNix 套件中所有工具如何处理字符集转换、输入/输出编码、命令行编码及控制台编码的深入讨论,请参见 mkvmerge(1) 手册中相对应名称的段落。
檔案輸出格式¶
输出的格式取决于轨道的类型,而不是输出文件名的扩展名。目前支持以下轨道类型:
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
A_AC3, A_EAC3
A_ALAC
A_DTS
A_FLAC
A_MPEG/L2
A_MPEG/L3
A_OPUS
A_PCM/INT/LIT, A_PCM/INT/BIG
A_REAL/*
A_TRUEHD, A_MLP
A_TTA1
A_VORBIS
A_WAVPACK4
S_HDMV/PGS
S_HDMV/TEXTST
S_KATE
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
S_TEXT/UTF8, S_TEXT/ASCII
S_VOBSUB
S_TEXT/USF
S_TEXT/WEBVTT
V_MPEG1, V_MPEG2
V_MPEG4/ISO/AVC
V_MPEG4/ISO/HEVC
V_MS/VFW/FOURCC
V_REAL/*
V_THEORA
V_VP8, V_VP9
標籤
附件
章節
Timestamps
結束代碼¶
使用三個之一的結束代碼結束 mkvextract(1) :
環境變數¶
mkvextract(1) 使用決定系統的地區設定的變數 (例如: LANG 與 LC_* 系列)。 附加變數:
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG 與其縮寫 MTX_DEBUG
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE 與其縮寫 MTX_ENGAGE
參閱¶
網路¶
永遠可在 MKVToolNix 首頁[1] 找到最新版。
作者¶
Moritz Bunkus <moritz@bunkus.org>
备注¶
- 1.
- MKVToolNix 首頁
2024-09-07 | MKVToolNix 87.0 |