Provided by: mkvtoolnix_45.0.0-2_amd64 bug

名前

       mkvmerge - マルチメディアストリームをMatroskaファイルに格納します。

書式

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

説明

       このプログラムはいくつかのメディアファイルを入力とし、それらに格納されたストリームのうち全
       て、もしくは選択されたものをMatroskaファイルに書き込みます。Matroska[1]のウェブサイトも参
       照してください。

           重要
           コマンドラインオプションの順番は重要です。もしあなたが初心者なら、"オプションの順番"セ
           クションを読んで下さい。

   グローバルオプション
       -v, --verbose
           より詳細な情報を表示します

       -q, --quiet
           ステータス情報の出力を抑制します。

       -o, --output file-name
           file-nameで指定したファイルに書き込みます。もし、ファイル分割が有効な場合このオプショ
           ンは若干解釈が違います。詳細は--splitオプションの説明を参照してください。

       -w, --webm
           WebMに準じたファイルを生成します。出力ファイル名の拡張子が「webm」の場合も有効になりま
           す。このモードでは幾つかの制限があります。VP8・VP9の動画及びOpus・Vorbis音声トラックの
           みがコーデックとして許容されます。DocTypeヘッダー項目は「webm」に変更されます。

           チャプター及びタグに対しては、要素の部分集合のみが許容されます。mkvmerge(1)は仕様が許
           可していない項目を全て消去します。

       --title タイトル
           出力ファイル全体のタイトルを指定します(例:映画のタイトルなど)。

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

           既定の言語コードは「und」つまり「未定義」です。

   セグメント情報の扱い (グローバルオプション)
       --segmentinfo filename.xml
           XMLファイルからセグメント情報を読み取ります。このファイルは、セグメントファミリUID、セ
           グメントUID、前、及び、後セグメントUIDエレメントを含むことができます。MKVToolNixは、サ
           ンプルファイルとDTDを含んで配布されています。

           詳細は、下にあるセグメント情報XMLファイルのセクションを参照してください。

       --segment-uid SID1,SID2,...
           使用するセグメントUIDを設定します。これはコンマで区切られた、通常のUID形式("0x"を前置
           する、またはしない、空白を含む、または含まない、ちょうど32桁の16進数)128ビットセグメン
           トUIDのリストです。

           SIDが=で始まる場合、それ以降は、セグメントUIDが読み取られ使用されたMatroskaファイルの
           名前として解釈されます。

           作成される各ファイルは一つのセグメントを含み、そして各セグメントは一つのセグメン
           トUIDを持ちます。もし、作成されたセグメントよりも多数のセグメントUIDが指定された場
           合、余ったセグメントUIDは無視されます。また、もし指定されたセグメントUIDよりも多数のセ
           グメントが作成された場合は、ランダムなUIDが作成されて使用されます。

   チャプタ及びタグの扱い (グローバルオプション)
       --chapter-language language-code
           各チャプタのエントリに書き込むJIS X 0412-2言語コードを指定します。デフォルトは'eng'で
           す。詳細はチャプタのセクションを参照してください。

           このオプションはシンプルチャプタファイルを読み込んだ場合、そしてソースファイルがチャプ
           タを含むがチャプタの言語情報を含まなかった場合(例:MP4,OGMファイル)に適用されます。

           このオプションで指定された言語は--generate-chaptersオプションで生成されたチャプターに
           も使用されます。

       --chapter-charset 文字集合
           シンプルチャプタファイルをUTF-8に変換する際の文字集合を指定します。mkvmerge(1)の文字集
           合変換については、テキストファイルと文字集合のセクションを参照してください。

           このスイッチはチャプタがOgg,OGMファイルなどのコンテナからコピーされる際にも適用されま
           す。詳細については後述のチャプタについてのセクションを参照してください。

       --chapter-sync d[,o[/p]]
           Adjust the timestamps of the chapters in the following source file by d ms.
           Alternatively you can use the --sync option with the special track ID -2 (see section
           special track IDs).

           o/p: タイムスタンプをo/pの割合で調整し、リニアドリフトを修正します。pが省略された場
           合、デフォルトで1が使用されます。o及びpには小数を指定できます。

           デフォルト: マニュアル同期修正は行われません(d = 0 かつo = 1.0の場合と同じです)。

           このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することが
           できます。

       --generate-chapters mode
           mkvmerge(1) can create chapters automatically. The following two modes are currently
           supported:

           •   'when-appending' – This mode creates one chapter at the start and one chapter
               whenever a file is appended.

                   注記
                   mkvmerge(1) requires a video or an audio track to be present in order to be
                   able to determine when a new file is appended. If one or more video tracks are
                   muxed the first one is used. Otherwise the first audio track is used.

           •   'interval:time-spec' – This mode creates one chapter at fixed intervals given by
               time-spec. The format is either the form HH:MM:SS.nnnnnnnnn or a number followed
               by one of the units 's', 'ms' or 'us'.

               Example: --generate-chapters interval:45s

           The names for the new chapters are controlled by the option
           --generate-chapters-name-template. The language is set with --chapter-language which
           must occur before --generate-chapters.

       --generate-chapters-name-template template
           This sets the name template for chapter names generated by the option
           --generate-chapters. If the option is not used then default 'Chapter <NUM:2>' will be
           used.

           There are several variables that can be used in the template that are replaced by
           their actual values when a chapter is generated. The string '<NUM>' will be replaced
           by the chapter number. The string '<START>' will be replaced by the chapter's start
           timestamp.

           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 wihtout
           respectively with its extension. Note that only the file's base name and extension are
           inserted, not its directory or drive components.

           You can specify a minimum number of places for the chapter number with '<NUM:places>',
           e.g. '<NUM:3>'. The resulting number will be padded with leading zeroes if the number
           of places is less than specified.

           You can control the format used by the start timestamp with <START:format>. The format
           defaults to '%H:%M:%S' if none is given. Valid format codes are:

           •   %h – hours

           •   %H – hours zero-padded to two places

           •   %m – minutes

           •   %M – minutes zero-padded to two places

           •   %s – seconds

           •   %S – seconds zero-padded to two places

           •   %n – nanoseconds with nine places

           •   %<1-9>n – nanoseconds with up to nine places (e.g. three places with %3n)

       --cue-chapter-name-format format
           mkvmerge(1)は音声ファイル向けのCUEシートからチャプタ情報を読み込むことができま
           す。CUEシートには通常PERFORMERエントリ及びTITLEエントリが各インデックスエントリに存在
           します。mkvmerge(1)はこれら二つの文字列をチャプタの名前を生成するのに使用します。この
           フォーマットをこのオプションで指定することができます。

           このオプションが指定されていない場合、デフォルトで'%p - %t'というフォーマットが使用さ
           れます。

           フォーマットが指定された場合、下のメタ文字以外はそのままコピーされ、メタ文字は以下のよ
           うに置換されます。

           •   %pはそのエントリのPERFORMER文字列で置換されます。

           •   %tはそのエントリのTITLE文字列で置換されます。

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

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

       --chapters file-name
           チャプタ情報をfile-nameで指定したファイルから読み込みます。詳細はチャプタのセクション
           を参照してください。

       --global-tags file-name
           file-nameで指定したファイルからグローバルタグを読み込みます。詳細はタグのセクションを
           参照してください。

   出力一般のコントロール(高度なグローバルオプション)
       --track-order FID1:TID1,FID2:TID2,...
           このオプションは入力されたトラックが配置される順序を変更します。オプション引数はコンマ
           で区切られるIDペアのリストです。各ペアは最初を0としてコマンドラインの何番目に指定した
           ファイルであるかを示すファイルID(FID1)と、そのファイルの中の何番目のトラックかを示すト
           ラックID(TID1)からなります。ここで指定されなかったトラックは、指定されたトラックの後に
           配置されます。

       --cluster-length spec
           クラスタごとの、データブロック個数の上限または持続時間を指定します。specパラメータには
           単位なしの数字nもしくは、'ms'を後ろに付けた数字dを指定することができます。

           単位が指定されなかった場合、クラスタごとのデータブロックの最大個数はnに設定されま
           す。上限は65535です。

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

           デフォルトは、データクラスタ毎に65535データブロック以下、5000ms以下のデータを書き込み
           ます。

           プログラムがあるフレームを見つけようとするときは、クラスタに直接シークして、その後クラ
           スタ全体を読み込みます。よって、より大きなクラスタを作ると、シークが不正確かつ遅くなる
           かもしれません。

       --no-cues
           キューデータ(AVIファイルにおけるインデックスのようなもの)を作成しません。キューデータ
           なしでもファイルは再生できますが、シークは不正確かつ遅くなるでしょう。このオプション
           は、少しでもファイルサイズを小さくしようと必死なとき、またはテスト目的以外には使用しな
           いでください。--cuesオプションは各入力ファイルごとに指定できます。

       --clusters-in-meta-seek
           ファイルの終端に全てのクラスタを含むメタシーク要素を作成します。Matroskaファイルレイア
           ウトのセクションも参照してください。

       --no-date
           By default mkvmerge(1) sets the "date" segment information field to the time & date
           when multiplexing started. With this option that field is not written at all.

       --disable-lacing
           全てのトラックで複数のフレームを1つのブロックにまとめません。これは特に多数のオーディ
           オトラックがある場合に、ファイルサイズを増大させます。テスト目的でのみ使用してくださ
           い。

       --enable-durations
           全てのブロックの長さを記録します。これはファイルサイズを増大させますが、現在のところプ
           レーヤには何のメリットももたらしません。

       --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.

       --timestamp-scale factor
           タイムコードスケールの係数をfactorに強制設定します。この値は1000~10000000、もしく
           は-1に設定しなければなりません。

           通常mkvmerge(1)は1000000を使用します。これはタイムコードとフレーム持続期間が1ミリ秒単
           位の精度を持つことを意味します。ビデオトラックを含まず、1つ以上のオーディオトラックを
           含むファイルでは、mkvmerge(1)は全てのタイムコードとフレーム持続時間がサンプリング音1つ
           分の精度を持つようタイムコードスケールの係数を自動的に選択します。これによってオーバー
           ヘッドは大きくなりますが、正確なシークと展開が可能になります。

           特殊な値-1が指定された場合、たとえビデオトラックが存在していてもサンプリング音の精度を
           使用します。

   ファイルの分割と紐付け、追加結合、連結(グローバルオプションの続き):
       --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 four different 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...は、durationで使用されるものと同じフォーマットで指定しなければ
               なりません(上記参照)。タイムコードのリストはコンマで区切られます。入力ストリームが
               現在の分割点に達すると次のファイルが作成され、このリストから次の分割点が使用されま
               す。

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

            4. Keeping specific parts by specifying timestamp ranges while discarding others.

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

               Examples:

                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...]]

               Examples:

                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'は
           ファイル名の末尾に追加されます。

       --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 ']'

       =
           通常mkvmergeは、入力ファイルと同じディレクトリにあり、同じ基底名を持ち、通し番号だけが
           異なるファイル(例:'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB' etc)を検索し、それ
           らのファイル全てを、まるで1つの大きなファイルへと連結されているかのように扱います。こ
           の'='一文字のオプションを使うと、mkvmergeはそういった追加ファイルを検索しません。

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

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

       ( 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タイプは添付ファイルに必須です。

       --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ファイルから添付ファイルを抽出することができます。

   各入力ファイルに指定できるオプション
       -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
           このファイルからグローバルタグを引き継ぎません。

       --chapter-charset 文字集合
           ソースファイルに含まれるチャプタ情報ををUTF-8に変換する際の文字コードを指定しま
           す。mkvmerge(1)の文字コード変換については、テキストファイルと文字コードのセクションを
           参照してください。

       --chapter-language language-code
           各チャプタエントリのISO 639-2言語コードを指定します。このオプションはソースファイルが
           チャプタは含みますが、チャプタの言語情報を含まない場合(例:MP4、OGMファイル)に使用され
           ます。

       -y, --sync TID:d[,o[/p]]
           トラックIDがTIDのトラックのタイムコードをdミリ秒だけ調整します。トラッ
           クIDは--identifyオプションで得られるものと同じです(トラックIDのセクションを参照してく
           ださい)。

           o/p: タイムスタンプをo/pの割合で調整し、リニアドリフトを修正します。pが省略された場
           合、デフォルトで1が使用されます。o及びpには小数を指定できます。

           デフォルト: マニュアル同期修正は行われません(d = 0 かつo = 1.0の場合と同じです)。

           このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することが
           できます。

       --cues TID:none|iframes|all
           指定されたトラックについて、どのトラックCUE(インデックス)エントリが作成されるのかを指
           定します(トラックIDのセクションを参照)。'none'はCUEエントリを作成しません。'iframesは
           前方参照及び後方参照を含まないブロック(ビデオトラックでは I frame)のみがCUEシートに挿
           入されます。'all'ではmkvmerge(1)は全てのブロックに対してCUEエントリを作成し、非常に大
           きなファイルを出力するでしょう。

           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 TID[:bool]
           省略可能な引数boolが指定されなかった場合、指定されたトラックに'デフォルト'フラグを付与
           します(トラックIDのセクションも参照)。ユーザが明示的にトラックを選択しなかった場合、プ
           レイヤーは'デフォルト'フラグの付いたトラックを優先的に再生します。各トラックの種
           類(オーディオ、ビデオ、字幕、ボタン)ごとに、一つだけのトラックにだけ'デフォルト'フラグ
           は付与できます。もし、デフォルトフラグをどのトラックにも付けたくない場合は、全てのト
           ラックでbool0にすれば可能です。

           このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することが
           できます。

       --forced-track TID[:bool]
           省略可能な引数boolが指定されなかった場合、指定されたトラックに'強制表示'フラグを付与し
           ます(トラックIDのセクションも参照。)プレーヤはこのフラグが1に設定されている全てのト
           ラックを再生しなければなりません。

           このオプションは異るトラック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.

       --nalu-size-length TID:n
           NALUサイズ長をnバイトに強制設定します。このパラメータはAVC/H.264エレメンタリストリーム
           パケタイザが使用される場合にのみ使用されます。何も指定しなかった時のデフォルト値は4バ
           イトですが、65535バイト以上のフレームやスライスが含まれていないファイルも存在しま
           す。そのようなファイルでは、このパラメータを使用してNALUサイズ長を2に減らすことができ
           ます。

       --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
           ビデオトラックのピクセルクロッピングのパラメータを指定した値に設定します。

       --colour-matrix 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

       --colour-bits-per-channel TID:n
           Sets the number of coded bits for a colour 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).

       --colour-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).

       --colour-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 colour 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)

       --colour-primaries TID:n
           Sets the colour 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-colour-coordinates TID:x,y
           Sets the white colour 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 format
           Determines the output format used by the --identify option. The following formats are
           supported: text (the default if this option isn't used) and json.

            1. The text format is short and human-readable. It consists of one line per item
               found (container, tracks, attachments etc.).

               This format is not meant to be parsed. The output will be translated into the
               language mkvmerge(1) uses (see also --ui-language).

            2. The json format outputs a machine-readable JSON representation. This format
               follows the JSON schema described in the following file:

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

               All versions of the JSON schema are available both online and in the released
               source code archives.

       --probe-range-percentage percentage
           File types such as MPEG program and transport streams (.vob, .m2ts) require parsing a
           certain amount of data in order to detect all tracks contained in the file. This
           amount is 0.3% of the source file's size or 10 MB, whichever is higher.

           If tracks are known to be present but not found then the percentage to probe can be
           changed with this option. The minimum of 10 MB is built-in and cannot be changed.

       -l, --list-types
           サポートされている入力ファイルの種類を列挙します。

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

       --priority priority
           mkvmerge(1)を実行する際のプロセス優先度を指定します。指定できるの
           は'lowest'、'lower'、'normal'、'higher'、及び'highest'です。指定されない場
           合、'normal'が使用されます。UNIX系のシステムでは、mkvmerge(1)はnice(2)関数を使用するの
           で、'higher'及び'highest'はスーパーユーザのみが使用可能です。Windowsでは全てのユーザが
           全優先度を使用可能です。

           Selecting 'lowest' also causes mkvmerge(1) to select idle I/O priority in addition to
           the lowest possible process priority.

       --command-line-charset 文字コード
           コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在のロケールの
           文字コードになります。この設定は--title--track-name、及び--attachment-descriptionの
           三つのオプションの引数に影響します。

       --output-charset 文字コード
           出力する文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードにな
           ります。

       -r, --redirect-output file-name
           全てのメッセージをコンソールではなくfile-nameで指定したファイルに書き出します。出力リ
           ダイレクトによっても同じことが簡単にできますが、このオプションが必要な場合もありま
           す。ターミナルがファイルに書き込む前に出力を処理してしまう場合などで
           す。--output-charsetによって指定された文字コードは尊重されます。

       --flush-on-close
           プログラムが、書き込み用に開かれたファイルを保存する際に、RAM上にある全データをスト
           レージに書き出すようにします。停電時のデータ損失を防いだり、OSやデバイスに固有の問題を
           避けるのに用います。欠点として、mkvmergeが終了する前に全データをストレージに書き出し終
           わるまで待機する為に、多重化に長い時間が掛かります。MKVToolNixバグ追跡システムの
           第2469号及び第2480号に長所・短所に関する詳細な議論があります。

       --ui-language コード
           指定したコード言語(例 日本語なら「ja_JP」)での翻訳を強制します。codeに「list」を指定
           すると、利用可能な翻訳の一覧を出力します。

       --abort-on-warnings
           最初の警告が発された後プログラムを停止するよう伝えます。プログラムの終了コードは1にな
           ります。

       --deterministic seed
           Enables the creation of byte-identical files if the same version of mkvmerge(1) is
           used with the same source files, the same set of options and the same seed. Note that
           the "date" segment information field is not written in this mode.

           The seed can be an arbitrary string and does not have to be a number.

           The result of byte-identical files is only guaranteed under the following conditions:

            1. The same version of mkvmerge(1) built with the same versions of libEBML and
               libMatroska is used.

            2. The source files used are byte-identical.

            3. The same command line options are used in the same order (with the notable
               exception of --output ...).

           Using other versions of mkvmerge(1) or other command-line options may result in the
           same byte-identical file but is not guaranteed to do so.

       --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オプションで取得できます。

           重要
           コマンドラインオプションの順番は重要です。もしあなたが初心者なら、"オプションの順番"セ
           クションを読んで下さい。

オプションの順番

       いくつかのオプションでは、入力する順番が重要になります。オプションは2つに分類されます:

        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 3 without-lang-codes.mkv --language 0:eng english.srt --default-track 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が幾つかあります。

       '-1'は特殊で、そのスイッチが入力ファイルから読み込まれる全てのトラックに適用されることを示
       します。

       The special track ID '-2' refers to the chapters in a source file. Currently only the
       --sync option uses this special ID. As an alternative to --sync -2:...  the option
       --chapter-sync ...  can be used.

テキストファイルと文字コード変換

           注記
           このセクションは、暗黙のうちに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.

           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.

           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 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"
           ]

