Provided by: mkvtoolnix_70.0.0-1build1_amd64 bug

名前

       mkvmerge - 複合媒体流をMatroskaファイルに格納します

書式

       mkvmerge [広域オプション] {-o 出力} [オプション1] {ファイル1} [[オプション2] {ファイル2}]
                [@オプションファイル.json]

説明

       このプログラムは複数の媒体ファイルを入力とし、それらの流れ(の全て、もしくは選択したものの
       み)をMatroskaファイルへと結合します。Matroskaの本拠地[1]をご覧ください。

           重要
           命令行オプションの順序は重要です。もしもプログラム初心者なら、「オプション順序」節を読
           んでください。

   広域オプション
       -v, --verbose
           冗長度を引き上げます。

       -q, --quiet
           状況出力を抑制します。

       -o, --output ファイル名
           ファイル名で指定したファイルに書き込みます。ファイル分割が有効な場合は,このオプション
           は僅かに異なって取り扱われます。詳細は--splitオプションの説明をご覧ください。

       -w, --webm
           WebM準拠ファイルを生成します。出力ファイル名の拡張子が "webm" の場合も有効になりま
           す。このモードでは幾つかの制限があります。受入れられる符号器はVP8,VP9動画およ
           びOpus,Vorbis音声トラックのみです。文書型頭部の項目は "webm" に変更されます。

           楽章および標識に対しては、要素の部分集合のみが許容されます。mkvmerge(1)は仕様が許可し
           ていない項目を全て消去します。

       --title 題名
           出力ファイル全体の題名を指定します。例: 映画名。

       --default-language 言語コード
           --languageオプションで言語が設定されていなかったり,原コンテナが言語を提供していないよ
           うなトラックで用いる既定言語コードを設定します。

           The default language code is 'und' for 'undetermined'.

   区分情報の扱い (広域オプション)
       --segmentinfo ファイル名.xml
           区分情報をXMLファイルから読み取ります。このファイルには、区分族UID、区分UID、前および
           後の区分UID要素を含むことができます。MKVToolNixの配布物には、ファイル例とDTDを収録して
           います。

           詳細は、後述の区分情報XMLファイルについての節をご覧ください。

       --segment-uid SID1,SID2,...
           使用する区分UIDを設定します。これは読点区切りの羅列であり、通常のUID形式で記され
           た128ビット区分UIDから成ります。通常のUID形式とは,"0x" を任意で前置する,空白を任意に
           含むちょうど32桁の16進数です。

           SIDが=で始まる場合は、読み取り使用した区分UIDを持つMatroskaファイルの名前として残りの
           部分を解釈します。

           作成される各ファイルには一つの区分があり,各区分には一つの区分UIDがあります。作成した
           ものより多くの区分UIDを指定した場合は,余分なUIDは無視されます。作成したものより少ない
           区分UIDしか指定しなかった場合は,無作為なUIDを生成して補います。

   楽章および標識の扱い(広域オプション)
       --chapter-language 言語コード
           各楽章項目に書き込むISO 639-2言語コードを設定します。既定は 'eng' です。詳細は楽章につ
           いての節をご覧ください。

           単一の楽章ファイルや,楽章があるがその楽章言語情報はない場合(例えばMP4やOGMファイ
           ル)に使用できるでしょう。

           このオプションで設定した言語は--generate-chaptersオプションで生成した楽章にも用いられ
           ます。

       --chapter-charset 文字集合
           単純楽章ファイルをUTF-8に変換する際に用いる文字集合を設定します。mkvmerge(1)が文字集合
           の間で行う変換についての説明は文章ファイルと文字集合についての節をご覧ください。

           この切替は楽章が特定のコンテナ種別(例: Ogg・OGMやMP4ファイル)から複製する際にも適用
           されます。詳細については後述の楽章についての節をご覧ください。

       --chapter-sync d[,o[/p]]
           以降の原ファイル中の楽章の時刻印をdミリ秒単位で調整します。替わりに--syncオプションに
           特殊トラックID-2(特殊トラックID節をご覧ください)を指定しても使えます。

           o/p: 時刻印をo/pだけ調整し,線型偏流を修正します。既定ではpを省略した場合1になりま
           す。oおよびp双方に浮動点小数を指定できます。

           既定: 手動同期修正なし(d = 0でありo/p = 1.0である場合と同じです)。

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --generate-chapters モード
           mkvmerge(1)で楽章を自動生成することができます。現在,次の二つのモードに対応しています:

           •   「when-appending」モードでは,始めに一つの楽章を作り,ファイルが追加される都度一つ
               楽章を増やします。

               このモードはまた分割モード 'parts:' および'parts-frames:' でも動作します。これらの
               モードでは,追加した時刻印(開始時点および'+' が前置された時刻印)の範囲毎に一つの
               楽章を生成します。

                   注記
                   ファイルを新しく追加した際にmkvmerge(1)が感知できるように,映像または音声ト
                   ラックが存在する必要があります。複数の映像トラックが混在していた場合,始めのト
                   ラックを使用します。それ以外の場合,始めの音声トラックを使用します。

           •   「interval:time-spec」モードでは,time-specで指定した間隔ごとに一つの楽章を生成し
               ます。指定する形式は,HH:MM:SS.nnnnnnnnn形式か's','ms',またはus単位が続く数字の
               いずれかです。

               例: --generate-chapters interval:45s

           新規楽章の名前は--generate-chapters-name-templateオプションで制御します。言語
           は--chapter-languageで設定し,--generate-chaptersの後ろでなければなりません。

       --generate-chapters-name-template 雛形
           --generate-chaptersオプションで楽章を生成する際の雛形を設定します。このオプションを用
           いなかった場合は,既定で 'Chapter <NUM:2>' を使用します。

           雛形では幾つかの変数が使用でき,それらは楽章が生成する際に実際の値に置き換わります。文
           字列 '<NUM>' は楽章番号に置き換わります。文字列 '<START>' は楽章の開始時刻印に置き換わ
           ります。

           The strings '<FILE_NAME>' and '<FILE_NAME_WITH_EXT>' are only filled when generating
           chapters for appended files. They will be replaced by the appended file's name without
           respectively with its extension. Note that only the file's base name and extension are
           inserted, not its directory or drive components.

           楽章を設定する場所の最小値を「<NUM;場所>」という形式で指定できます(例: <NUM:3>)。指
           定した数より場所が少ない場合は,番号をゼロ埋めして出力します。

           <START:形式>によって開始する時刻表示の書式を制御できます。なにも指定されていない場合の
           既定の書式は「%H:%M:%S」です。有効な書式指定子は以下の通りです:

           •   %h – 時

           •   %H – ゼロ埋めした2桁の時

           •   %m – 分

           •   %M – ゼロ埋めした2桁の分

           •   %s – 秒

           •   %S – ゼロ埋めした2桁の秒

           •   %n – 9桁のナノ秒

           •   %<1-9>n – 9桁までのナノ秒(例: 3桁なら%3n)

       --cue-chapter-name-format 書式指定子
           mkvmerge(1)は音声ファイル向けのCUE用紙から楽章情報を読み込むことができます。CUE用紙に
           は通常PERFORMER項目及びTITLE項目が各目録項目に存在します。mkvmerge(1)はこれら二つの文
           字列を楽章の名前を生成するのに使用します。この形式をこのオプションで指定することができ
           ます。

           このオプションが指定されていない場合、既定で'%p - %t'という形式が使用されます。

           形式が指定された場合、下のメタ文字以外はそのまま複製され、メタ文字は以下のように置換さ
           れます。

           •   %pはその項目のPERFORMER文字列で置換されます。

           •   %tはその項目のTITLE文字列で置換されます。

           •   %nはその項目のトラック番号で置換されます。

           •   %Nは、その項目のトラック番号が10未満の場合0を前置して二桁にした数字で置換されま
               す。

       --chapters ファイル名
           楽章情報をファイル名で指定したファイルから読み込みます。詳細は楽章の節を参照してくださ
           い。

       --global-tags ファイル名
           ファイル名で指定したファイルから広域標識を読み込みます。詳細は標識の節を参照してくださ
           い。

   出力一般の制御(高度な広域オプション)
       --track-order FID1:TID1,FID2:TID2,...
           このオプションは入力されたトラックが配置される順序を変更します。オプション引数は読点区
           切りのID組の列です。各組は最初を0として命令行の何番目に指定したファイルであるかを示す
           ファイルID(FID1)と、そのファイルの中の何番目のトラックかを示すトラックID(TID1)からなり
           ます。ここで指定されなかったトラックは、指定されたトラックの後に配置されます。

       --cluster-length 指定子
           群団ごとのデータ区画数もしくはデータの持続期間を制限します。specパラメータには単位なし
           の数字nもしくは、'ms'を後ろに付けた数字dを指定できます。

           単位が指定されなかった場合、群団ごとのデータ区画の最大個数はnに設定されます。上限
           は65535です。

           数字dに「ms」が後置されていた場合、mkvmerge(1)は各群団毎に最大でもdミリ秒分のデータし
           か格納しません。dの最小値は「100ms」、最大値は「32000ms」です。

           mkvmerge(1)は既定で一つの群団に最大65535のデータ区画,5000msのデータを書き込みます。

           プログラムがある齣を探索する際は,群団を直接読み出すことしかできず、その後に群団全体を
           読まなければなりません。そのため、群団を大きくすると、送り出しが不正確になったり、遅く
           なったりすることがあります。

       --clusters-in-meta-seek
           全ての群団を含む高次送り出し要素をファイルの終端に生成するようにします。Matroskaファイ
           ル割り付けの節も参照してください。

       --timestamp-scale 係数
           時刻印の桁係数を係数に強制します。妥当な値は100010000000の範囲の数字か,もしくは特別
           値-1です。

           mkvmerge(1)が通常用いる値は1000000です。これは時刻印と齣持続期間が1ミリ秒単位の精度を
           持つことを意味します。映像トラックを含まず、1つ以上の音声トラックを含むファイルで
           は、mkvmerge(1)は全ての時刻印と齣持続時間が標本音1つ分の精度を持つように時刻印の桁数係
           数を自動的に選択します。これによって処理負荷は増えますが、正確な送り出しと展開が可能に
           なります。

           特殊値-1を指定した場合、映像トラックが存在している場合でも標本音の精度を使用します。

       --enable-durations
           全ての区画の長さを書き込みます。結果としてファイル容量は増大するうえに,今のところ再生
           機器に対する付加的価値も生みません。

       --no-cues
           演奏指令データ(AVIにおける目録のようなもの)を作成しないようにします。Matroskaファイ
           ルは演奏指令データなしでも再生できますが、送り出しは不正確で遅くなるでしょう。少しでも
           ファイル容量を小さくしたいときや試験的な目的以外には使用しないでください。各入力ファイ
           ルごとに指定できる--cuesオプションも参照してください。

       --no-date
           既定では、mkvmerge(1)は多重化が開始された時刻と日付を "date" 区分情報欄に書き込みま
           す。このオプションを指定すると,この欄には何も書き込まれなくなります。

       --disable-lacing
           すべてのトラックについて結合を無効化します。結果として,特に音声トラックが多い場
           合、ファイル容量が増大します。このオプションは日常的な用途を想定していません。

       --disable-track-statistics-tags
           Normally mkvmerge(1) will write certain tags with statistics for each track. If such
           tags are already present then they will be overwritten. The tags are BPS, DURATION,
           NUMBER_OF_BYTES and NUMBER_OF_FRAMES.

           Enabling this option prevents mkvmerge(1) from writing those tags and from touching
           any existing tags with same names.

       --disable-language-ietf
           Normally mkvmerge(1) will write the new IETF BCP 47 language elements in addition to
           the legacy language elements in track headers, chapters and tags. If this option is
           used, only the legacy elements are written.

       --normalize-language-ietf mode
           Enables normalizing all IETF BCP 47 language tags to either their canonical form with
           mode 'canonical', to their extended language subtags form with mode 'extlang' or turns
           it off with mode 'off'. By default normalization to the canonical form is applied.

           In the canonical form all subtags for which preferred values exist are replaced by
           those preferred values. This converts e.g. 'zh-yue-jyutping' to 'yue-jyutping' or
           'fr-FX' to 'fr-FR'.

           For the extended language subtags form the canonical form is built first. Afterwards
           all primary languages for which an extended language subtag exists are replaced by
           that extended language subtag and its prefix. This converts e.g. 'yue-jyutping' back
           to 'zh-yue-jyutping' but has no effect on 'fr-FR' as 'fr' is not an extended language
           subtag.

   ファイルの分割・紐付け・追加・連結(広域オプションの続き)
       --split specification
           Splits the output file after a given size or a given time. Please note that tracks can
           only be split right before a key frame. Therefore the split point may be a bit off
           from what the user has specified.

           At the moment mkvmerge(1) supports the following modes:

            1. 指定サイズで分割します。

               書式: --split [size:]d[k|m|g]

               例: --split size:700m or --split 150000000

               パラメータdの後ろには'k'・'m'・'g'を付けて、単位がそれぞれKB・MB・GBであることを示
               すことができます。付けない場合はバイト単位になります。出力中のファイルがこの上限に
               達したら、次の新しいファイルへの出力が開始されます。

               'size:'という接頭辞は、互換性のために省略できるようになっています。

            2. 指定時間で分割します。

               書式: --split [duration:]HH:MM:SS.nnnnnnnnn|ds

               例: --split duration:00:60:00.000 or --split 3600s

               パラメータはHH:MM:SS.nnnnnnnnnという形式でナノ秒精度で長さを指定するか、数字dのあ
               とに's'と書いて秒数で長さを指定しなければなりません。HHは時間、MMは分、SSは秒数
               でnnnnnnnnnナノ秒を示します。時間及びナノ秒は省略できます。小数点の後ろには9桁まで
               の数字を指定できます。指定した長さだけ出力されたら、次のファイルへの出力が開始され
               ます。

               'duration:'という接頭辞は、互換性のために省略できるようになっています。

            3. 指定した各時刻印で分割します。

               書式: --split timestamps:A[,B[,C...]]

               例: --split timestamps:00:45:00.000,01:20:00.250,6300s

               パラメータABC...は、期間を指定するのに用いる形式(上記参照)と同じ形式で指定し
               なければなりません。時刻印の一覧は読点で区切られます。入力流が現在の分割点に達する
               と次のファイルが作成され、この一覧から次の分割点が使用されます。

               'timestamps:'という接頭辞は省略してはなりません。

            4. 指定した時刻印の範囲を残し、他の部分を切り捨てます。

               構文: --split parts:開始1-終了1[,[+]開始2-終了2[,[+]開始3-終了3...]]

               例:

                1. --split parts:00:01:20-00:02:45,00:05:50-00:10:30

                2. --split parts:00:01:20-00:02:45,+00:05:50-00:10:30


                3. --split parts:-00:02:45,00:05:50-
               The parts mode tells mkvmerge(1) to keep certain ranges of timestamps while
               discarding others. The ranges to keep have to be listed after the parts: keyword
               and be separated by commas. A range itself consists of a start and an end
               timestamp in the same format the other variations of --split accept (e.g. both
               00:01:20 and 80s refer to the same timestamp).

               If a start timestamp is left out then it defaults to the previous range's end
               timestamp. If there was no previous range then it defaults to the start of the
               file (see example 3).

               If an end timestamp is left out then it defaults to the end of the source files
               which basically tells mkvmerge(1) to keep the rest (see example 3).

               Normally each range will be written to a new file. This can be changed so that
               consecutive ranges are written to the same file. For that the user has to prefix
               the start timestamp with a +. This tells mkvmerge(1) not to create a new file and
               instead append the range to the same file the previous range was written to.
               Timestamps will be adjusted so that there will be no gap in the output file even
               if there was a gap in the two ranges in the input file.

               In example 1 mkvmerge(1) will create two files. The first will contain the content
               starting from 00:01:20 until 00:02:45. The second file will contain the content
               starting from 00:05:50 until 00:10:30.

               In example 2 mkvmerge(1) will create only one file. This file will contain both
               the content starting from 00:01:20 until 00:02:45 and the content starting from
               00:05:50 until 00:10:30.

               In example 3 mkvmerge(1) will create two files. The first will contain the content
               from the start of the source files until 00:02:45. The second file will contain
               the content starting from 00:05:50 until the end of the source files.

                   注記
                   Note that mkvmerge(1) only makes decisions about splitting at key frame
                   positions. This applies to both the start and the end of each range. So even
                   if an end timestamp is between two key frames mkvmerge(1) will continue
                   outputting the frames up to but excluding the following key frame.

            5. Keeping specific parts by specifying frame/field number ranges while discarding
               others.

               Syntax: --split parts-frames:start1-end1[,[+]start2-end2[,[+]start3-end3...]]

               例:

                1. --split parts-frames:137-258,548-1211

                2. --split parts-frames:733-912,+1592-2730


                3. --split parts-frames:-430,2512-
               The parts-frames mode tells mkvmerge(1) to keep certain ranges of frame/field
               numbers while discarding others. The ranges to keep have to be listed after the
               parts-frames: keyword and be separated by commas. A range itself consists of a
               start and an end frame/field number. Numbering starts at 1.

               If a start number is left out then it defaults to the previous range's end number.
               If there was no previous range then it defaults to the start of the file (see
               example 3).

               If an end number is left out then it defaults to the end of the source files which
               basically tells mkvmerge(1) to keep the rest (see example 3).

               Normally each range will be written to a new file. This can be changed so that
               consecutive ranges are written to the same file. For that the user has to prefix
               the start number with a +. This tells mkvmerge(1) not to create a new file and
               instead append the range to the same file the previous range was written to.
               Timestamps will be adjusted so that there will be no gap in the output file even
               if there was a gap in the two ranges in the input file.

                   注記
                   Note that mkvmerge(1) only makes decisions about splitting at key frame
                   positions. This applies to both the start and the end of each range. So even
                   if an end frame/field number is between two key frames mkvmerge(1) will
                   continue outputting the frames up to but excluding the following key frame.
               In example 1 mkvmerge(1) will create two files. The first will contain the content
               starting from the first key frame at or after 137 up to but excluding the first
               key frame at or after 258. The second file will contain the content starting from
               548 until 1211.

               In example 2 mkvmerge(1) will create only one file. This file will contain both
               the content starting from 733 until 912 and the content starting from 1592 until
               2730.

               In example 3 mkvmerge(1) will create two files. The first will contain the content
               from the start of the source files until 430. The second file will contain the
               content starting from 2512 until the end of the source files.

               This mode considers only the first video track that is output. If no video track
               is output no splitting will occur.

                   注記
                   The numbers given with this argument are interpreted based on the number of
                   Matroska blocks that are output. A single Matroska block contains either a
                   full frame (for progressive content) or a single field (for interlaced
                   content). mkvmerge does not distinguish between those two and simply counts
                   the number of blocks. For example: If one wanted to split after the 25th full
                   frame with interlaced content one would have to use 50 (two fields per full
                   frame) as the split point.

            6. Splitting after specific frames/fields.

               Syntax: --split frames:A[,B[,C...]]

               Example: --split frames:120,237,891

               The parameters A, B, C etc must all be positive integers. Numbering starts at 1.
               The list of frame/field numbers is separated by commas. After the input stream has
               reached the current split point's frame/field number a new file is created. Then
               the next split point given in this list is used.

               接頭辞「frames:」は省略できません。

               This mode considers only the first video track that is output. If no video track
               is output no splitting will occur.

                   注記
                   The numbers given with this argument are interpreted based on the number of
                   Matroska blocks that are output. A single Matroska block contains either a
                   full frame (for progressive content) or a single field (for interlaced
                   content). mkvmerge does not distinguish between those two and simply counts
                   the number of blocks. For example: If one wanted to split after the 25th full
                   frame with interlaced content one would have to use 50 (two fields per full
                   frame) as the split point.

            7. 指定した各楽章で分割します。

               書式: --split chapters:all又は--split chapters:A[,B[,C...]]

               例: --split chapters:5,8

               A, B, C等のパラメータは正整数でなくてはなりません。番号は1始まりです。複数の楽章番
               号はコンマで区切られます。分割が行なわれるのは、指定された番号の各楽章が開始するタ
               イムスタンプと等しい又はより大きいタイムスタンプである最初のキーこまの直前で
               す。0秒から開始する楽章は分割されることなく、通知なしに破棄されます。

               全ての楽章番号を手で入力する代わりに、allキーワードが使えます。

               接頭辞「chapters:」は省略できません。

                   注記
                   The Matroska file format supports arbitrary deeply nested chapter structures
                   called 'edition entries' and 'chapter atoms'. However, this mode only
                   considers the top-most level of chapters across all edition entries.

           この分割モードでは、出力ファイル名は通常の操作とは異なる扱いを受けます。このモードでは
           出力ファイル名はprintfのように'%d'というパターンを含むことができます。'%02d'のように幅
           指定を追加することもできます。出力ファイル名がこのパターンを含む場合、ファイル番号が適
           切な形式で指定された位置に挿入されます。含まない場合、'-%03d'というパターンがファイル
           の拡張子の直前に指定されたものとみなされ、例えば'-o output.mkv'を指定した場
           合、'output-001.mkv'等のファイル名に出力されます。拡張子が存在しない場合、'-%03d'は
           ファイル名の末尾に追加されます。

           Another possible pattern is '%c' which will be replaced by the name of the first
           chapter in the file. Note that when '%c' is present, the pattern '-%03d' will not be
           added automatically.

       --link
           分割された出力ファイルを相互に紐付けします。詳細はファイル紐付けのセクションを参照して
           ください。

       --link-to-previous segment-UID
           最初の出力ファイルをsegment-UIDで指定したセグメントUIDに紐付けします。詳細はファイル紐
           付けのセクションを参照してください。

           SIDが=で始まる場合は、読み取り使用した区分UIDを持つMatroskaファイルの名前として残りの
           部分を解釈します。

       --link-to-next segment-UID
           最後の出力ファイルをsegment-UIDで指定したセグメントUIDに紐付けします。詳細はファイル紐
           付けのセクションを参照してください。

           SIDが=で始まる場合は、読み取り使用した区分UIDを持つMatroskaファイルの名前として残りの
           部分を解釈します。

       --append-mode mode
           ファイルを結合する際に、時刻印がどのように計算されるかを決定します。パラメー
           タmodeは'file'(既定)、'trackの二つの値を取り得ます。

           mkvmergeが二つめのファイル(以後'file2'と呼ぶ)のトラック(以後'track2_1'と呼ぶ)を、一つ
           めのファイル(以後'file1'と呼ぶ)のトラック(以後'track1_1'と呼ぶ)と結合する
           際、'track2_1'の時刻印は一定量だけずらす必要があります。'file'モードでは、ずらす量
           は'file1'の中の'track1_1'以外のトラックを含む全てのトラックの中で一番大きい時刻印の値
           になります。'track'モードでは、'track1_1'の中で一番大きい時刻印の値になります。

           残念ながら、mkvmergeはどちらのモードが適切であるか判断はできません。既定は'file'モード
           になっています。'file'モードは独立に作られたファイル同士を結合する際、例えばAVI又
           はMP4ファイルを結合する際に、通常はより上手く働きます。'track'モードは、例え
           ばVOBやEVOファイルなどの大きなファイルの一部がソースの場合より上手く働くかもしれませ
           ん。

           字幕トラックは'track'モードが指定された場合でも、常に'file'が指定されたかのように処理
           されます。

       --append-to SFID1:STID1:DFID1:DTID1[,...]
           このオプションは、どのトラックがどのトラックに追加されるのかを制御します。ファイ
           ルID、トラックID、追加するファイルID、追加するトラックIDの4つのIDで一組の指定を構成し
           ます。最初のファイルIDとトラックIDの組み合わせは、追加される対象のトラックを指定しま
           す。次のファイルIDとトラックIDは、そのトラックに追加されるトラックを指定します。

           このオプションが指定されない場合、標準のマッピングが使用されます。この場合、前のファイ
           ルのトラックに、現在のファイルのトラックIDが同じであるトラックが追加されます。これによ
           り、動画が二つのファイルに分割されており、かつ同じトラック数とトラックIDを持つ場
           合、mkvmerge -o output.mkv part1.mkv +part2.mkvのようにして簡単に結合することができま
           す。

       +
           '+'一文字を指定すると、次に指定されたファイルは追加ではなく結合されます。'+'は次のファ
           イル名の直前に置くこともできます。よって、次の2つの命令は等価です。

               $ mkvmerge -o full.mkv file1.mkv + file2.mkv
               $ mkvmerge -o full.mkv file1.mkv +file2.mkv

       [ file1 file2 ]
           If multiple file names are contained in a pair of square brackets then the second and
           all following files will be appended to the first file named within the brackets.

           This is an alternative syntax to using '+' between the file names. Therefore the
           following two commands are equivalent:

               $ mkvmerge -o full.mkv file1.mkv + file2.mkv
               $ mkvmerge -o full.mkv '[' file1.mkv file2.mkv ']'

       =
           For certain file types (MPEG program streams = VOBs) mkvmerge(1) normally looks for
           files in the same directory as an input file that have the same base name and only
           differ in their running number (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB'
           etc) and treats all of those files as if they were concatenated into a single big
           file. This option, a single '=', causes mkvmerge not to look for those additional
           files.

           '='は次のファイル名の直前に置くこともできます。よって、次の2つの命令は等価です。

               $ mkvmerge -o full.mkv = file1.vob
               $ mkvmerge -o full.mkv =file1.vob

       ( file1 file2 )
           複数のファイル名が括弧の中に含まれている場合、それらのファイルは、各ファイルの内容に
           よって順々に構成される1つの大きなファイルへと連結されているかのように扱われます。

           これは、例えばDVDのVOBファイルやMPEGトランスポートストリーム等のために使用することがで
           きます。通常AVIやMP4のようなスタンドアローンのファイルの場合ですが、各ファイルが自身の
           頭部を一通り含んでいる場合には使用することができません。

           ファイル名を括弧で括るのは、オプション=で説明されているように同じ基底名を持つファイル
           をmkvmerge(1)に検索させない効果もあります。 よって、これらの2つの命令行は同値です:

               $ mkvmerge -o out.mkv = file.mkv
               $ mkvmerge -o out.mkv '(' file.mkv ')'

           いくつか注意事項があります:

            1. 開く括弧の後と閉じる括弧の前の両方に空白が必要です。

            2. 括弧内の全てのパラメータはファイル名として解釈されます。よって、この論理上のファイ
               ルに適用される全てのオプションは、開く括弧の前に記述する必要があります。

            3. 括弧を特殊文字として扱うシェルもあります。よって、上の例で示されているように括弧を
               エスケープするかクォーテーションで囲む必要があります。

   添付ファイルへの対応(広域オプションの続き)
       --attachment-description description
           次の添付ファイルを説明するプレーン文章を指定します。次の--attach-fileオプション又
           は--attach-file-onceオプションで指定した添付ファイルに適用されます。

       --attachment-mime-type MIME type
           次の添付ファイルのMIMEタイプを指定します。--attach-file及び--attach-file-onceオプショ
           ンに適用されます。公式に認知されているMIMEタイプは例えばIANAのホームページ[2]に掲載さ
           れています。MIMEタイプは添付ファイルに必須です。

           If no MIME type is given a for an attachment, its type will be detected automatically.

       --attachment-name name
           この添付ファイルの、出力ファイル内での名前を指定します。このオプションが指定されなかっ
           た場合、--attach-fileまたは--attach-file-onceで指定されたファイル名がそのまま使用され
           ます。

       --attach-file file-name, --attach-file-once file-name
           Matroskaファイルの内部に添付ファイルを作成します。これらのオプションを使用するに
           は、MIMEタイプをこれらのオプションより前に指定しなければなりません。二つのオプションの
           違いは、出力ファイルを分割する際に、--attach-fileでは全ての出力ファイルに添付されます
           が、--attach-file-onceでは最初に作成されたファイルにしか添付されない点です。分割が使用
           されない場合、2つは等価です。

           mkvextract(1)でMatroskaファイルから添付ファイルを抽出することができます。

       --enable-legacy-font-mime-types
           Enables the use of legacy MIME types for certain types of font attachments. For
           example, 'application/x-truetype-font' will be used for TrueType fonts instead of
           'fonts/ttf'.

           This affects both new attachments if its MIME type is detected automatically and
           existing attachments whose stored MIME types will be remapped to the legacy ones.

           The affected MIME types are 'font/sfnt', 'font/ttf' and 'font/collection' which are
           all mapped to 'application/x-truetype-fonts' and 'font/otf' which is mapped to
           'application/vnd.ms-opentype'.

   各入力ファイルに指定できるオプション
       -a, --audio-tracks [!]n,m,...
           音声トラックnm...を複製します。番号は--identifyオプションで得られるトラックIDであ
           り,単にトラック番号を示すものではありません(「トラックID」節を参照)。既定: 全ての音
           声トラックを複製します。

           Instead of track IDs you can also provide ISO 639-2 language codes. This will only
           work for source files that provide language tags for their tracks.

           Default: copy all tracks of this kind.

           If the IDs are prefixed with !  then the meaning is reversed: copy all tracks of this
           kind but the ones listed after the !.

       -d, --video-tracks [!]n,m,...
           映像トラックnm...を複製します。数字は--identifyオプションで得られるトラックIDであ
           り,単にトラック番号を示すものではありません(「トラックID」節を参照)。既定: 全ての映
           像トラックを複製します。

           Instead of track IDs you can also provide ISO 639-2 language codes. This will only
           work for source files that provide language tags for their tracks.

           If the IDs are prefixed with !  then the meaning is reversed: copy all tracks of this
           kind but the ones listed after the !.

       -s, --subtitle-tracks [!]n,m,...
           字幕トラックnm...を複製します。番号は--identifyオプションで得られるトラックIDであ
           り,単にトラック番号を示すものではありません(「トラックID」節を参照)。既定: 全ての字
           幕トラックを複製します。

           Instead of track IDs you can also provide ISO 639-2 language codes. This will only
           work for source files that provide language tags for their tracks.

           If the IDs are prefixed with !  then the meaning is reversed: copy all tracks of this
           kind but the ones listed after the !.

       -b, --button-tracks [!]n,m,...
           ボタントラックnm...を複製します。番号は--identifyオプションで得られるトラックIDであ
           り,単にトラック番号を示すものではありません(「トラックID」節を参照)。既定: 全てのボ
           タントラックを複製します。

           Instead of track IDs you can also provide ISO 639-2 language codes. This will only
           work for source files that provide language tags for their tracks.

           If the IDs are prefixed with !  then the meaning is reversed: copy all tracks of this
           kind but the ones listed after the !.

       --track-tags [!]n,m,...
           トラックnm...の標識を複製します。番号は--identifyオプションで得られるトラックIDであ
           り,単にトラック番号を示すものではありません(「トラックID」節を参照)。既定: 全てのト
           ラックの標識を複製します。

           もしIDに!が接頭していた場合には、意味が逆転します,すなわち,!の後に列挙されたIDを除く
           全てのトラック標識を複製します。

       -m, --attachments [!]n[:all|first],m[:all|first],...
           IDがnm...の添付ファイルを全ての、または最初の出力ファイルに複製します。各IDの後ろに
           は、':all'(既定)又は':first'を指定することができます。出力ファイル分割が有効の場
           合、':all'をつけたIDの添付ファイルは全ての出力ファイルに複製され、':first'をつけた場合
           は最初の出力ファイルにのみ複製されます。分割が有効でない場合は二つは同等です。

           既定では、全ての添付ファイルが全ての出力ファイルに複製されます。

           もしIDに!が接頭していた場合には、意味が逆転します,すなわち,!の後に列挙されたIDを除く
           全てのトラック標識を複製します。

       -A, --no-audio
           このファイルから音声トラックを複製しません。

       -D, --no-video
           このファイルから映像トラックを複製しません。

       -S, --no-subtitles
           このファイルから字幕トラックを複製しません。

       -B, --no-buttons
           このファイルからボタントラックを複製しません。

       -T, --no-track-tags
           このファイルから音声トラックを複製しません。

       --no-chapters
           このファイルから楽章を複製しません。

       -M, --no-attachments
           このファイルから添付ファイルを複製しません。

       --no-global-tags
           このファイルから広域標識を複製しません。

       -y, --sync TID:d[,o[/p]]
           トラックIDがTIDのトラックの時刻印をdミリ秒だけ調整します。トラックIDは--identifyオプ
           ションで得られるものと同じです(「トラックID」節を参照)。

           o/p: 時刻印をo/pだけ調整し,線型偏流を修正します。既定ではpを省略した場合1になりま
           す。oおよびp双方に浮動点小数を指定できます。

           既定: 手動同期修正なし(d = 0でありo/p = 1.0である場合と同じです)。

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --cues TID:none|iframes|all
           指定されたトラックについて、どのトラック演奏指令(目録)項目が作成されるのかを指定しま
           す(「トラックID」節を参照)。「none」を指定すると演奏指令項目を作成しませ
           ん。「iframes」を指定すると前方参照及び後方参照を含まない区画(映像トラックではI齣)の
           みが演奏指令用紙に挿入されます。「all」を指定するとmkvmerge(1)は全ての区画に対して演奏
           指令項目を作成し、非常に大きなファイルが出力されます。

           The default is 'iframes' for video and subtitle tracks and 'none' for audio tracks.
           See also option --no-cues which inhibits the creation of cue entries regardless of the
           --cues options used.

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --default-track-flag TID[:bool]
           Sets the "default track" flag for the given track (see section track IDs) if the
           optional argument bool is set to 1 or if it isn't present. The flag will be set if the
           source container doesn't provide that information and the user doesn't specify it via
           this option.

           If the user does not explicitly select a track during playback, the player should
           select one of the tracks that has its "default track" flag set, taking user
           preferences such as their preferred language into account.

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --track-enabled-flag TID[:bool]
           Sets the "track enabled" flag for the given track (see section track IDs) to the given
           value bool (0 or 1; defaults to 1 if not specified). Tracks are enabled by default if
           no option is specified for them and the source container doesn't provide this
           information either.

           Only tracks whose "track enabled" flag is set should be considered for playback.

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --forced-display-flag TID[:真偽値]
           任意引数真偽値1を設定あるいは何も設定しなかった場合に,所与のトラック(「トラッ
           クID」節参照)に対して、「強制表示」標旗を設定します。画面表示文や外国語の会話文がある
           トラックに使用してください。

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --hearing-impaired-flag TID[:bool]
           Sets the "hearing impaired" flag for the given track (see section track IDs) if the
           optional argument bool is set to 1 or if it isn't present. This flag can be set if the
           track is suitable for users with hearing impairments.

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --visual-impaired-flag TID[:真偽値]
           任意引数bool1を設定あるいは何も設定しなかった場合に,所与のトラック(「トラッ
           クID」節参照)に対して、「視覚障害」標旗を設定します。当トラックが視覚障害者に適してい
           るなら,この標旗を設定するといいでしょう。

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --text-descriptions-flag TID[:真偽値]
           Sets the "text descriptions" flag for the given track (see section track IDs) if the
           optional argument bool is set to 1 or if it isn't present. This flag can be set if the
           track contains textual descriptions of video content suitable for playback via a
           text-to-speech system for a visually-impaired user.

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --original-flag TID[:bool]
           Sets the "original language" flag for the given track (see section track IDs) if the
           optional argument bool is set to 1 or if it isn't present. This flag can be set if the
           track is in the content's original language (not a translation).

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --commentary-flag TID[:bool]
           Sets the "commentary" flag for the given track (see section track IDs) if the optional
           argument bool is set to 1 or if it isn't present. This flag can be set if the track
           contains commentary.

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       --blockadd TID:level
           指定したトラックで、レベルlevelまでのBlockAdditionを保持します。既定では全て保持しま
           す。このオプションはWAVPACK4などの特定の符号器にのみ有効です。

       --track-name TID:name
           指定したトラックのトラック名をnameにします(トラックIDのセクションも参照)。

       --language TID:language
           指定したトラックの言語を設定します(トラックIDのセクションも参照)。ISO 639-2 言語コード
           及び ISO 639-1 国別コードが使用できます。国別コードは言語コードへ自動的に変換されま
           す。ISO 639-2 に含まれる全てのコードは--list-languagesオプションで一覧できます。

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

       -t, --tags TID:file-name
           file-nameで指定したファイルから広域標識を読み込みます。詳細は標識のセクションを参照し
           てください。

       --aac-is-sbr TID[:0|1]
           mkvmerge(1)にIDがTIDのトラックがSBR AAC (別名HE-AAC又はAAC+)であることを教えます。この
           オプションは、 a) ソースファイルが(Matroskaファイルではなく)AACファイルでありかつ b)
           AACファイルがSBR AACデータを含む場合に必要です。このスイッチが存在する理由は、通常
           のAACファイルとSBR AACファイルを自動的に区別することは、AACこまを完全にデコードしなけ
           れば技術的に不可能であるためです。AACはいくつかの特許問題を抱えているた
           め、mkvmerge(1)は将来的にもこのデコードステージを含むことはありません。よって、SBR
           AACにはこのスイッチが必須となります。このスイッチが指定されなかった場合、出力ファイル
           は正常に再生ができなくなるか、完全に再生不能になるでしょう。

           ソースファイルがMatroskaファイルの場合、CodecIDによりSBR AACを検知できます。しか
           し、CodecIDが不正な場合、このスイッチで修正することができます。

           もし、mkvmergeがAACファイルを間違ってSBRと認識してしまった場合、トラックIDに':0'を指定
           できます。

       --reduce-to-core TID
           Some audio codecs have a lossy core and optional extensions that implement lossless
           decoding. This option tells mkvmerge(1) to only copy the core but not the extensions.
           By default mkvmerge(1) copies both the core and the extensions.

           Currently only DTS tracks are affected by this option. TrueHD tracks that contain an
           embedded AC-3 core are instead presented as two separate tracks for which the user can
           select which track to copy. For DTS such a scheme would not work as the HD extensions
           cannot be decoded by themselves – unlike the TrueHD data.

       --remove-dialog-normalization-gain TID
           Some audio codecs contain header fields that tell the decoder or player to apply a
           (usually negative) gain for dialog normalization. This option tells mkvmerge(1) to
           remove or minimize that gain by modifying the corresponding header fields.

           Currently only AC-3, DTS and TrueHD tracks are affected by this option.

       --timestamps TID:file-name
           指定したトラックIDの時刻印を、file-nameから読み込みます。これらの時刻印はmkvmerge(1)が
           通常計算する時刻印を強制的に上書きします。外部時刻印ファイルのセクションを参照してくだ
           さい。

       --default-duration TID:x
           指定したトラックの default duration を強制的に設定します。トラックのトラックの時刻印
           も、 default duration に合うように変更されます。引
           数xは's'、'ms'、'us'、'ns'、'fps'、p'。'iのうちどれか一つを後置されていなければなりま
           せん。それぞれ、 default duration は秒、ミリ秒、マイクロ秒、ナノ秒、'fps'、1秒あたりの
           プログレッシブこま、1秒あたりのインターレスのこま数単位で指定されます。xは小数または分
           数で指定できます。

           既定のこま持続時間が指定されなかった場合は、mkvmergeはそのトラックの既定のこま持続時間
           を、コンテナと、AVC/H.264やMPEG-2のような特定のトラックタイプの場合はエンコードされた
           ビットストリームから取得しようと試みます。

           このオプションは、外部時刻印ファイルを使用せずに映像トラックのFPSを変更するのにも使え
           ます。

       --fix-bitstream-timing-information TID[:0|1]
           Normally mkvmerge(1) does not change the timing information (frame/field rate) stored
           in the video bitstream. With this option that information is adjusted to match the
           container timing information. The container timing information can come from various
           sources: from the command line (see option --default-duration), the source container
           or derived from the bitstream.

               注記
               This has only been implemented for AVC/H.264 video tracks so far.

       --compression TID:n
           Selects the compression method to be used for the track. Note that the player also has
           to support this method. Valid values are 'none', 'zlib' and 'mpeg4_p2'/'mpeg4p2'.

           'mpeg4_p2'/'mpeg4p2'圧縮法は、 MPEG4 part2 映像トラックにのみ適用できる、'header
           removal'と呼ばれる特殊な圧縮法です。

           The default for some subtitle types is 'zlib' compression. This compression method is
           also the one that most if not all playback applications support. Support for other
           compression methods other than 'none' is not assured.

   映像トラックにのみ適用されるオプション
       -f, --fourcc TID:FourCC
           FourCCを指定した値に強制設定します。映像トラックが'MS互換モード'である場合にのみ有効で
           す。

       --display-dimensions TID:widthxheight
           Matroskaファイルは再生時の画像スケールを決定するための二つの値を持ちます。表示幅と表示
           高さです。これらの値をこのオプションで、例えば'1:640x480'のように指定できます。

           これらの値を設定する別の方法として、--aspect-ratio又は--aspect-ratio-factorオプション
           が使用できます(下記参照)。これらのオプションは互いに排他的です。

       --aspect-ratio TID:ratio|width/height
           Matroskaファイルは再生時の画像スケールを決定するための二つの値を持ちます。表示幅と表示
           高さです。これらの値をこのオプションで、例えば'1:640x480'のように指定できます。このオ
           プションを指定すると、mkvmerge(1)は自動的に表示幅及び表示高さを、画像の元の幅と高
           さ、そして指定されたアスペクト比から自動的に計算します。アスペクト比は、小数ratioまた
           は分数'width/height'(例: '16/9')の形式で指定できます。

           これらの値を設定する別の方法として、--aspect-ratio-factor又は--display-dimensionsオプ
           ションが使用できます(上記及び下記参照)。これらのオプションは互いに排他的です。

       --aspect-ratio-factor TID:factor|n/d
           アスペクト比を設定するもうひとつの方法は、元のアスペクト比からの係数を指定する方法で
           す。元のアスペクト比に、factorを乗じたものが新しいアスペクト比として使用されます。

           これらの値を設定する別の方法として、--aspect-ratio又は--display-dimensionsオプションが
           使用できます(上記参照)。これらのオプションは互いに排他的です。

       --cropping TID:left,top,right,bottom
           映像トラックのピクセルクロッピングのパラメータを指定した値に設定します。

       --color-matrix-coefficients TID:n
           Sets the matrix coefficients of the video used to derive luma and chroma values from
           red, green and blue color primaries. The parameter n is an integer rangeing from 0 and
           10.

           Valid values and their meaning are:

           0: GBR, 1: BT709, 2: unspecified, 3: reserved, 4: FCC, 5: BT470BG, 6: SMPTE 170M, 7:
           SMPTE 240M, 8: YCOCG, 9: BT2020 non-constant luminance, 10: BT2020 constant luminance

       --color-bits-per-channel TID:n
           Sets the number of coded bits for a color channel. A value of 0 indicates that the
           number of bits is unspecified.

       --chroma-subsample TID:hori,vert
           The amount of pixels to remove in the Cr and Cb channels for every pixel not removed
           horizontally/vertically.

           Example: For video with 4:2:0 chroma subsampling, the parameter should be set to
           TID:1,1.

       --cb-subsample TID:hori,vert
           The amount of pixels to remove in the Cb channel for every pixel not removed
           horizontally/vertically. This is additive with --chroma-subsample.

           Example: For video with 4:2:1 chroma subsampling, the parameter --chroma-subsample
           should be set to TID:1,0 and Cb-subsample should be set to TID:1,0.

       --chroma-siting TID:hori,vert
           Sets how chroma is sited horizontally/vertically (0: unspecified, 1: top collocated,
           2: half).

       --color-range TID:n
           Sets the clipping of the color ranges (0: unspecified, 1: broadcast range, 2: full
           range (no clipping), 3: defined by MatrixCoefficients/TransferCharacteristics).

       --color-transfer-characteristics TID:n
           The transfer characteristics of the video.

           Valid values and their meaning are:

           0: reserved, 1: ITU-R BT.709, 2: unspecified, 3: reserved, 4: gamma 2.2 curve, 5:
           gamma 2.8 curve, 6: SMPTE 170M, 7: SMPTE 240M, 8: linear, 9: log, 10: log sqrt, 11:
           IEC 61966-2-4, 12: ITU-R BT.1361 extended color gamut, 13: IEC 61966-2-1, 14: ITU-R
           BT.2020 10 bit, 15: ITU-R BT.2020 12 bit, 16: SMPTE ST 2084, 17: SMPTE ST 428-1; 18:
           ARIB STD-B67 (HLG)

       --color-primaries TID:n
           Sets the color primaries of the video.

           Valid values and their meaning are:

           0: reserved, 1: ITU-R BT.709, 2: unspecified, 3: reserved, 4: ITU-R BT.470M, 5: ITU-R
           BT.470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: FILM, 9: ITU-R BT.2020, 10: SMPTE ST 428-1,
           22: JEDEC P22 phosphors

       --max-content-light TID:n
           Sets the maximum brightness of a single pixel (Maximum Content Light Level) in
           candelas per square meter (cd/m²). The value of n should be a non-negtive integer.

       --max-frame-light TID:n
           Sets the maximum brightness of a single full frame (Maximum Frame-Average Light Level)
           in candelas per square meter (cd/m²). The value of n should be a non-negtive integer.

       --chromaticity-coordinates TID:red-x,red-y,green-x,green-y,blue-x,blue-y
           Sets the red/green/blue chromaticity coordinates as defined by CIE 1931.

       --white-color-coordinates TID:x,y
           Sets the white color chromaticity coordinates as defined by CIE 1931.

       --max-luminance TID:float
           Sets the maximum luminance in candelas per square meter (cd/m²). The value should be
           less than 9999.99.

       --min-luminance TID:float
           Sets the minimum luminance in candelas per square meter (cd/m²). The value should be
           less than 999.9999.

       --projection-type TID:method
           Sets the video projection method used. Valid values are 0 (rectangular projection), 1
           (equirectangular projection), 2 (cubemap projection) and 3 (mesh projection).

       --projection-private TID:data
           Sets private data that only applies to a specific projection. Data must be given as
           hex numbers with or without the "0x" prefix, with or without spaces.

       --projection-pose-yaw TID:float
           Specifies a yaw rotation to the projection.

       --projection-pose-pitch TID:float
           Specifies a pitch rotation to the projection.

       --projection-pose-roll TID:float
           Specifies a roll rotation to the projection.

       --field-order TID:n
           Sets the field order for the video track with the track ID TID. The order must be one
           of the following numbers:

           0: progressive; 1: interlaced with top field displayed first and top field stored
           first; 2: undetermined field order; 6: interlaced with bottom field displayed first
           and bottom field stored first; 9: interlaced with bottom field displayed first and top
           field stored first; 14: interlaced with top field displayed first and bottom field
           stored first

       --stereo-mode TID:n|keyword
           トラックIDがTIDの映像トラックのステレオモードを設定します。ステレオモードは、014の数
           字n、または以下のキーワードのうちの1つを指定することができます:

           'mono', 'side_by_side_left_first', 'top_bottom_right_first', 'top_bottom_left_first',
           'checkerboard_right_first', 'checkerboard_left_first', 'row_interleaved_right_first',
           'row_interleaved_left_first', 'column_interleaved_right_first',
           'column_interleaved_left_first', 'anaglyph_cyan_red', 'side_by_side_right_first',
           'anaglyph_green_magenta', 'both_eyes_laced_left_first', 'both_eyes_laced_right_first'.

   文章字幕トラックにのみ適用されるオプション
       --sub-charset TID:character-set
           指定したIDの示すトラックのUTF-8字幕をUTF-8へ変換する際の文字コードを指定します。既定で
           は、現在のロケールの設定が使用されます。mkvmerge(1)の文字コード変換については、文章
           ファイルと文字コードのセクションを参照してください。

           このオプションを一つの入力ファイルに対して複数回使用でき,毎回異なるトラックIDを指定す
           ることで複数のトラックを処理できます。

   その他のオプション
       -i, --identify file-name
           mkvmerge(1)に、単一のファイルを探査してその種類と、ファイルに含まれるトラック及びその
           トラックIDを表示させます。このオプションを指定した場合、他に指定できるのはファイル名の
           みです。

           The output format used for the result can be changed with the option
           --identification-format.

       -J file-name
           This is a convenient alias for "--identification-format json --identify file-name".

       -F, --identification-format 形式
           --identify オプションが用いる出力形式を定めます。次の形式に対応しています: text(この
           オプションが指定されなかった場合の既定)とjson。

            1. text形式は短かく,人間にとって読みやすいです。見付かった項目(コンテナ,トラッ
               ク,添付ファイル等)ごとの行で構成されます。

               この形式は解析を意図していません。出力はmkvmerge(1)が用いる言語に翻訳されます
               (--ui-languageもご覧ください)。

            2. json形式は機械可読なJSON表現を出力します。この形式は次述の記事で説明しているJSON模
               式に準じています:

               mkvmerge-identification-output-schema-v16.json[3]

               JSON模式の全版はWeb上でも公開版ソースコード書庫でも利用できます。

       --probe-range-percentage 度合い
           MPEGプログラムや転送流 (.vob, .m2ts) といったファイル種別においては,ファイルに含まれ
           る全てのトラックを検出する為に一定量の情報を解析する必要が生じます。解析量は原ファイル
           の0.3%か10MBか大きい方です。

           トラックの存在を認識しているのに見付けられなかった場合は,このオプションを用いて探測の
           度合いを変更することができます。最低値10MBは組み込まれており変更することはできません。

       -l, --list-types
           対応している入力ファイル種別を列挙します。

       --list-languages
           --languageオプションに指定できる言語とそのISO 639-2コードを一覧します。

       --priority 優先度
           mkvmerge(1)を実行する際のプロセス優先度を指定します。有効な値
           は'lowest'、'lower'、'normal'、'higher'、および 'highest'です。指定されない場
           合、'normal'が使用されます。Unix系の機構では、mkvmerge(1)はnice(2)関数を使用するの
           で、'higher' 及び 'highest'は特権利用者のみが指定できます。Windowsでは全ての利用者が優
           先度を自由に指定できます。

           'lowest' を選択することはまた,mkvmerge(1)のプロセス優先度に加えて入出力優先度も最低に
           します。

       --command-line-charset 文字集合
           出力される文字列を変換するのに用いる文字集合を設定します。既定では機構の現行地域特性で
           指定している文字集合になります。この設定は次のオプションの引数に適用されます:
           --title--track-name、および--attachment-description--output-charset 文字集合
           出力される文字列を変換するのに用いる文字集合を設定します。既定では機構の現行地域特性で
           指定している文字集合になります。

       -r, --redirect-outputファイル名
           全ての通報を操作卓にではなくファイル名のファイルに書き出します。出力を転送することで同
           じことが簡単にできるものの、このオプションが必要な場合は存在します:ファイルに転送する
           前に端末が出力を再解釈してしまう場合です。--output-charsetで設定した文字集合を優先しま
           す。

       --flush-on-close
           書き込み用に開いたファイルを閉じる際に、プログラムが主記憶上に貯まった全データを補助記
           憶に排出 (flush) するようにします。停電時のデータ損失を防いだり、運用機構や機器特有の
           問題を避ける目的で使えるでしょう。欠点として、mkvmergeが終了前に全データを補助記憶に書
           き込み終わるまで待機するせいで多重化に長い時間を要します。MKVToolNixの不具合追跡局の議
           題2469号および2480号に、この挙動の長短について詳細な議論があります。

       --ui-language 符号
           用いる翻訳を指定した言語符号のものに強制します(例えば「de_DE」ならドイツ語翻訳で
           す)。符号に「list」を指定すると利用可能な翻訳の一覧を出力します。

       --abort-on-warnings
           警告が発された後、プログラムが停止するようにします。プログラムの終了番号は1になりま
           す。

       --deterministic 初期種
           同一の原ファイルを,同一のオプション群で,同一の初期種と共にmkvmerge(1)を実行した場合
           に,バイト単位で同一のファイルを生成できるようにします。注意: "data" 区分情報欄はこの
           モードでは書き出されません。

           初期種は任意の文字列で,数値であってはなりません。

           結果ファイルのバイト同一性が保証されるのは次述の条件下に限ります:

            1. 同一版のmkvmerge(1)であり,使用してるlibEBMLとlibMatroskaも同一版である。

            2. 原ファイルはバイト単位で同一である。

            3. 同一の命令行オプションが同一の順序で用いられている(注意: --output ...は例外で
               す)。

           違う版のmkvmerge(1)や,異なる命令行オプションを使用していても結果としてファイルがバイ
           ト同一である場合があるますが,保証外です。

       --debug 機能
           指定した機能の診断出力を有効にします。このオプションは開発者にとってのみ有用です。

       --engage 機能
           実験的機能を有効にします。mkvmerge --engage listとすると利用可能な機能の一覧が得られま
           す。これらの機能は通常状況での使用を意図されていません。

       --gui-mode
           GUIモードに切り替えます。このモードではGUI操作の状況を伝える特殊な形式の行が出力されま
           す。これらの通報は '#GUI#通報内容' という形式の後に続きます。'#GUI#通報内容#予約
           語1=値1#予約語2=値2...' というように予約語・値の組が通報内容に続くことがあります。通知
           内容や予約語は翻訳されることなく常に英語で出力されます。

       @オプションファイル.json
           ファイルoptions-fileから追加の命令行引数を読み込みます。詳細はオプションファイルのセク
           ションを参照してください。

       --capabilities
           翻訳時に組込まれた追加機能を一覧して終了します。出力の一行目は版情報になります。以降の
           全ての行はちょううど一語だけから成り,その機能が組込まれていることを示します。機能は:

           •   'FLAC' -- 生FLACファイルの読み込みおよび他コンテナ(例: OggまたはMatroska)にあ
               るFLACトラックの取り扱い。

       -h, --help
           使用法情報を出力して終了します。

       -V, --version
           版次情報を出力して終了します。

