Provided by: mkvtoolnix_82.0-1build2_amd64
名前
mkvextract - Matroskaファイルから、他の形式のファイルを抽出する
書式
mkvextract {原ファイル名} {モード1} [オプション...] [抽出仕様1] [モード2] [オプション...] [抽出仕様2] [...]
説明
このプログラムはMatroskaファイルから特定部分を抽出して他の利便な形式に書き出します。第1引 数は抽出する対象のファイル名であり、Matroskaファイルでなくてはなりません。 残りの全引数はそれぞれ、特定の抽出モードに切り替えるか、現行で有効なモードのオプションを変 更するか、または抽出する内容と書き出し先のファイルを指定します。mkvextractの同一呼出し内で 複数のモードが利用でき、一度の実行で複数種類の内容を抽出できます。ほとんどのオプションは特 定のモードでしか利用できませんが、いくつかのオプションは全てのモードに適用できます。 現在次の抽出に対応しています。トラック・標識・附属品・楽章・CUE用紙・時刻印および演奏指 令。 共通オプション 以下のオプションは全てのモードで利用可能であり、この節で一度だけ説明します。 -f, --parse-fully 分析モードを「full」に設定します。原ファイルから要求された要素の位置を捜すのに、既定 モードでは、ファイル全体を解析せずに高次送り出し要素を用います。99%の場合はこれで十分 です。しかし、高次送り出し要素がないファイルや破損しているファイルに対しては、このモー ドを使う必要があるかもしれません。既定の高速走査には数秒しかからない一方で、この全体走 査には数分かかることもあります。 --command-line-charset 文字集合 命令行から与えた文字列を変換するのに用いる文字集合を設定します。既定では機構の現行地域 特性で指定している文字集合になります。 --output-charset 文字集合 出力される文字列を変換するのに用いる文字集合を設定します。既定では機構の現行地域特性で 指定している文字集合になります。 -r, --redirect-outputファイル名 全ての通報を操作卓にではなくファイル名のファイルに書き出します。出力を転送することで同 じことが簡単にできるものの、このオプションが必要な場合は存在します:ファイルに転送する 前に端末が出力を再解釈してしまう場合です。--output-charsetで設定した文字集合を優先しま す。 --flush-on-close 書き込み用に開いたファイルを閉じる際に、プログラムが主記憶上に貯まった全データを補助記 憶に排出 (flush) するようにします。停電時のデータ損失を防いだり、運用機構や機器特有の 問題を避ける目的で使えるでしょう。欠点として、mkvmergeが終了前に全データを補助記憶に書 き込み終わるまで待機するせいで多重化に長い時間を要します。MKVToolNixの不具合追跡局の議 題2469号および2480号に、この挙動の長短について詳細な議論があります。 --ui-language 符号 用いる翻訳を指定した言語符号のものに強制します(例えば「de_DE」ならドイツ語翻訳で す)。符号に「list」を指定すると利用可能な翻訳の一覧を出力します。 --abort-on-warnings 警告が発された後、プログラムが停止するようにします。プログラムの終了番号は1になりま す。 --debug 機能 指定した機能の診断出力を有効にします。このオプションは開発者にとってのみ有用です。 --engage 機能 実験的機能を有効にします。mkvextract --engage listとすると利用可能な機能の一覧が得られ ます。これらの機能は通常状況での使用を意図されていません。 --gui-mode GUIモードに切り替えます。このモードではGUI操作の状況を伝える特殊な形式の行が出力されま す。これらの通報は '#GUI#通報内容' という形式の後に続きます。'#GUI#通報内容#予約 語1=値1#予約語2=値2...' というように予約語・値の組が通報内容に続くことがあります。通知 内容や予約語は翻訳されることなく常に英語で出力されます。 -v, --verbose 出力が冗長になり、Matroskaの重要要素全てを、読み込まれるつど表示します。 -h, --help 使用法情報を出力して終了します。 -V, --version 版次情報を出力して終了します。 @オプションファイル.json オプションファイルから追加の命令行引数を読み込みます。こうしたファイルの対応形式につい ての詳細は、mkvmerge(1)便覧中の「オプションファイル」という節をご覧ください。 トラック抽出モード 構文: mkvextract 対象ファイル名 tracks [オプション] TID1:宛先ファイル名1 [TID2:宛先ファイ ル名2 ...] 以下の命令行オプションは 'tracks' 抽出モードにおける各トラックごとに利用可能です。これらの オプションは適用先のトラック指定(後述)の前に存在する必要があります。 -c 文字集合 次の文字字幕トラックに変換する際の文字集合を設定します。次のトラック識別子の対象が文字 字幕トラックである場合にのみ有効です。既定ではUTF-8になります。 --blockadd 水準 指定した水準までのBlockAdditionのみを保持します。既定では全ての水準を保持します。この オプションの効果があるのはWAVPACK4といった特定の符号器のみです。 --cuesheet mkvextract(1)は直後のトラックの楽章情報と標識データからCUE用紙を抽出し、トラックの出力 名に '.cue' を付けた名前のファイルに書き出します。 --raw 生データを、コンテナ情報を全く含まずにファイルに出力します。--fullrawの指定下とは違 い、この指定下ではCodecPrivate要素の内容をファイルに書き出すことはありません。このモー ドは、mkvextract(1)が対応していないものであっても全てのCodecIDsで動作しますが、結果の ファイルが利用できるものとは限りません。 --fullraw 生データを、コンテナ情報を全く含まずにファイルに出力します。トラックがCodecPrivate頭部 要素を含む場合、始めにその要素の内容をファイルに書き出します。このモード は、mkvextract(1)が対応していないものであっても全てのCodecIDsで動作しますが、結果の ファイルが利用できるものとは限りません。 TID:出力名 識別子がTIDのトラックが原ファイルに存在する場合、そのトラックを出力名ファイルに抽出す るようにします。このオプションは複数回指定できます。トラック識別子 はmkvmerge(1)の--identifyオプションの出力結果と同じものです。 各出力ファイル名は一度しか使用されません。RealAudio及びRealVideoトラックは例外です。異 なるトラックに同じファイル名が指定された場合は、同一のファイルに保存されます。例: $ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx 添付ファイル抽出モード 構文: mkvextract 原ファイル名 附属品 [オプション] AID1:出力名1 [AID2:出力名2 ...] AID:出力名 識別子がTIDの添付ファイルが原ファイルに存在する場合、その添付ファイルを出力名ファイル に抽出するようにします。出力名が空の場合は、代わりに原Matroskaファイル内部の添付ファイ ルの名前を用います。このオプションは複数回指定できます。添付ファイル識別子 はmkvmerge(1)の--identifyオプションの出力結果と同じものです。 楽章抽出モード 構文: mkvextract 原ファイル名 楽章 [オプション] 出力ファイル名.xml -s, --simple 楽章情報を、OGM操作機で用いられる単純形式(CHAPTER01=..., CHAPTER01NAME=...)で輸出し ます。このモードでは一部の情報は破棄されます。既定では楽章をXML形式で出力します。 --simple-language 言語 単純形式が有効の場合、mkvextract(1)はたとえ楽章素片が複数の楽章名を含んでいる場合で も、検出した楽章素片毎に一項目のみを出力します。既定では、言語に関係なく各素片で見付け た最初の楽章名を用います。 このオプションを用いることで、素片が複数の楽章名を含んでいた場合にどの楽章を出力するか 定めることができます。言語属性はJIS X 0412-1またはJIS X 0412-2に存在していなくてはなり ません。 楽章は指定した出力ファイルに書き込まれます。既定ではmkvmerge(1)が理解できるXML形式が用いら れます。ファイル中に楽章が見付からなかった場合、出力ファイルを生成しません。 標識抽出モード 構文: mkvextract 原ファイル名 標識 [オプション] 出力ファイル名.xml 標識は指定した出力ファイルに、mkvmerge(1)が理解できるXML形式で書き込まれます。ファイル中に 標識が見付からなかった場合、出力ファイルを生成しません。 演奏指令用紙抽出モード 構文: mkvextract 原ファイル名 演奏指令用紙 [オプション] 出力ファイル名.cue 演奏指令用紙を指定した出力ファイルに書き込みます。ファイル中に楽章や標識が見付からなかった 場合、出力ファイルを生成しません。 時刻印抽出モード 構文: mkvextract 原ファイル名 時刻印v2 [オプション] TID1:宛先ファイル名1 [TID2:宛先ファイ ル名2 ...] TID:出力名 識別子がTIDのトラック時刻印が原ファイルに存在する場合、そのトラックを出力名ファイルに 抽出するようにします。このオプションは複数回指定できます。トラック識別子 はmkvmerge(1)の--identifyオプションの出力結果と同じものです。 例: $ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt 演奏指令抽出モード 構文: mkvextract 原ファイル名 演奏指令 [オプション] TID1:宛先ファイル名1 [TID2:宛先ファイ ル名2 ...] TID:宛先ファイル名 識別子がTIDのトラックの演奏指令が原ファイルに存在する場合、そのトラックを出力名ファイ ルに抽出するようにします。このオプションは複数回指定できます。トラック識別子 はmkvmerge(1)の--identifyオプションの出力結果と同じものであり、TID要素に含まれる数字で はありません。 出力形式は単純な文章形式です: 一行はCuePoint要素とkey=valueの組ごとに成ります。任意要素( 例: CueDuration)がCuePointに表われなかった場合、値として連字符を出力します。 例: timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11 指定できる予約語は次の通りです。 時刻印 演奏指令点のナノ秒単位の時刻印。形式はHH:MM:SS.nnnnnnnnn。この要素は常に設定されていま す。 演奏時間 演奏指令点のナノ秒単位の演奏時間。形式はHH:MM:SS.nnnnnnnnn。 群団位置 被参照要素を含んだ群団が始まるMatroskaファイル内部の絶対バイト位置。 注記 Matroskaファイルの内部では、CueClusterPositionは余白開始位置の区分情報に相当しま す。mkvextract(1)の演奏指令抽出モードで出力する値は、しかしながら、その余白を既に 加味しており、ファイル冒頭からの絶対バイト位置を表わします。 相対位置 BlockGroupまたはSimpleBlock要素が開始するのに参照する指令位置である、群団内部の相対バ イト位置。 注記 Matroskaファイルの内部では、CueClusterPositionは群団のデータ開始位置に依存しま す。mkvextract(1)の演奏指令抽出モードで出力する値は、しかしながら、群団識別子に依 存します。ファイル内部の絶対位置は、群団位置と相対位置を足し合わせて計算できます。 例: $ 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 全てのAACファイルは、ADTS頭部を各パケットの前に追加されたうえでAACファイルに書き出され ます。ADTS頭部には、非推奨の強調欄は含まれません。 A_AC3, A_EAC3 これらは生AC-3ファイルに抽出されます。 A_ALAC ALACトラックはCAFファイルに書き込まれます。 A_DTS これらは生DTSファイルに抽出されます。 A_FLAC FLACトラックはFLACファイルに書き込まれます。 A_MPEG/L2 MPEG-1音声層II流は生MP2ファイルに抽出されます。 A_MPEG/L3 これらは生MP3ファイルに抽出されます。 A_OPUS OpusトラックはOggOpusファイルに書き込まれます。 A_PCM/INT/LIT、A_PCM/INT/BIG 生PCM情報はWAVファイルに書き込まれます。バイト昇順の情報は処理の過程でバイト降順に変換 されます。 A_REAL/* RealAudioトラックはRealMediaファイルに書き出されます。 A_TRUEHD、A_MLP これらは生TrueHD/MLPファイルに抽出されます。 A_TTA1 TrueAudioトラックはTTAファイルに書き出されます。注意: Matroskaの時刻印精度の上限のため に、抽出されたファイル頭部の二欄、data_length(ファイルに含まれる総標本数)とCRCは元と 異なったものになります。 A_VORBIS Vorbis音声はOggVorbisファイルに書き出されます。 A_WAVPACK4 WavPackトラックはWVファイルに書き出されます。 S_HDMV/PGS PGS字幕はSUPファイルとして書き出されます。 S_HDMV/TEXTST TextST字幕はmkvmerge(1)およびmkvextract(1)の為に考案された特別なファイル形式として書き 出されます。 S_KATE Kate流れはOggコンテナに格納されます。 S_TEXT/SSA、S_TEXT/ASS、S_SSA、S_ASS SSAおよびASS文章字幕は、それぞれSSA・ASSファイルとして書き出されます。 S_TEXT/UTF8、S_TEXT/ASCII 単純文章字幕はSRTファイルに書き出されます。 S_VOBSUB VobSub字幕は対応する索引ファイルIDXに加えてSUBファイルとして書き出されます S_TEXT/USF USF文章字幕はUSFファイルとして書き出されます。 S_TEXT/WEBVTT WebVTT文章字幕はWebVTTファイルとして書き出されます。 V_MPEG1、V_MPEG2 MPEG-1およびMPEG-2映像トラックはMPEG初等流として書き出されます。 V_MPEG4/ISO/AVC H.264・AVC映像トラックはH.264初等流に書き出されます。これは例えばGPAC梱包に収録 のMP4Boxで更に処理できます。 V_MPEG4/ISO/HEVC H.265・HEVC映像トラックはH.265初等流に書き出されます。これは例えばGPAC梱包に収録 のMP4Boxで更に処理できます。 V_MS/VFW/FOURCC このCodecIDの固定FPS映像トラックはAVIファイルに書き出されます。 V_REAL/* RealVideoトラックはRealMediaファイルに書き出されます。 V_THEORA Theora流はOggコンテナ内に書き出されます。 V_VP8、V_VP9 VP8・VP9トラックはIVFファイルに書き出されます。 標識 標識はXML形式に変換されます。mkvmerge(1)が標識を読み込むのに対応しているものと同じ形式 です。 添付ファイル 添付ファイルはそのままの形式で出力ファイルに書き出されます。変換等の処理は全く行われま せん。 楽章 楽章はXML形式に変換されます。mkvmerge(1)が楽章を読み込むのに対応しているものと同じ形式 です。替わりに、単純OGM様式の形式で簡易化して出力することもできます。 時刻印 時刻印はまず整列され、mkvmerge(1)が読み込めるように時刻印v2形式準拠ファイルとして書き 出されます。その他の形式(v1、v3およびv4)の抽出には対応していません。
終了番号
mkvextract(1)が返す終了番号には3種類あります: • 0 -- この終了番号は抽出が完了したことを意味します。 • 1 -- この返り値は、一つ以上の警告が出力されたが抽出が続行されたことを意味します。警告 は 'Warning:' という文字列を先頭にして出力されます。結果ファイルが無事かどうかは状況に よります。出力ファイルを確認することを強く推奨します。 • 2 -- この返り値は、誤りが発生し、誤り通報を出力した直後にmkvextract(1)が終了したことを 示します。誤り通報の原因は命令行の間違いやファイル読み/書き誤り、壊れたファイルなど多 岐に渡ります。
環境変数
mkvpropedit(1)は機構の地域特性を決める既定変数(例:LANGやLC_*系列)を使用します。追加の変 数: MKVEXTRACT_DEBUG、MKVTOOLNIX_DEBUGとその省略形MTX_DEBUG その内容を、あたかも--debugオプション経由で渡されたかのように扱います。 MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGEとその短縮形MTX_ENGAGE その内容を、あたかも--engageオプション経由で渡されたかのように扱います。
関連項目
mkvmerge(1), mkvinfo(1), mkvpropedit(1), mkvtoolnix-gui(1)
ウェブ
最新版は常にMKVToolNixの拠点[1]で入手できます。
著者
Bunkus Moritz[FAMILY Given] <moritz@bunkus.org> 開発者
注記
1. MKVToolNixの拠点 https://mkvtoolnix.download/