字幕

       Matroskaに埋め込むことのできるテキスト及びビットマップ字幕フォーマットがいくつかありま
       す。テキスト字幕は、プレイヤーで正しく表示されるためにUTF-8で保存されなればなりませ
       ん(mkvmerge(1)の文字コード変換についてはテキストファイルと文字コードのセクションを参照して
       ください)。Kate字幕は既にUTF-8でエンコードされているので、再変換する必要はありません。

       現在、次の字幕フォーマットがサポートされています。

       •   SubRipテキスト字幕形式(SRT)ファイル

       •   Substation Alpha (SSA) / Advanced Substation (ASS) 字幕

       •   Universal Subtitle Format (USF)ファイル

       •   OggKateストリーム

       •   VobSubビットマップ字幕

       •   ブルーレイディスクで見られるようなPGSビットマップ字幕ファイル

ファイル紐付け

       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のチャプタ機能の全てをサポートしています。

   シンプルチャプタフォーマット
       このフォーマットは、'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)

   注意
       mkvmerge(1)は出力ファイルを分割する際、チャプタも適切に処理します。つまり、分割された各
       ファイルはそのファイルに関係するチャプタのみを含み、タイムコードには適切なオフセットがかか
       ります。

       mkvmerge(1)は、--no-chaptersオプションで明示的に無効化されていなければ、Matroskaソースファ
       イルからチャプタをコピーできます。全てのソース(Matroskaファイル、Oggファイル、MP4ファイ
       ル、チャプタテキストファイル)に由来するチャプタは通常はマージされ
       ず、別々のChapterEditionsが作成されます。いくつかのMatroskaもしくはXMLファイルで、エディ
       ションUIDが共有される場合にのみ、チャプタは一つのChapterEditionにマージされます。そのよう
       な場合以外でマージを行いたい場合は、ユーザはまず全てのソースからmkvextract(1)でチャプタを
       抽出し、手動でXMLファイルをマージした後にMUXを行なわなければなりません。