使用法

       各ファイルについて、利用者はmkvmerge(1)が取り出すべきトラックを選択できます。取り出された
       トラックは、すべて-oで指定されたファイルに書き出されます。既知の(サポート済の)入力ファイル
       形式は-lオプションで取得できます。

           重要
           命令行オプションの順序は重要です。もしもプログラム初心者なら、「オプション順序」節を読
           んでください。

オプション順序

       いくつかのオプションでは、入力の順番が重要です。オプションは二種類に大別されます:

        1. プログラム全体に影響し、どの入力ファイルにも関連付けられていないオプショ
           ン。--command-line-charset--output--titleなどが該当しますが,これらに限りませ
           ん。これらのオプションは命令行のどこに書いても構いません。

        2. 1つの入力ファイルのみ、もしくは入力ファイル中の1つのトラックのみに影響するオプショ
           ン。これらのオプションは全て、命令行でその後ろに続く入力ファイルに適用されます。同じ入
           力ファイル(または同じ入力ファイル中のトラック)に適用される全てのオプションは、その入
           力ファイルのファイル名の前に書きさえすれば、どんな順番でも構いません。1つの入力ファイ
           ルに適用されるオプションの例を挙げると、--no-chapters--chapter-charsetなどがありま
           す。1つのトラックのみに適用されるオプションには、例え
           ば--default-duration--languageがあります。

       オプションは左から右へと処理されます。もし同じスコープ内に1つのオプションが2回以上出てきた
       場合には、最後のものが使われます。よって、次の例ではタイトルは"Something else"に設定されま
       す。

           $ mkvmerge -o output.mkv --title 'This and that' input.avi --title 'Something else'

       次の例は、違うスコープ内で使われているので--languageオプションを2回使ってもよいということ
       を示しています。それらは同じトラックIDに適用されますが、違う入力ファイルに適用されるので違
       うスコープを持っているのです。

           $ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg

       あなたは、 MyMovie.avi というファイルを持っていて、また音声トラックが別の、例えば
       'MyMovie.wav'というファイルに入っているとします。あなたは、まず音声をOggVorbisでエンコード
       したいと思います。

           $ oggenc -q4 -oMyMovie.ogg MyMovie.wav

       数分後、映像と音声を結合できます。

           $ mkvmerge -o MyMovie-with-sound.mkv MyMovie.avi MyMovie.ogg

       AVIファイルが既に音声トラックを持っていた場合(そしてmkvmerge(1)がその形式に対応していた場
       合),そのトラックも複製されます。これを避けるには、下のようにしてください。

           $ mkvmerge -o MyMovie-with-sound.mkv -A MyMovie.avi MyMovie.ogg

       ちょっと考えて、あなたはもうひとつの音声トラック(例えば音声コメンタリや吹替えな
       ど)を'MyMovie-add-audio.wavにリッピングしました。再びエンコードして、新しいファイルにまと
       めます。

           $ oggenc -q4 -oMyMovie-add-audio.ogg MyMovie-add-audio.wav
           $ mkvmerge -o MM-complete.mkv MyMovie-with-sound.mkv MyMovie-add-audio.ogg

       同じことは、次のようにしても可能です。

           $ mkvmerge -o MM-complete.mkv -A MyMovie.avi MyMovie.ogg MyMovie-add-audio.ogg

       あとはmplayerを立ち上げて動画を楽しむだけです。もし、複数の音声トラック(もしかすると映像ト
       ラックも)がある場合は、再生するトラックを'-vid'と'-aid'オプションでmplayerに指定できま
       す。ゼロベースで、映像と音声の区別をしないIDを指定します。

       もし、音声トラックの同期をとる必要がある場合も、簡単にとることができます。まず、次のように
       してVorbisトラックのトラックIDを取得します。

           $ mkvmerge --identify outofsync.ogg

       次に、このIDを使って、次のような命令行を実行します。

           $ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg

       上のようにすると、'outofsync.ogg'に入っている、IDが 12345 の音声トラックの最初に200msの無
       音を挿入します。

       最初は同期がとれているのにだんだんとずれていく動画もあります。このような動画には、全ての時
       刻印に適用される遅れ係数を指定することができます。データは追加も削除もされないので、あまり
       大きな、またはあまりに小さな係数を指定するとまずい結果になるでしょう。例として、私が変換し
       たある動画は、全長が77340こまで、最終的に0.2秒ずれていました。29.97fpsでは、0.2は約6こまに
       相当します。よって、私は次のような命令を実行しました。

           $ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv

       結果は良好でした。

       同期オプションは字幕にも同様に使用できます。

       文章字幕を生成するには、SubRipperのようなWindowsソフトウェアを使用するか、transcode(1)の
       ソースコードの、contrib/subrip'ディレクトリの中にあるsubripパッケージが使用できます。一般
       的なプロセスは以下の通りです。

        1. ソースから生字幕流を抽出:

               $ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie

        2. 出力されたPGMイメージをgocrで文章化:

               $ pgm2txt mymovie

        3. 出力された文書ファイルを校正:

               $ ispell -d american *txt

        4. 文章ファイルをSRTファイルに変換:

               $ srttool -s -w -i mymovie.srtx -o mymovie.srt

       出力されたファイルをmkvmerge(1)の入力ファイルとして使用する:

           $ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt

       もし、あるトラックに言語コードを指定したいならば、簡単に指定できます。まず、指定する言語
       のISO 639-2コードを調べます。次のようにすればmkvmerge(1)に全ての言語コードを一覧表示させる
       ことができます。

           $ mkvmerge --list-languages

       必要な言語をリストの中から探してください。Matroskaファイルの中に、二つの音声トラックがあ
       り、トラックIDは2と3だとします。この二つに言語コードを指定するには、次のようにします。

           $ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv

       このように、--languageスイッチを複数回使うことができます。

       プレイヤーに既定でオランダ語を再生させたいときもあるでしょう。さらに、例えば英語とフランス
       語の字幕があって、フランス語を既定で再生させたいと仮定します。これは、次のようにすれば可能
       です。

           $ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track-flag 3 without-lang-codes.mkv --language 0:eng english.srt --default-track-flag 0 --language 0:fre french.srt

       もし、指定したはずの言語や既定フラグがmkvinfo(1)の出力に見当たらない場合は、既定値のセク
       ションを参照してください。

       入力ファイルの圧縮をオフにします。

           $ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt

トラックID

   Regular track IDs
       mkvmerge(1)のオプションの中には、どのトラックに適用するかを特定するために、トラックIDを指
       定する必要なものがあります。このトラックIDは、入力ファイルがdemuxされる際に表示されるほ
       か、mkvmerge(1)に--identifyオプションを指定して表示させることもできます。この場合の出力は
       次のようになります。

           $ mkvmerge -i v.mkv
           File 'v.mkv': container: Matroska
           Track ID 0: video (V_MS/VFW/FOURCC, DIV3)
           Track ID 1: audio (A_MPEG/L3)

       出力されるMKVファイルの中に配置されるトラックに割り当てられるトラックIDと、入力ファイルの
       トラックIDを混同しないでください。これらの値が必要なオプションに使われるのは、入力ファイル
       のトラックIDだけです。

       また、各入力ファイルは、それ固有のトラックIDの組を持っていることにも注意してください。従っ
       て、'mkvmerge --identify'で報告される'file1.ext'のトラックIDは、他にいくつ入力ファイルが
       あっても、また、'file1.ext'がどの位置で使われようとも、変わることはありません。

       トラックIDは次のように割り当てられます:

       •   AVIファイル: 映像トラックのIDは0になります。音声トラックのIDは1から昇順に割り当てられ
           ます。

       •   AAC、AC-3、MP3、SRT、及びWAVファイル: ファイル中の唯一のトラックがID 0 を割り当てられ
           ます。

       •   その他の殆どのファイル:トラックIDは、トラックがファイル中で見つかった順番に0から割り
           当てられます。

       トラックIDを使用するオプションの説明には、'TID'が含まれています。ま
       た、--audio-tracks--video-tracks--subtitle-tracks--button-tracks及び--track-tagsオプ
       ションもトラックIDを使用します。

   特殊トラックID
       識別出力には表われない、特別な意味を持つIDが幾つかあります。

       特殊トラックID '-1' は全称的で,指定した切替を入力ファイルから読み込まれる全てのトラックに
       適用します。

       特殊トラックID '-2' は原ファイル中の楽曲を指し示します。現在,--syncオプションのみがこの特
       殊IDを用いています。--sync -2:...の替わりに,オプション--chapter-sync ...を使うことができ
       ます。