タグ

   はじめに
       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ではないこ
       とです。その代わりに、mkvmerge(1)は自動的に計算したUID(トラックがMatroska以外のファイル
       フォーマットから取り出される場合)か、トラックのソースファイルがMatroskaファイルの場合ソー
       スファイルからコピーされた数字が使用されます。よって、タグファイルが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)

セグメント情報XMLファイル

       With a segment info XML file it is possible to set certain values in the "segment
       information" header field of a Matroska file. All of these values cannot be set via other
       command line options.

       他の"segment information"ヘッダフィールドはコマンドラインオプション経由で設定できます
       が、XMLファイル経由では設定できません。 これはには例えば--title--timestamp-scale オプ
       ションなどが含まれます。

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

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

           Info (master)
             SegmentUID (binary, valid range: length in bytes == 16)
             SegmentFilename (UTF-8 string)
             PreviousSegmentUID (binary, valid range: length in bytes == 16)
             PreviousSegmentFilename (UTF-8 string)
             NextSegmentUID (binary, valid range: length in bytes == 16)
             NextSegmentFilename (UTF-8 string)
             SegmentFamily (binary, valid range: length in bytes == 16)
             ChapterTranslate (master)
               ChapterTranslateEditionUID (unsigned integer)
               ChapterTranslateCodec (unsigned integer)
               ChapterTranslateID (binary)

MATROSKAファイルのレイアウト

       Matroskaファイルのレイアウトは非常に柔軟性に富んでいます。mkvmerge(1)はあらかじめ定義され
       た方法でファイルを書き出します。出力されたファイルはこのようになります。

       [EBMLヘッダ] [セグメント {メタシーク #1} [セグメント情報] [トラック情報] {添付ファイル}
       {チャプタ} [クラスタ 1] {クラスタ 2} ... {クラスタ n} {CUE} {メタシーク #2} {タグ}]

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

       •   メタシーク #1は、少数のレベル1エレメント(添付ファイル、チャプタ、CUE、タグ、メタシーク
           #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
           http://www.matroska.org/

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

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

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

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

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

        7. MKVToolNixのホームページ
           https://mkvtoolnix.download/