文章ファイルと文字集合変換

           注記
           この節の事柄は,mkvmerge(1)にのみ言及している場合でも,MKVToolNixの全てのプログラムに
           当て嵌まります。

   はじめに
       Matroskaファイルに格納されている文章の文字コードは全てUTF-8です。よって、mkvmerge(1)が文章
       ファイルを読み込む際には全てをUTF-8に文字コード変換する必要があります。代わり
       に、mkvmerge(1)が例えば--ui-languageによって非英語翻訳が使用される際や、Matroskaファイルに
       格納されていた文章を出力する際には、UTF-8から指定された文字コードに変換すればよいというこ
       とになります。

       mkvmerge(1)はこの変換をバイト・オーダー・マーク(BOM)の有無、又はシステムのロケールに基づい
       て自動的に行ないます。ロケールからどのように文字コードが推測されるかは、mkvmerge(1)を実行
       するシステムに依存します。

   バイト順記号 (BOM)
       BOMで始まる文章ファイルは、既にUTFエンコーディングの一種でエンコードされていま
       す。mkvmerge(1)はUTF-8、UTF-16リトルエンディアン及びビッグエンディアン、UTF-32リトルエン
       ディアン及びビッグエンディアンの五つのモードをサポートします。BOMで始まる文章ファイルは自
       動的にUTF-8に変換されます。この場合、文章ファイルの文字コードを指定するパラメータ(例:
       --sub-charset)は全て黙殺されます。

   Linux、及びmacOSを含むUnix系システム
       UNIX系システム上では、mkvmerge(1)はsetlocale(3)システムコールを使うので、LANGLC_ALL及
       びLC_CYPE環境変数を使用します。大抵は、UTF-8かISO-8859-*ファミリのどれかが全ての文章ファイ
       ルと命令行文字列の処理、及びコンソールへの出力の文字コードとして使用されます。

   Windows
       Windowsにおいては、文章ファイルを変換するのに用いられる既定の文字コードはシステム呼出
       しGetACP()を呼び出すことで決定されます。

       Reading the command line is done with the GetCommandLineW() function which already returns
       a Unicode string. Therefore the option --command-line-charset is ignored on Windows.

       Output to the console consists of three scenarios:

        1. If the output is redirected with the option --redirect-output then the default charset
           is UTF-8. This can be changed with --output-charset.

        2. If the output is redirected with cmd.exe itself, e.g. with mkvinfo file.mkv >
           info.txt, then the charset is always UTF-8 and cannot be changed.

        3. Otherwise (when writing directly to the console) the Windows function WriteConsoleW()
           is used and the option --output-charset is ignored. The console should be able to
           output all Unicode characters for which the corresponding language support is
           installed (e.g. Chinese characters might not be displayed on English Windows
           versions).

   Command line options
       次のような文字コードを指定するオプションがあります。

       •   --sub-charsetは、文章字幕ファイルの文字コードと、他のコンテナに格納された文章字幕ト
           ラックの文字コードが曖昧さなく決定できない場合(例: Oggファイル)の文字コードを指定しま
           す。

       •   --chapter-charsetは、楽章文章ファイルの文字コードと、他のコンテナ形式に格納されている
           楽章及びタイトルの文字コードを曖昧さなく決定できない場合(例: Oggファイルの楽章情報、ト
           ラックとファイルのタイトル等、及びMP4ファイルの楽章情報)の文字コードを指定します。

       •   --command-line-charsetは全ての命令行文字列の文字コードを指定します。

       •   --output-charset for all strings written to the console or to a file if the output has
           been redirected with the --redirect-output option. On non-Windows systems the default
           for the output charset is the system's current charset. On Windows it defaults to
           UTF-8 both for redirecting with --redirect-output and with cmd.exe itself, e.g.
           mkvinfo file.mkv > info.txt.

オプションファイル:

       オプションファイルとは、mkvmerge(1)が追加の命令行の引数をそれから読み込むことができるもの
       です。これは、命令行の長さ制限等の、外部プログラムを実行する際のシェルやオペレーティングシ
       ステムの特定の制限を回避するために使用することができます。

       An option file contains JSON-formatted data. Its content must be a valid JSON array
       consisting solely of JSON strings. The file's encoding must be UTF-8. The file should not
       start with a byte order marker (BOM), but if one exists, it will be skipped.

       The rules for escaping special characters inside JSON are the ones in the official JSON
       specification, RFC 7159[4].

       The option file's name itself must be specified as a command line argument prefixed with a
       '@' character.

       The command line 'mkvmerge -o "my file.mkv" -A "a movie.avi" sound.ogg' could be converted
       into the following JSON option file called e.g. 'options.json':

           [
             "-o",
             "c:\\Matroska\\my file.mkv",
             "--title",
             "#65",
             "-A",
             "a movie.avi",
             "sound.ogg"
           ]

       The corresponding command would then be 'mkvmerge @options.json'.

ファイル紐付け

       Matroskaはファイル紐付けをサポートします。ファイル紐付けとは、単純に現在のファイルの前
       の、又は次のファイルを指定する機能です。正確に言うと、本当に紐付けされるのはファイルではな
       くMatroskaセグメントです。ほとんどのファイルはMatroskaセグメントを一つしか持たないので、以
       降の説明ではより正確な'セグメント紐付け'という用語ではなく、'ファイル紐付け'という用語を使
       用します。

       各セグメントはユニークな128-bit幅のセグメントUIDを持ちます。このUIDはmkvmerge(1)が自動的に
       生成します。紐付けは基本的にセグメントUID(略してSID)を頭部情報の中に挿入することで行われま
       す。mkvinfo(1)はこのSIDを、存在する場合は表示します。

       もしひとつのファイルがいくつかの小さなファイルに分割されて紐付けされる場合、時刻印は0から
       始まらず、前のファイルの続きから始まります。この方式では、前のファイルが無い場合も絶対時間
       が保たれます(例: ストリーミングを使用している際)。もし、紐付けが使用されない場合、時刻印は
       各ファイルで0から始まります。既定ではmkvmerge(1)はファイル紐付けを使用しません。ファイル紐
       付けを使用したい場合は、--linkオプションを使用する必要があります。このオプションはファイル
       分割が有効な場合以外には無効です。

       ファイル分割が有効か無効かに関わらず、利用者はmkvmerge(1)に、生成したファイルを特定のSIDに
       紐付けすることができます。これは--link-to-previousオプションと--link-to-nextオプションによ
       り可能です。これらのオプションはmkvinfo(1)が出力する形式(16個の0x00から0xffまでの、'0x'を
       頭につけた16進数)のSIDを受け付けます(例: '0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae
       0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93')。もしくは短い形式('0x'及び数字の間のスペースを省い
       た0x00から0xffまでの16進数の数字)を指定することもできます。例:
       '41da7366d9cfb21eae78ebb45ecab393'

       もしファイル分割が有効の場合、最初のファイルが--link-to-previousオプションで指定したSIDに
       紐付けされ、最後のファイルが--link-to-nextオプションで指定したSIDに紐付けされます。ファイ
       ル分割が無効の場合、一つの出力ファイルが両方のSIDに紐付けされます。

既定値

       Matroskaファイルの仕様には、既定値を持つ要素の存在が明記されています。通常、既定値と等しい
       値をもつ要素はファイルサイズを抑えるためファイルに書き込まれません。mkvinfo(1)では表示され
       ないかもしれない要素は、言語既定トラックフラグ要素です。言語要素の既定値は英
       語('eng')で、既定トラックフラグ要素の既定値はtrueです。よって、あるトラックに--language:
       0:engを指定した場合には、mkvinfo(1)の出力には現れません。

添付ファイル

       Matroskaファイルに写真を入れておきたいということや、非常に稀でしょうがSSA字幕を使ってい
       てTrueTypeフォントを使用したいということがあるかもしれません。このような場合に
       は、Matroskaファイルにファイルを添付することができます。添付されるファイルはMatroskaファイ
       ルにただ単純に追加されるのではなく、埋め込まれます。よって、プレイヤーはこれらのファイルを
       表示したり(写真の場合)、字幕を描画するのに使用したり(フォントの場合)できます。

       下に、出力ファイルに写真とTrueTypeフォントを添付する方法の例を示します。

           $ mkvmerge -o output.mkv -A video.avi sound.ogg \
             --attachment-description "Me and the band behind the stage in a small get-together" \
             --attachment-mime-type image/jpeg \
             --attach-file me_and_the_band.jpg \
             --attachment-description "The real rare and unbelievably good looking font" \
             --attachment-mime-type application/octet-stream \
             --attach-file really_cool_font.ttf

       添付ファイルつきのMatroskaファイルが入力ファイルとして使われた場合、mkvmerge(1)はその添付
       ファイルを新しいファイルに複製します。添付ファイルの複製するか否かは,--attachments及
       び--no-attachmentsオプションを使って切り替えることができます。

楽章

       Matroska楽章システムは、OGMファイルで使用されていた従来のシステムより強力です。その仕様の
       全ては、Matroskaのウェブサイト[5]に記されています。

       mkvmerge(1)は2種類の楽章ファイルを入力としてサポートしています。一つ目は'シンプル楽章ファ
       イル'と呼ばれるもので、OGM toolsが想定しているものと同じ形式です。二つ目はXMLベースの楽章
       形式で、Matroskaの楽章機能の全てをサポートしています。

       Apart from dedicated chapter files mkvmerge(1) can also read chapters from other file
       formats (e.g. MP4, Ogg, Blu-rays or DVDs).

   シンプル楽章形式
       この形式は、'CHAPTERxx='で始まる行と'ChapterxxNAME='で始まる行のペアから成ります。前者の行
       は開始時刻印を含み、後者はタイトルを含みます。下に例を示します。

           CHAPTER01=00:00:00.000
           CHAPTER01NAME=Intro
           CHAPTER02=00:02:30.000
           CHAPTER02NAME=Baby prepares to rock
           CHAPTER03=00:02:42.300
           CHAPTER03NAME=Baby rocks the house

       mkvmerge(1)は各ペア、もしくは行を、一個のMatroskaChapterAtomに変換しま
       す。ChapterTrackNumberは設定しないので、全てのトラックに楽章は適用されます。

       このときに文章ファイルの文字コードが必要になります。mkvmerge(1)の文字コード変換については
       文章ファイルと文字コードのセクションを参照してください。

   XML楽章形式
       XML楽章形式の例を以下に示します。

           <?xml version="1.0" encoding="ISO-8859-1"?>
           <!DOCTYPE Chapters SYSTEM "matroskachapters.dtd">
           <Chapters>
             <EditionEntry>
               <ChapterAtom>
                 <ChapterTimeStart>00:00:30.000</ChapterTimeStart>
                 <ChapterTimeEnd>00:01:20.000</ChapterTimeEnd>
                 <ChapterDisplay>
                   <ChapterString>A short chapter</ChapterString>
                   <ChapterLanguage>eng</ChapterLanguage>
                 </ChapterDisplay>
                 <ChapterAtom>
                   <ChapterTimeStart>00:00:46.000</ChapterTimeStart>
                   <ChapterTimeEnd>00:01:10.000</ChapterTimeEnd>
                   <ChapterDisplay>
                     <ChapterString>A part of that short chapter</ChapterString>
                     <ChapterLanguage>eng</ChapterLanguage>
                   </ChapterDisplay>
                 </ChapterAtom>
               </ChapterAtom>
             </EditionEntry>
           </Chapters>

       この形式では、シンプル楽章形式では不可能な、3つのことが可能です。

        1. 楽章の終了時刻印を指定できます。

        2. ネストした楽章を作成できます。

        3. 言語及び国を設定できます。

       mkvtoolnixは、テンプ速度となるサンプルファイルと一緒に配布されています。サンプルファイル
       はdocサブディレクトリの中にあります。

       以下にサポートされているXML標識、そのデータタイプ、そして適切な場所では、その値の有効な範
       囲を挙げます:

           Chapters (master)
             EditionEntry (master)
               EditionUID (unsigned integer, valid range: 1 <= value)
               EditionFlagHidden (unsigned integer, valid range: 0 <= value <= 1)
               EditionFlagDefault (unsigned integer, valid range: 0 <= value <= 1)
               EditionFlagOrdered (unsigned integer, valid range: 0 <= value <= 1)
               ChapterAtom (master)
                 ChapterAtom (master)
                 ChapterUID (unsigned integer, valid range: 1 <= value)
                 ChapterTimeStart (unsigned integer)
                 ChapterTimeEnd (unsigned integer)
                 ChapterFlagHidden (unsigned integer, valid range: 0 <= value <= 1)
                 ChapterFlagEnabled (unsigned integer, valid range: 0 <= value <= 1)
                 ChapterSegmentUID (binary, valid range: 1 <= length in bytes)
                 ChapterSegmentEditionUID (unsigned integer, valid range: 1 <= value)
                 ChapterPhysicalEquiv (unsigned integer)
                 ChapterTrack (master)
                   ChapterTrackNumber (unsigned integer, valid range: 1 <= value)
                 ChapterDisplay (master)
                   ChapterString (UTF-8 string)
                   ChapterLanguage (UTF-8 string)
                   ChapterCountry (UTF-8 string)
                 ChapterProcess (master)
                   ChapterProcessCodecID (unsigned integer)
                   ChapterProcessPrivate (binary)
                   ChapterProcessCommand (master)
                     ChapterProcessTime (unsigned integer)
                     ChapterProcessData (binary)

   Reading chapters from Blu-rays
       mkvmerge(1) can read chapters from unencrypted Blu-rays. For that you can use the path to
       one of the MPLS play lists with the --chapters parameter.

       Example: --chapters /srv/blurays/BigBuckBunny/BDMV/PLAYLIST/00001.mpls

   Reading chapters from DVDs
       When MKVToolNix is compiled with the libdvdread library, mkvmerge(1) can read chapters
       from DVDs. For that you can use the path to one of the folders or files on the DVD with
       the --chapters parameter. As DVDs can contain more than one title and each title has its
       own set of chapters, you can append a colon and the desired title number to the end of the
       file name argument. The title number defaults to 1.

       Example: --chapters /srv/dvds/BigBuckBunny/VIDEO_TS:2

   注意
       mkvmerge(1)は出力ファイルを分割する際、楽章も適切に処理します。つまり、分割された各ファイ
       ルはそのファイルに関係する楽章のみを含み、時刻印には適切なオフセットがかかります。

       mkvmerge(1)は、--no-chaptersオプションで明示的に無効化されていなければ、Matroska原ファイル
       から楽章を複製できます。全ての原ファイル(Matroskaファイル、Oggファイル、MP4ファイル、楽章
       文章ファイル)から読み取られた楽章は,通常は結合されず,別々のChapterEditionsが作成されま
       す。楽章の読み取り元が,同じ編次UIDを共有するMatroskaあるいはXMLファイル郡であった場合の
       み,楽章は一つのChapterEditionに結合されます。そのような場合以外で結合を行いたい場合は、利
       用者はまず全ての原ファイルからmkvextract(1)で楽章を抽出し、手動でXMLファイルを結合した後に
       多重化を行なわなければなりません。

標識

   はじめに
       Matroska's tag system is similar to that of other containers: a set of KEY=VALUE pairs.
       However, in Matroska these tags can also be nested, and both the KEY and the VALUE are
       elements of their own. The example file example-tags-2.xml shows how to use this system.

   標識のスコープ
       Matroska標識は自動的にはファイル全体に適用はされません。適用することもできますが、ファイル
       の異る部分々々に適用することもできます。一つ、もしくは複数のトラック、一つ、もしくは複数の
       楽章、さらにはその組み合わせにも適用することが可能です。Matroskaの仕様[6]に、このことの詳
       細が記述されています。

       重要なことは、標識はTargetsMatroska標識要素によってトラック及び楽章に紐付けられますが、こ
       の際に使用されるUIDはmkvmerge(1)が色々な所で使用するトラックIDではないということです。その
       代わりに,(Matroska以外のファイル形式から取得されたトラックの場合は)自動的に計算し
       たUIDあるいは(トラックの原ファイルがMatroskaファイルの場合は)原ファイルから複製され
       たUIDが用いられます。そのため,mkvmerge(1)がファイルを読み込む前に,標識ファイルで使用され
       るUIDはかなり難しくなります。

       mkvmerge(1)はMatroskaファイルに標識を追加する二つのオプションを認識しま
       す。--global-tags--tagsオプションです。この二つの違いは、前者の--global-tagsは、上述
       のTargets要素を全て取り除くことで、標識がファイル全体に適用されるようにします。後者
       の--tagsオプションは、mkvmerge(1)が of the --tagsに指定したTIDの示すトラックに対して自動的
       に計算したUIDを挿入します。

   
       あなたは、AVIから読み込まれる映像トラックに標識をつけたいと仮定しましょう。mkvmerge
       --identify file.aviを実行すると、映像トラックのトラックID(このIDをUIDと混同しないでくださ
       い!)は0であると教えてくれます。よって、あなたは全てのTargets要素を記入しない標識ファイルを
       作成し、mkvmerge(1)を以下のように実行します。

           $ mkvmerge -o file.mkv --tags 0:tags.xml file.avi

   標識ファイル形式
       mkvmerge(1)はXMLベースの標識ファイル形式をサポートします。この形式はMatroskaの仕様[6]に非
       常に近いデザインになっています。MKVToolNixのバイナリ、及びソースディストリビューションはど
       ちらも、既知の標識をただリストしただけの、実際の標識ファイルのテンプ速度として使用でき
       るexample-tags-2.xmlというサンプルファイルを含んでいます。

       基本的には、以下の様な構成です。

       •   最も外側の要素は<Tags>でなければなりません。

       •   一個の論理標識は<Tag>XML標識の内部に包含されます。

       •   標識の中身の直前・直後のスペースは無視されます。

   データタイプ
       新しいMatroska標識システムは、UTF-8文字列とバイナリの二つのデータタイプしか認識しませ
       ん。前者は標識の名前と<String>要素に使用され、後者は<Binary>要素に使用されます。

       バイナリデータは、そのままではXMLファイルに格納できません。mkvmerge(1)は二つのバイナリデー
       タ格納方法に対応しています。XML要素の中身が「@」で始まる場合、そのあとの文字列をファイル名
       として解釈し,そのファイルの中身をMatroska要素に複製します。

       もう一つの方法では、データはBase64エンコードされる必要があります。これは、バイナリデータ
       をASCIIキャラクタの一部だけで表現するためのエンコードで、例えばEメールなどに使用されていま
       す。mkvextract(1)は、バイナリ要素をBase64エンコードされたデータとして出力します。

       古い標識システムは、公式のMatroskaの仕様に示されているように、もっと多くのデータタイプを認
       識していました。mkvmerge(1)はもはやこのシステムをサポートしないので、それらのタイプについ
       てはここでは説明しません。

   XMLファイル形式で知られている標識
       以下にサポートされているXML標識、そのデータタイプ、そして適切な場所では、その値の有効な範
       囲を挙げます:

           Tags (master)
             Tag (master)
               Targets (master)
                 TargetTypeValue (unsigned integer)
                 TargetType (UTF-8 string)
                 TrackUID (unsigned integer)
                 EditionUID (unsigned integer)
                 ChapterUID (unsigned integer)
                 AttachmentUID (unsigned integer)
               Simple (master)
                 Simple (master)
                 Name (UTF-8 string)
                 TagLanguage (UTF-8 string)
                 DefaultLanguage (unsigned integer)
                 String (UTF-8 string)
                 Binary (binary)

セグメント情報

       区分情報を、Matroskaファイルの「区分情報」頭部欄にある特定の値として指定可能なXMLファイル
       に書き込みます。これらの値は全て他の命令行オプションを介しては設定できません。

       他の「区分情報」頭部欄は命令行オプションを介して設定できますが、XMLファイルを介してはでき
       ません。例えば--title--timestamp-scaleオプションが該当します。

       他にも命令行オプション経由でもXMLファイル経由でも設定できない要素があります。これらには以
       下のものが含まれます:DateUTC (別名"muxing date")、MuxingAppWritingApp、そし
       てDurationです。それらは常にmkvmerge(1)自身によって設定されます。

       以下にサポートされているXML標識、そのデータタイプ、そして適切な場所では、その値の有効な範
       囲を挙げます:

           Info (母体)
             SegmentUID (バイナリ、妥当な範囲: 16バイト長)
             SegmentFilename (UTF-8文字列)
             PreviousSegmentUID (バイナリ、妥当な範囲: 16バイト長)
             PreviousSegmentFilename (UTF-8文字列)
             NextSegmentUID (バイナリ、妥当な範囲: 16バイト長)
             NextSegmentFilename (UTF-8文字列)
             SegmentFamily (バイナリ、妥当な範囲: 16バイト長)
             ChapterTranslate (母体)
               ChapterTranslateEditionUID (符号無し整数)
               ChapterTranslateCodec (符号無し整数)
               ChapterTranslateID (バイナリ)

MATROSKAファイル割付け

       Matroskaファイル割付けは非常に柔軟です。mkvmerge(1)はファイルを事前定義された方法で描画し
       ます。結果ファイルはこのようになります:

       [EBML頭部] [区分 {高次送り出し#1} [区分情報] [トラック情報] {添付ファイル} {楽章} [群団 1]
       {群団 2} ... {群団 n} {演奏指令} {高次送り出し#2} {標識}]

       波括弧でくくられた要素は省略可能で、コンテンツと指定されたオプションに依存します。いくつか
       注釈があります。

       •   高次送り出し要素#1には,少数の水準1要素(添付ファイル、楽章,演奏指令,標識,高次送り
           出し要素#2)が,実際に存在する場合のみ含まれます。古い版次のmkvmerge(1)では、この高次
           送り出し要素に群団も挿入していました。そのため、十分な格納領域を確保するために不正確な
           推測をせざるえず,しばしば失敗していました。現在では、群団のみを高次送り出し要素#2に格
           納し,高次送り出し要素#1は高次送り出し要素#2を参照します。

       •   添付ファイル、楽章、及び標識要素はそれらが存在するときにのみ追加されます。

       The shortest possible Matroska file would look like this:

       [EBML頭部] [セグメント [セグメント情報] [トラック情報] [団体1]]

       音声のみのファイルはこのようになるでしょう。

外部時刻印ファイル

       利用者は、特定のトラックの時刻印を自分でmkvmerge(1)に指定することができます。これは可変こ
       ま速度映像を含むファイルを作成するときや、音声に無音を挿入するときに使用できます。この場
       合、こまはMatroska区画を作成する際の単位となります。映像では、これはちょうど1こまとな
       り、音声ではこれは各音声タイプの1パケットとなります。例えば、AC-3では、これは1536サンプル
       を含む1パケットとなります。

       結合されたトラックに時刻印ファイルを指定する場合は、各結合されるトラックチェインの最初の部
       分にのみ指定してください。例えばv1.avi、v2.aviの二つのファイルを結合し、時刻印を使用したい
       ときの命令行は次のようになります。

           $ mkvmerge ... --timestamps 0:my_timestamps.txt v1.avi +v2.avi

       mkvmerge(1)は、4つの形式を認識します。最初の1行は常にバージョン番号を含みます。空行、空白
       のみを含む行、及び'#'で始まる行は無視されます。

   時刻印ファイル形式 v1
       この形式はバージョン行から始まります。2行目は既定こま速度を宣言します。残りの全ての行
       は、コンマで区切られた3つの数字を含みます。開始こま(0が最初のこまです)、終了こま、そしてこ
       の範囲で適用されるこま速度です。FPSは、ドット'.'を小数点として持つ小数です。こま範囲は既
       定FPSが使用されるギャップを含むこともあります。例を下に示します。

           # timestamp format v1
           assume 27.930
           800,1000,25
           1500,1700,30

   時刻印ファイル形式 v2
       この形式では、各行は対応するこまの時刻印を含みます。この時刻印はミリ秒単位の精度で指定しな
       ければなりません。小数を指定することができますが、小数でなくてもかまいません。最低でも、ト
       ラックに含まれるこま数と同数の時刻印行を含まなければなりません。このファイル内の時刻印は整
       列されていなければなりません。例えば、25fpsでは以下のようになります。

           # timestamp format v2
           0
           40
           80

   時刻印ファイル形式 v3
       この形式では、各行は秒単位の持続時間と、省略可能なこま速度を含みます。この二つは両方とも小
       数を指定できます。もし、こま速度が指定されない場合は既定の値が使用されます。音声では符号器
       に時刻印を計算させるべきです。このためには、こま速度として0.0を指定してください。ま
       た、'gap'キーワードの後に持続時間を指定して、無音を指定することもできます。音声ファイル用
       の例を示します。

           # timestamp format v3
           assume 0.0
           25.325
           7.530,38.236
           gap, 10.050
           2.000,38.236

   時刻印ファイル形式 v4
       この形式はv2形式と同一です。唯一の違いは、時刻印が整列されていなくてもいいという点です。こ
       の形式が使われることはほぼ無いでしょう。

終了番号

       mkvmerge(1)は下の3つの返り値を返します。

       •   0 -- この返り値はMUXが正常に終了したことを示します。

       •   1 -- この返り値は、一つ以上の警告が出力されましたが、抽出が続行されたことを意味しま
           す。警告は '警告:' という文字列を先頭につけて出力されます。出力ファイルが無事であるか
           どうかは、場合によります。出力ファイルを確認することを強く推奨します。

       •   2 -- この返り値は、エラーが発生し、エラーメッセージを出力した後にmkvmerge(1)が処理を中
           断したことを示します。エラーメッセージは不正な命令行やファイルI/Oエラー、壊れたファイ
           ルなど様々です。

環境変数

       mkvmerge(1)はシステムのロケールを決める既定の変数(例:LANGLC_*系)を使用します。追加の
       変数は以下の通りです:

       MKVMERGE_DEBUG, MKVTOOLNIX_DEBUG and its short form MTX_DEBUG
           その内容は、あたかも--debugオプション経由で渡されたかのように扱われます。

       MKVMERGE_ENGAGE, MKVTOOLNIX_ENGAGE and its short form MTX_ENGAGE
           その内容は、あたかも--engageオプション経由で渡されたかのように扱われます。

関連項目

       mkvinfo(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1)

ウェブ

       最新版は常にMKVToolNixの拠点[7]で入手できます。

著者

       Bunkus Moritz[FAMILY Given] <moritz@bunkus.org>
           開発者

注記

        1. Matroskaの本拠地
           https://www.matroska.org/

        2. IANAのホームページ
           https://www.iana.org/assignments/media-types/

        3. mkvmerge-identification-output-schema-v16.json
           https://mkvtoolnix.download/doc/mkvmerge-identification-output-schema-v16.json

        4. RFC 7159
           https://tools.ietf.org/html/rfc7159

        5. Matroskaのウェブサイト
           https://www.matroska.org

        6. Matroskaの仕様
           https://www.matroska.org/technical/specs/index.html

        7. MKVToolNixの拠点
           https://mkvtoolnix.download/