マルチメディアストリームをMatroska(TM)ファイルに格納します。マルチメディアストリームをMatroska(TM)ファイルに格納します。[@optionsfile]説明このプログラムはいくつかのメディアファイルを入力とし、それらに格納されたストリームのうち全て、もしくは選択されたものをMatroska(TM)ファイルに書き込みます。m[blue]Matroska(TM)m[][1]のウェブサイトも参照してください。重要コマンドラインオプションの順番は重要です。あなたが初心者なら、"オプションの順番"セクションを読んで下さい。--quietステータス情報の出力を抑制します。file-namefile-nameで指定したファイルに書き込みます。ファイル分割が有効な場合このオプションは若干解釈が違います。詳細は--splitオプションの説明を参照してください。title出力ファイル全体のタイトルを指定します(例:映画のタイトルなど)。filename.xmlXMLファイルからセグメント情報を読み取ります。このファイルは、セグメントファミリUID、セグメントUID、前、及び、後セグメントUIDエレメントを含むことができます。MKVToolNixは、サンプルファイルとDTDを含んで配布されています。詳細は、下にあるセグメント情報XMLファイルのセクションを参照してください。SID1,SID2,...使用するセグメントUIDを設定します。これはコンマで区切られた、通常のUID形式("0x"を前置する、またはしない、空白を含む、または含まない、ちょうど32桁の16進数)128ビットセグメントUIDのリストです。used.作成される各ファイルは一つのセグメントを含み、そして各セグメントは一つのセグメントUIDを持ちます。作成されたセグメントよりも多数のセグメントUIDが指定された場合、余ったセグメントUIDは無視されます。指定されたセグメントUIDよりも多数のセグメントが作成された場合は、ランダムなUIDが作成されて使用されます。language-code各チャプタのエントリに書き込むISO639-2言語コードを指定します。デフォルトは'eng'です。詳細はチャプタのセクションを参照してください。このオプションはシンプルチャプタファイルを読み込んだ場合、そしてソースファイルがチャプタを含むがチャプタの言語情報を含まなかった場合(例:MP4,OGMファイル)に適用されます。character-setシンプルチャプタファイルをUTF-8に変換する際の文字コードを指定します。mkvmerge(1)の文字コード変換については、テキストファイルと文字コードのセクションを参照してください。このスイッチはチャプタがOgg,OGMファイルなどのコンテナからコピーされる際にも適用されます。詳細については後述のチャプタについてのセクションを参照してください。formatmkvmerge(1)は音声ファイル向けのCUEシートからチャプタ情報を読み込むことができます。CUEシートには通常PERFORMERエントリ及びTITLEエントリが各インデックスエントリに存在します。mkvmerge(1)はこれら二つの文字列をチャプタの名前を生成するのに使用します。このフォーマットをこのオプションで指定することができます。%t'というフォーマットが使用されます。フォーマットが指定された場合、下のメタ文字以外はそのままコピーされ、メタ文字は以下のように置換されます。%pはそのエントリのPERFORMER文字列で置換されます。%tはそのエントリのTITLE文字列で置換されます。%nはそのエントリのトラック番号で置換されます。%Nは、そのエントリのトラック番号が10未満の場合0を前置して二桁にした数字で置換されます。file-nameチャプタ情報をfile-nameで指定したファイルから読み込みます。詳細はチャプタのセクションを参照してください。file-namefile-nameで指定したファイルからグローバルタグを読み込みます。詳細はタグのセクションを参照してください。FID1:TID1,FID2:TID2,...このオプションは入力されたトラックが配置される順序を変更します。オプション引数はコンマで区切られるIDペアのリストです。各ペアは最初を0としてコマンドラインの何番目に指定したファイルであるかを示すファイルID(FID1)と、そのファイルの中の何番目のトラックかを示すトラックID(TID1)からなります。ここで指定されなかったトラックは、指定されたトラックの後に配置されます。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(TM)ファイルレイアウトのセクションも参照してください。--disable-lacing全てのトラックで複数のフレームを1つのブロックにまとめません。これは特に多数のオーディオトラックがある場合に、ファイルサイズを増大させます。テスト目的でのみ使用してください。--enable-durations全てのブロックの長さを記録します。これはファイルサイズを増大させますが、現在のところプレーヤには何のメリットももたらしません。factorタイムコードスケールの係数をfactorに強制設定します。この値は1000~10000000、もしくは-1に設定しなければなりません。通常mkvmerge(1)は1000000を使用します。これはタイムコードとフレーム持続期間が1ミリ秒単位の精度を持つことを意味します。ビデオトラックを含まず、1つ以上のオーディオトラックを含むファイルでは、mkvmerge(1)は全てのタイムコードとフレーム持続時間がサンプリング音1つ分の精度を持つようタイムコードスケールの係数を自動的に選択します。これによってオーバーヘッドは大きくなりますが、正確なシークと展開が可能になります。特殊な値-1が指定された場合、たとえビデオトラックが存在していてもサンプリング音の精度を使用します。specification出力ファイルを指定したサイズ、又は時間で分割します。トラックはキーフレームの直後でしか分割できないことに注意してください。mkvmerge(1)はバッファリングを行うため、ファイルは分割すべき点の次にくるキーフレームの直前で分割されます。よって、分割点はユーザが指定した点よりも若干後ろになります。指定サイズで分割します。150000000パラメータdの後ろには'k'・'m'・'g'を付けて、単位がそれぞれKB・MB・GBであることを示すことができます。付けない場合はバイト単位になります。出力中のファイルがこの上限に達したら、次の新しいファイルへの出力が開始されます。'size:'という接頭辞は、互換性のために省略できるようになっています。指定時間で分割します。3600sパラメータはHH:MM:SS.nnnnnnnnnという形式でナノ秒精度で長さを指定するか、数字dのあとに's'と書いて秒数で長さを指定しなければなりません。HHは時間、MMは分、SSは秒数でnnnnnnnnnナノ秒を示します。時間及びナノ秒は省略できます。小数点の後ろには9桁までの数字を指定できます。指定した長さだけ出力されたら、次のファイルへの出力が開始されます。'duration:'という接頭辞は、互換性のために省略できるようになっています。指定した各タイムコードで分割します。timecodes:00:45:00.000,01:20:00.250,6300sパラメータA、B、C...は、durationで使用されるものと同じフォーマットで指定しなければなりません(上記参照)。タイムコードのリストはコンマで区切られます。入力ストリームが現在の分割点に達すると次のファイルが作成され、このリストから次の分割点が使用されます。'timecodes:'という接頭辞は、互換性のために省略できるようになっています。entries.この分割モードでは、出力ファイル名は通常の操作とは異なる扱いを受けます。このモードでは出力ファイル名はprintfのように'%d'というパターンを含むことができます。'%02d'のように幅指定を追加することもできます。出力ファイル名がこのパターンを含む場合、ファイル番号が適切なフォーマットで指定された位置に挿入されます。output.mkv'を指定した場合、'output-001.mkv'等のファイル名に出力されます。拡張子が存在しない場合、'-%03d'はファイル名の末尾に追加されます。--link分割された出力ファイルを相互に紐付けします。詳細はファイル紐付けのセクションを参照してください。segment-UID最初の出力ファイルをsegment-UIDで指定したセグメントUIDに紐付けします。詳細はファイル紐付けのセクションを参照してください。segment-UID最後の出力ファイルをsegment-UIDで指定したセグメントUIDに紐付けします。詳細はファイル紐付けのセクションを参照してください。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'が指定されたかのように処理されます。SFID1:STID1:DFID1:DTID1[,...]このオプションは、どのトラックがどのトラックに追加されるのかを制御します。ファイルID、トラックID、追加するファイルID、追加するトラックIDの4つのIDで一組の指定を構成します。最初のファイルIDとトラックIDの組み合わせは、追加される対象のトラックを指定します。次のファイルIDとトラックIDは、そのトラックに追加されるトラックを指定します。このオプションが指定されない場合、標準のマッピングが使用されます。この場合、前のファイルのトラックに、現在のファイルのトラックIDが同じであるトラックが追加されます。+part2.mkvのようにして簡単に結合することができます。+'+'一文字を指定すると、次に指定されたファイルは追加ではなく結合されます。'+'は次のファイル名の直前に置くこともできます。よって、次の2つのコマンドは等価です。etc)を検索し、それらのファイル全てを、まるで1つの大きなファイルへと連結されているかのように扱います。この'='一文字のオプションを使うと、mkvmergeはそういった追加ファイルを検索しません。'='は次のファイル名の直前に置くこともできます。よって、次の2つのコマンドは等価です。)複数のファイル名が括弧の中に含まれている場合、それらのファイルは、各ファイルの内容によって順々に構成される1つの大きなファイルへと連結されているかのように扱われます。これは、例えばDVDのVOBファイルやMPEGトランスポートストリーム等のために使用することができます。通常AVIやMP4のようなスタンドアローンのファイルの場合ですが、各ファイルが自身のヘッダを一通り含んでいる場合には使用することができません。ファイル名を括弧で括るのは、オプション=で説明されているように同じ基底名を持つファイルをmkvmerge(1)に検索させない効果もあります。開く括弧の後と閉じる括弧の前の両方に空白が必要です。括弧内の全てのパラメータはファイル名として解釈されます。よって、この論理上のファイルに適用される全てのオプションは、開く括弧の前に記述する必要があります。括弧を特殊文字として扱うシェルもあります。よって、上の例で示されているように括弧をエスケープするかクォーテーションで囲む必要があります。description次の添付ファイルを説明するプレーンテキストを指定します。次の--attach-fileオプション又は--attach-file-onceオプションで指定した添付ファイルに適用されます。type次の添付ファイルのMIMEタイプを指定します。--attach-file及び--attach-file-onceオプションに適用されます。公式に認知されているMIMEタイプは例えばm[blue]IANAのホームページm[][2]に掲載されています。MIMEタイプは添付ファイルに必須です。nameこの添付ファイルの、出力ファイル内での名前を指定します。このオプションが指定されなかった場合、--attach-fileまたは--attach-file-onceで指定されたファイル名がそのまま使用されます。file-nameMatroska(TM)ファイルの内部に添付ファイルを作成します。これらのオプションを使用するには、MIMEタイプをこれらのオプションより前に指定しなければなりません。二つのオプションの違いは、出力ファイルを分割する際に、--attach-fileでは全ての出力ファイルに添付されますが、--attach-file-onceでは最初に作成されたファイルにしか添付されない点です。分割が使用されない場合、2つは等価です。mkvextract(1)でMatroska(TM)ファイルから添付ファイルを抽出することができます。[!]n,m,...オーディオトラックn、m...をコピーします。番号は--identifyオプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(トラックIDのセクションを参照してください)。全てのオーディオトラックをコピーします。[!]n,m,...ビデオトラックn、m...をコピーします。数字は--identifyオプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(トラックIDのセクションを参照してください)。全てのビデオトラックをコピーします。[!]n,m,...字幕トラックn、m...をコピーします。番号は--identifyオプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(トラックIDのセクションを参照してください)。全ての字幕トラックをコピーします。[!]n,m,...ボタントラックn、m...をコピーします。番号は--identifyオプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(トラックIDのセクションを参照してください)。全てのボタントラックをコピーします。[!]n,m,...トラックn、m...のタグをコピーします。番号は--identifyオプションで得られるトラックIDです。これは単純にトラック番号を示すものではありません(トラックIDのセクションを参照してください)。全てのトラックのタグをコピーします。IDにプレフィックス!がついていた場合は、意味が逆になります:!の後に列挙されたIDを除く全てをコピーします。[!]n[:all|first],m[:all|first],...IDがn、m...の添付ファイルを全ての、または最初の出力ファイルにコピーします。各IDの後ろには、':all'(デフォルト)又は':first'を指定することができます。出力ファイル分割が有効の場合、':all'をつけたIDの添付ファイルは全ての出力ファイルにコピーされ、':first'をつけた場合は最初の出力ファイルにのみコピーされます。分割が有効でない場合は二つは同等です。デフォルトでは、全ての添付ファイルが全ての出力ファイルにコピーされます。IDにプレフィックス!がついていた場合は、意味が逆になります:!の後に列挙されたIDを除く全てをコピーします。--no-audioこのファイルからオーディオトラックをコピーしません。--no-videoこのファイルからビデオトラックをコピーしません。--no-subtitlesこのファイルから字幕トラックをコピーしません。--no-buttonsこのファイルからボタントラックをコピーしません。--no-track-tagsこのファイルからオーディオトラックをコピーしません。--no-chaptersこのファイルからチャプタをコピーしません。--no-attachmentsこのファイルから添付ファイルをコピーしません。--no-global-tagsこのファイルからグローバルタグを引き継ぎません。character-setソースファイルに含まれるチャプタ情報ををUTF-8に変換する際の文字コードを指定します。mkvmerge(1)の文字コード変換については、テキストファイルと文字コードのセクションを参照してください。language-code各チャプタエントリのISO639-2言語コードを指定します。このオプションはソースファイルがチャプタは含みますが、チャプタの言語情報を含まない場合(例:MP4、OGMファイル)に使用されます。TID:d[,o[/p]]トラックIDがTIDのトラックのタイムコードをdミリ秒だけ調整します。トラックIDは--identifyオプションで得られるものと同じです(トラックIDのセクションを参照してください)。タイムスタンプをo/pの割合で調整し、リニアドリフトを修正します。pが省略された場合、デフォルトで1が使用されます。o及びpには小数を指定できます。1.0の場合と同じです)。このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することができます。TID:none|iframes|all指定されたトラックについて、どのトラックCUE(インデックス)エントリが作成されるのかを指定します(トラックIDのセクションを参照)。'none'はCUEエントリを作成しません。frame)のみがCUEシートに挿入されます。'all'ではmkvmerge(1)は全てのブロックに対してCUEエントリを作成し、非常に大きなファイルを出力するでしょう。デフォルトはビデオトラックは'iframesで、その他のトラックは'none'です。--cuesが使用されているかどうかに関わらずCUEエントリの作成を抑制する、--no-cuesオプションも参照してください。このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することができます。TID[:bool]省略可能な引数boolが指定されなかった場合、指定されたトラックに'デフォルト'フラグを付与します(トラックIDのセクションも参照)。ユーザが明示的にトラックを選択しなかった場合、プレイヤーは'デフォルト'フラグの付いたトラックを優先的に再生します。各トラックの種類(オーディオ、ビデオ、字幕、ボタン)ごとに、一つだけのトラックにだけ'デフォルト'フラグは付与できます。デフォルトフラグをどのトラックにも付けたくない場合は、全てのトラックでboolを0にすれば可能です。このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することができます。TID[:bool]省略可能な引数boolが指定されなかった場合、指定されたトラックに'強制表示'フラグを付与します(トラックIDのセクションも参照。)プレーヤはこのフラグが1に設定されている全てのトラックを再生しなければなりません。このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することができます。TID:level指定したトラックで、レベルlevelまでのBlockAdditionを保持します。デフォルトでは全て保持します。このオプションはWAVPACK4などの特定のコーデックにのみ有効です。TID:name指定したトラックのトラック名をnameにします(トラックIDのセクションも参照)。TID:language指定したトラックの言語を設定します(トラックIDのセクションも参照)。国別コードが使用できます。国別コードは言語コードへ自動的に変換されます。含まれる全てのコードは--list-languagesオプションで一覧できます。このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することができます。TID:file-namefile-nameで指定したファイルからグローバルタグを読み込みます。詳細はタグのセクションを参照してください。(別名HE-AAC又はAAC+)であることを教えます。AACデータを含む場合に必要です。AACファイルを自動的に区別することは、AACフレームを完全にデコードしなければ技術的に不可能であるためです。AACはいくつかの特許問題を抱えているため、mkvmerge(1)は将来的にもこのデコードステージを含むことはありません。AACにはこのスイッチが必須となります。このスイッチが指定されなかった場合、出力ファイルは正常に再生ができなくなるか、完全に再生不能になるでしょう。AACを検知できます。CodecIDが不正な場合、このスイッチで修正することができます。mkvmergeがAACファイルを間違ってSBRと認識してしまった場合、トラックIDに':0'を指定できます。data.もし、mkvmergeがAACファイルを間違ってSBRと認識してしまった場合、トラックIDに':0'を指定できます。TID:file-name指定したトラックIDのタイムコードを、file-nameから読み込みます。これらのタイムコードはmkvmerge(1)が通常計算するタイムコードを強制的に上書きします。外部タイムコードファイルのセクションを参照してください。合うように変更されます。引数xは's'、'ms'、'us'、'ns'、'fps'、p'。'iのうちどれか一つを後置されていなければなりません。は秒、ミリ秒、マイクロ秒、ナノ秒、'fps'、1秒あたりのプログレッシブフレーム、1秒あたりのインターレスのフレーム数単位で指定されます。xは小数または分数で指定できます。デフォルトのフレーム持続時間が指定されなかった場合は、mkvmergeはそのトラックのデフォルトのフレーム持続時間を、コンテナと、AVC/h.264やMPEG-2のような特定のトラックタイプの場合はエンコードされたビットストリームから取得しようと試みます。このオプションは、外部タイムコードファイルを使用せずにビデオトラックのFPSを変更するのにも使えます。TID:nNALUサイズ長をnバイトに強制設定します。このパラメータはAVC/h.264エレメンタリストリームパケタイザが使用される場合にのみ使用されます。何も指定しなかった時のデフォルト値は4バイトですが、65535バイト以上のフレームやスライスが含まれていないファイルも存在します。そのようなファイルでは、このパラメータを使用してNALUサイズ長を2に減らすことができます。TID:nトラックの圧縮法を選択します。プレイヤーが選択した圧縮法をサポートしている必要があることに注意してください。指定できる圧縮法は、'none'、'zlib'、'lzo'/'lxo1x'、'bz2'/'bzlib'及び'mpeg4_p2'/'mpeg4p2'です。'lzo'/'lxo1x'と'bz2'/'bzlib'はmkvmerge(1)がそれぞれ、liblzo(TM)及びbzlib(TM)圧縮ライブラリのサポート付きでコンパイルされたときのみ使用できます。removal'と呼ばれる特殊な圧縮法です。いくつかの字幕トラックにおけるデフォルトは'zlib'圧縮法です。この圧縮法はほとんど全ての再生アプリケーションでサポートされています。'none'以外の他の圧縮法については、サポートされているとは限りません。TID:FourCCFourCCを指定した値に強制設定します。ビデオトラックが'MS互換モード'である場合にのみ有効です。TID:widthxheightMatroska(TM)ファイルは再生時の画像スケールを決定するための二つの値を持ちます。表示幅と表示高さです。これらの値をこのオプションで、例えば'1:640x480'のように指定できます。これらの値を設定する別の方法として、--aspect-ratio又は--aspect-ratio-factorオプションが使用できます(下記参照)。これらのオプションは互いに排他的です。TID:ratio|width/heightMatroska(TM)ファイルは再生時の画像スケールを決定するための二つの値を持ちます。表示幅と表示高さです。これらの値をこのオプションで、例えば'1:640x480'のように指定できます。このオプションを指定すると、mkvmerge(1)は自動的に表示幅及び表示高さを、画像の元の幅と高さ、そして指定されたアスペクト比から自動的に計算します。'16/9')の形式で指定できます。これらの値を設定する別の方法として、--aspect-ratio-factor又は--display-dimensionsオプションが使用できます(上記及び下記参照)。これらのオプションは互いに排他的です。TID:factor|n/dアスペクト比を設定するもうひとつの方法は、元のアスペクト比からの係数を指定する方法です。元のアスペクト比に、factorを乗じたものが新しいアスペクト比として使用されます。これらの値を設定する別の方法として、--aspect-ratio又は--display-dimensionsオプションが使用できます(上記参照)。これらのオプションは互いに排他的です。TID:left,top,right,bottomビデオトラックのピクセルクロッピングのパラメータを指定した値に設定します。TID:n|keywordトラックIDがTIDのビデオトラックのステレオモードを設定します。TID:character-set指定したIDの示すトラックのUTF-8字幕をUTF-8へ変換する際の文字コードを指定します。デフォルトでは、現在のロケールの設定が使用されます。mkvmerge(1)の文字コード変換については、テキストファイルと文字コードのセクションを参照してください。このオプションは異るトラックIDを指定することで複数の入力トラックに対して使用することができます。file-namemkvmerge(1)に、単一のファイルを探査してその種類と、ファイルに含まれるトラック及びそのトラックIDを表示させます。このオプションを指定した場合、他に指定できるのはファイル名のみです。colon.各値は、テキスト中の特殊文字のエスケープについてのセクションで説明されているルールに従ってエスケープされます。--list-typesサポートされている入力ファイルの種類を列挙します。--list-languages--languageオプションに指定できる、ISO639-2言語コードの一覧を出力します。prioritymkvmerge(1)を実行する際のプロセス優先度を指定します。指定できるのは'lowest'、'lower'、'normal'、'higher'、及び'highest'です。指定されない場合、'normal'が使用されます。UNIX系のシステムでは、mkvmerge(1)はnice(2)関数を使用するので、'higher'及び'highest'はスーパーユーザのみが使用可能です。Windowsでは全てのユーザが全優先度を使用可能です。character-setコマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。この設定は--title、--track-name、及び--attachment-descriptionの三つのオプションの引数に影響します。character-set出力する文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。file-name全てのメッセージをコンソールではなくfile-nameで指定したファイルに書き出します。出力リダイレクトによっても同じことが簡単にできますが、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に出力を処理してしまう場合などです。--output-charsetによって指定された文字コードは尊重されます。topic特定の機能のデバッグをオンにします。このオプションは開発者にのみ有用です。feature実験的機能をオンにします。listで得られます。これらの機能は通常の状況で使用されることは意図されていません。English.@options-fileファイルoptions-fileから追加のコマンドライン引数を読み込みます。詳細はオプションファイルのセクションを参照してください。--capabilitiesコンパイル時に組込まれたオプション機能を一覧表示して終了します。出力の一行目はバージョン情報になります。以降の全ての行は、その機能がコンパイルされていることを示す一単語のみを含みます。オプション機能の一覧を下に示します。bzlib(TM)圧縮ライブラリ。--compressionオプションに指定できる圧縮メソッドに影響します。lzo(TM)圧縮ライブラリ。--compressionオプションに指定できる圧縮メソッドに影響します。Ogg(TM)、Matroska(TM)など)に格納されたFLACトラックの処理。--helpコマンド書式情報を出力して終了します。--versionバージョン情報を出力して終了します。download_url).その後プログラムは、新しいリリースが入手可能ではなかった場合は終了コード0で、新しいリリースが入手可能であった場合は終了コード1で、エラーが発生した場合(例:アップデート情報を取得できなかった場合)は終了コード2で、それぞれ終了します。このオプションは、プログラムがlibcurlのサポートつきでビルドされた場合のみ使用できます。各ファイルについて、ユーザはmkvmerge(1)が取り出すべきトラックを選択できます。取り出されたトラックは、すべて-oで指定されたファイルに書き出されます。既知の(サポート済の)入力ファイルフォーマットは-lオプションで取得できます。重要コマンドラインオプションの順番は重要です。あなたが初心者なら、"オプションの順番"セクションを読んで下さい。オプションの順番いくつかのオプションでは、入力する順番が重要になります。プログラム全体に影響し、どの入力ファイルにも関連付けられていないオプション。--command-line-charset、--output、--titleなどです。これらのオプションは、コマンドラインのどこに書いても構いません。1つの入力ファイルのみ、もしくは入力ファイル中の1つのトラックのみに影響するオプション。これらのオプションは全て、コマンドラインでその後ろに続く入力ファイルに適用されます。同じ入力ファイル(または同じ入力ファイル中のトラック)に適用される全てのオプションは、その入力ファイルのファイル名の前に書きさえすれば、どんな順番でも構いません。1つの入力ファイルに適用されるオプションの例を挙げると、--no-chaptersや--chapter-charsetなどがあります。1つのトラックのみに適用されるオプションには、例えば--default-durationや--languageがあります。オプションは左から右へと処理されます。同じスコープ内に1つのオプションが2回以上出てきた場合には、最後のものが使われます。else"に設定されます。else'次の例は、違うスコープ内で使われているので--languageオプションを2回使ってもよいということを示しています。それらは同じトラックIDに適用されますが、違う入力ファイルに適用されるので違うスコープを持っているのです。'MyMovie.wav'というファイルに入っているとします。あなたは、まず音声をOggVorbis(TM)でエンコードしたいと思います。MyMovie.wav数分後、ビデオとオーディオを結合できます。MyMovie.oggAVIファイルが既にオーディオトラックを持っていた場合(そしてそのフォーマットをmkvmerge(1)がサポートしていた場合)、そのトラックもコピーされます。これを避けるには、下のようにしてください。MyMovie.oggちょっと考えて、あなたはもうひとつのオーディオトラック(例えばオーディオコメンタリや吹替えなど)を'MyMovie-add-audio.wavにリッピングしました。エンコードして、新しいファイルにまとめます。MyMovie-add-audio.ogg同じことは、次のようにしても可能です。MyMovie-add-audio.oggあとはmplayer(TM)を立ち上げて動画を楽しむだけです。複数のオーディオトラック(もしかするとビデオトラックも)がある場合は、再生するトラックを'-vid'と'-aid'オプションでmplayer(TM)に指定できます。ゼロベースで、ビデオとオーディオの区別をしないIDを指定します。オーディオトラックの同期をとる必要がある場合も、簡単にとることができます。次のようにしてVorbisトラックのトラックIDを取得します。outofsync.ogg次に、このIDを使って、次のようなコマンドラインを実行します。オーディオトラックの最初に200msの無音を挿入します。最初は同期がとれているのにだんだんとずれていく動画もあります。このような動画には、全てのタイムコードに適用される遅れ係数を指定することができます。データは追加も削除もされないので、あまり大きな、またはあまりに小さな係数を指定するとまずい結果になるでしょう。例として、私が変換したある動画は、全長が77340フレームで、最終的に0.2秒ずれていました。29.97fpsでは、0.2は約6フレームに相当します。よって、私は次のようなコマンドを実行しました。outofsync.mkv結果は良好でした。同期オプションは字幕にも同様に使用できます。テキスト字幕を生成するには、SubRipper(TM)のようなWindowsソフトウェアを使用するか、transcode(1)のソースコードの、contrib/subrip'ディレクトリの中にあるsubrip(TM)パッケージが使用できます。一般的なプロセスは以下の通りです。mymovie.srtもし、あるトラックに言語コードを指定したいならば、簡単に指定できます。指定する言語のISO639-2コードを調べます。次のようにすればmkvmerge(1)に全ての言語コードを一覧表示させることができます。--list-languages必要な言語をリストの中から探してください。Matroska(TM)ファイルの中に、二つのオーディオトラックがあり、トラックIDは2と3だとします。この二つに言語コードを指定するには、次のようにします。without-lang-codes.mkvこのように、--languageスイッチを複数回使うことができます。プレイヤーにデフォルトでオランダ語を再生させたいときもあるでしょう。英語とフランス語の字幕があって、フランス語をデフォルトで再生させたいと仮定します。これは、次のようにすれば可能です。french.srtもし、指定したはずの言語やデフォルトフラグがmkvinfo(1)の出力に見当たらない場合は、デフォルト値のセクションを参照してください。入力ファイルの圧縮をオフにします。mymovie.srtトラックIDmkvmerge(1)のオプションの中には、どのトラックに適用するかを特定するために、トラックIDを指定する必要なものがあります。このトラックIDは、入力ファイルがdemuxされる際に表示されるほか、mkvmerge(1)に--identifyオプションを指定して表示させることもできます。この場合の出力は次のようになります。(A_MPEG/L3)出力されるMKVファイルの中に配置されるトラックに割り当てられるトラックIDと、入力ファイルのトラックIDを混同しないでください。これらの値が必要なオプションに使われるのは、入力ファイルのトラックIDだけです。各入力ファイルは、それ固有のトラックIDの組を持っていることにも注意してください。--identify'で報告される'file1.ext'のトラックIDは、他にいくつ入力ファイルがあっても、また、'file1.ext'がどの位置で使われようとも、変わることはありません。ビデオトラックのIDは0になります。オーディオトラックのIDは1から昇順に割り当てられます。その他の殆どのファイル:トラックIDは、トラックがファイル中で見つかった順番に0から割り当てられます。'-1'は特殊で、そのスイッチが入力ファイルから読み込まれる全てのトラックに適用されることを示します。トラックIDを使用するオプションの説明には、'TID'が含まれています。--audio-tracks、--video-tracks、--subtitle-tracks、--button-tracks及び--track-tagsオプションもトラックIDを使用します。注記このセクションは、暗黙のうちにmkvmerge(1)だけでなくMKVToolNixの全てのプログラムにあてはまります。はじめにMatroska(TM)ファイルに格納されているテキストの文字コードは全てUTF-8です。よって、mkvmerge(1)がテキストファイルを読み込む際には全てをUTF-8に文字コード変換する必要があります。代わりに、mkvmerge(1)が例えば--ui-languageによって非英語翻訳が使用される際や、Matroska(TM)ファイルに格納されていたテキストを出力する際には、UTF-8から指定された文字コードに変換すればよいということになります。mkvmerge(1)はこの変換をバイト・オーダー・マーク(BOM)の有無、又はシステムのロケールに基づいて自動的に行ないます。ロケールからどのように文字コードが推測されるかは、mkvmerge(1)を実行するシステムに依存します。(BOM)BOMで始まるテキストファイルは、既にUTFエンコーディングの一種でエンコードされています。mkvmerge(1)はUTF-8、UTF-16リトルエンディアン及びビッグエンディアン、UTF-32リトルエンディアン及びビッグエンディアンの五つのモードをサポートします。BOMで始まるテキストファイルは自動的にUTF-8に変換されます。--sub-charset)は全て黙殺されます。OSUNIX系システム上では、mkvmerge(1)はsetlocale(3)システムコールを使うので、LANG、LC_ALL及びLC_CYPE環境変数を使用します。UTF-8かISO-8859-*ファミリのどれかが全てのテキストファイルとコマンドライン文字列の処理、及びコンソールへの出力の文字コードとして使用されます。options次のような文字コードを指定するオプションがあります。Oggファイル)の文字コードを指定します。Oggファイルのチャプタ情報、トラックとファイルのタイトル等、及びMP4ファイルのチャプタ情報)の文字コードを指定します。--command-line-charsetは全てのコマンドライン文字列の文字コードを指定します。info.txt.オプションファイル:オプションファイルとは、mkvmerge(1)が追加のコマンドラインの引数をそれから読み込むことができるものです。これは、コマンドラインの長さ制限等の、外部プログラムを実行する際のシェルやオペレーティングシステムの特定の制限を回避するために使用することができます。オプションファイルに関していくつか規則があります。行で最初の空白文字でない文字がハッシュマーク('#')である行はコメントとして扱われ、無視されます。行頭、及び行末の空白文字は取り除かれます。各行には一つずつしかオプションを指定できません。何も書かれていない行も無視されます。空の引数は、'#EMPTY#'という行によって表すことができます。エスケープすることのできる文字もあります。コメントではない行を'#'で始める必要のある場合です。そのルールは、エスケープ文字についてのセクションで説明されています。バックスラッシュ(Windows上の日本語フォントでは\記号)は、必ずエスケープされなければなりません。ハッシュマーク(#)は、それがコメントの始まりでなければエスケープされなければなりません。sound.ogg'というコマンドラインと同じことは、次のようなオプションファイルによって指定できます。タイトルを'#65'に設定する。ビデオトラックのみを取り出す。テキスト中の特殊文字をエスケープする特殊文字をエスケープしなければならない、あるいはすべき場所が少しだけあります。エスケープのルールは単純です:エスケープする必要のある各文字を、バックスラッシュ(Windows上の日本語フォントでは\記号)の後ろに違う文字が1つついたものと入れ替えます。'\\'.字幕Matroska(TM)に埋め込むことのできるテキスト及びビットマップ字幕フォーマットがいくつかあります。テキスト字幕は、プレイヤーで正しく表示されるためにUTF-8で保存されなればなりません(mkvmerge(1)の文字コード変換についてはテキストファイルと文字コードのセクションを参照してください)。Kate字幕は既にUTF-8でエンコードされているので、再変換する必要はありません。現在、次の字幕フォーマットがサポートされています。ブルーレイディスクで見られるようなPGSビットマップ字幕ファイルファイル紐付けMatroska(TM)はファイル紐付けをサポートします。ファイル紐付けとは、単純に現在のファイルの前の、又は次のファイルを指定する機能です。正確に言うと、本当に紐付けされるのはファイルではなくMatroska(TM)セグメントです。ほとんどのファイルはMatroska(TM)セグメントを一つしか持たないので、以降の説明ではより正確な'セグメント紐付け'という用語ではなく、'ファイル紐付け'という用語を使用します。各セグメントはユニークな128bit幅のセグメントUIDを持ちます。このUIDはmkvmerge(1)が自動的に生成します。紐付けは基本的にセグメントUID(略してSID)をヘッダ情報の中に挿入することで行われます。mkvinfo(1)はこのSIDを、存在する場合は表示します。ひとつのファイルがいくつかの小さなファイルに分割されて紐付けされる場合、タイムコードは0から始まらず、前のファイルの続きから始まります。ストリーミングを使用している際)。紐付けが使用されない場合、タイムコードは各ファイルで0から始まります。デフォルトではmkvmerge(1)はファイル紐付けを使用しません。ファイル紐付けを使用したい場合は、--linkオプションを使用する必要があります。このオプションはファイル分割が有効な場合以外には無効です。ファイル分割が有効か無効かに関わらず、ユーザはmkvmerge(1)に、生成したファイルを特定のSIDに紐付けすることができます。これは--link-to-previousオプションと--link-to-nextオプションにより可能です。短い形式('0x'及び数字の間のスペースを省いた0x00から0xffまでの16進数の数字)を指定することもできます。'41da7366d9cfb21eae78ebb45ecab393'もしファイル分割が有効の場合、最初のファイルが--link-to-previousオプションで指定したSIDに紐付けされ、最後のファイルが--link-to-nextオプションで指定したSIDに紐付けされます。ファイル分割が無効の場合、一つの出力ファイルが両方のSIDに紐付けされます。デフォルト値Matroska(TM)ファイルの仕様には、デフォルト値を持つエレメントの存在が明記されています。通常、デフォルト値と等しい値をもつエレメントはファイルサイズを抑えるためファイルに書き込まれません。mkvinfo(1)では表示されないかもしれないエレメントは、言語とデフォルトトラックフラグエレメントです。言語エレメントのデフォルト値は英語('eng')で、デフォルトトラックフラグエレメントのデフォルト値はtrueです。0:engを指定した場合には、mkvinfo(1)の出力には現れません。添付ファイルMatroska(TM)ファイルに写真を入れておきたいということや、非常に稀でしょうがSSA字幕を使っていてTrueType(TM)フォントを使用したいということがあるかもしれません。このような場合には、Matroska(TM)ファイルにファイルを添付することができます。添付されるファイルはMatroska(TM)ファイルにただ単純に追加されるのではなく、埋め込まれます。よって、プレイヤーはこれらのファイルを表示したり(写真の場合)、字幕を描画するのに使用したり(フォントの場合)できます。下に、出力ファイルに写真とTrueType(TM)フォントを添付する方法の例を示します。really_cool_font.ttf添付ファイルつきのMatroska(TM)ファイルが入力ファイルとして使われた場合、mkvmerge(1)はその添付ファイルを新しいファイルにコピーします。添付ファイルのコピーの有無は、--attachments及び--no-attachmentsオプションを使って切り替えることができます。チャプタMatroska(TM)チャプタシステムは、OGMファイルで使用されていた従来のシステムより強力です。その仕様の全ては、m[blue]Matroska(TM)のウェブサイトm[][4]に記されています。mkvmerge(1)は2種類のチャプタファイルを入力としてサポートしています。toolsが想定しているものと同じフォーマットです。二つ目はXMLベースのチャプタフォーマットで、Matroska(TM)のチャプタ機能の全てをサポートしています。シンプルチャプタフォーマットこのフォーマットは、'CHAPTERxx='で始まる行と'ChapterxxNAME='で始まる行のペアから成ります。前者の行は開始タイムコードを含み、後者はタイトルを含みます。housemkvmerge(1)は各ペア、もしくは行を、一個のMatroska(TM)ChapterAtomに変換します。ChapterTrackNumberは設定しないので、全てのトラックにチャプタは適用されます。このときにテキストファイルの文字コードが必要になります。mkvmerge(1)の文字コード変換についてはテキストファイルと文字コードのセクションを参照してください。XMLチャプタフォーマットXMLチャプタフォーマットの例を以下に示します。</EditionEntry></Chapters>このフォーマットでは、シンプルチャプタフォーマットでは不可能な、3つのことが可能です。チャプタの終了タイムコードを指定できます。ネストしたチャプタを作成できます。言語及び国を設定できます。mkvtoolnixは、テンプレートとなるサンプルファイルと一緒に配布されています。サンプルファイルはdocサブディレクトリの中にあります。(binary)注意mkvmerge(1)は出力ファイルを分割する際、チャプタも適切に処理します。分割された各ファイルはそのファイルに関係するチャプタのみを含み、タイムコードには適切なオフセットがかかります。mkvmerge(1)は、--no-chaptersオプションで明示的に無効化されていなければ、Matroska(TM)ソースファイルからチャプタをコピーできます。全てのソース(Matroska(TM)ファイル、Oggファイル、MP4ファイル、チャプタテキストファイル)に由来するチャプタは通常はマージされず、別々のChapterEditionsが作成されます。いくつかのMatroska(TM)もしくはXMLファイルで、エディションUIDが共有される場合にのみ、チャプタは一つのChapterEditionにマージされます。そのような場合以外でマージを行いたい場合は、ユーザはまず全てのソースからmkvextract(1)でチャプタを抽出し、手動でXMLファイルをマージした後にMUXを行なわなければなりません。タグはじめにMatroska(TM)は廃止予定の拡張可能なタグのセットと、新しい、他のよくあるコンテナで採用されているようなより単純な、KEY=VALUEというシステムをサポートします。Matroska(TM)では、これらのタグはネストすることも可能で、さらにKEYとVALUEは両方がそれ自信のエレメントです。サンプルファイルexample-tags-2.xmlがこの新しいシステムの使い方の例を示しています。タグのスコープMatroska(TM)タグは自動的にはファイル全体に適用はされません。適用することもできますが、ファイルの異る部分々々に適用することもできます。一つ、もしくは複数のトラック、一つ、もしくは複数のチャプタ、さらにはその組み合わせにも適用することが可能です。m[blue]Matroska(TM)の仕様m[][5]に、このことの詳細が記述されています。重要なことは、タグはTargetsMatroska(TM)タグエレメントによってトラック及びチャプタにリンクされますが、このリンクの際に使用されるUIDはmkvmerge(1)が色々な所で使用するトラックIDではないことです。その代わりに、mkvmerge(1)は自動的に計算したUID(トラックがMatroska(TM)以外のファイルフォーマットから取り出される場合)か、トラックのソースファイルがMatroska(TM)ファイルの場合ソースファイルからコピーされた数字が使用されます。よって、タグファイルがmkvmerge(1)に渡される前に、使用されるUIDを知ることは困難です。mkvmerge(1)はMatroska(TM)ファイルにタグを追加する二つのオプションを認識します。--global-tagsと--tagsオプションです。この二つの違いは、前者の--global-tagsは、上述のTargetsエレメントを全て取り除くことで、タグがファイル全体に適用されるようにします。--tagsに指定したTIDの示すトラックに対して自動的に計算したUIDを挿入します。例あなたは、AVIから読み込まれるビデオトラックにタグをつけたいと仮定しましょう。file.aviを実行すると、ビデオトラックのトラックID(このIDをUIDと混同しないでください!)は0であると教えてくれます。よって、あなたは全てのTargetsエレメントを記入しないタグファイルを作成し、mkvmerge(1)を以下のように実行します。file.aviタグファイルフォーマットmkvmerge(1)はXMLベースのタグファイルフォーマットをサポートします。このフォーマットはm[blue]Matroska(TM)の仕様m[][5]に非常に近いデザインになっています。MKVToolNixのバイナリ、及びソースディストリビューションはどちらも、既知のタグをただリストしただけの、実際のタグファイルのテンプレートとして使用できるexample-tags-2.xmlというサンプルファイルを含んでいます。基本的には、以下の様な構成です。外側のエレメントは<Tags>でなければなりません。一個の論理タグは<Tag>XMLタグの内部に包含されます。タグの中身の直前・直後のスペースは無視されます。データタイプ新しいMatroska(TM)タグシステムは、UTF-8文字列とバイナリの二つのデータタイプしか認識しません。前者はタグの名前と<String>エレメントに使用され、後者は<Binary>エレメントに使用されます。バイナリデータは、そのままではXMLファイルに格納できないので、mkvmerge(1)は二つのバイナリデータを格納する方法をサポートします。XMLタグの中身が'@'で始まる場合、そのあとのテキストはファイル名として扱われ、対応するファイルの中身がMatroska(TM)エレメントにコピーされます。一つの方法では、データはBase64エンコードされる必要があります。これは、バイナリデータをASCIIキャラクタの一部だけで表現するためのエンコードで、例えばEメールなどに使用されています。mkvextract(1)は、バイナリエレメントをBase64エンコードされたデータとして出力します。古いタグシステムは、公式のMatroska(TM)の仕様に示されているように、もっと多くのデータタイプを認識していました。mkvmerge(1)はもはやこのシステムをサポートしないので、それらのタイプについてはここでは説明しません。information"ヘッダフィールドはコマンドラインオプション経由で設定できますが、XMLファイル経由では設定できません。オプションなどが含まれます。他にもコマンドラインオプション経由でもXMLファイル経由でも設定できない要素があります。date")、MuxingApp、WritingApp、そしてDurationです。それらは常にmkvmerge(1)自身によって設定されます。(binary)MATROSKA(TM)ファイルのレイアウトMatroska(TM)ファイルのレイアウトは非常に柔軟性に富んでいます。mkvmerge(1)はあらかじめ定義された方法でファイルを書き出します。出力されたファイルはこのようになります。{タグ}]波括弧でくくられたエレメントは省略可能で、コンテンツと指定されたオプションに依存します。いくつか注釈があります。#2)のみを、それらが存在するときにのみ含みます。以前のバージョンのmkvmerge(1)は、このメタシークエレメントにクラスタも挿入していました。このため、十分なスペースを確保しておくために不正確な推測が必要で、この推測は多くの場合失敗していました。#2を参照しています。添付ファイル、チャプタ、及びタグエレメントはそれらが存在するときにのみ追加されます。[クラスタ1]]音声のみのファイルはこのようになるでしょう。外部タイムコードファイルユーザは、特定のトラックのタイムコードを自分でmkvmerge(1)に指定することができます。これは可変フレームレートビデオを含むファイルを作成するときや、オーディオに無音を挿入するときに使用できます。この場合、フレームはMatroska(TM)ブロックを作成する際の単位となります。ビデオでは、これはちょうど1フレームとなり、オーディオではこれは各オーディオタイプの1パケットとなります。AC-3では、これは1536サンプルを含む1パケットとなります。結合されたトラックにタイムコードファイルを指定する場合は、各結合されるトラックチェインの最初の部分にのみ指定してください。v1.avi、v2.aviの二つのファイルを結合し、タイムコードを使用したいときのコマンドラインは次のようになります。+v2.avimkvmerge(1)は、4つのフォーマットを認識します。最初の1行は常にバージョン番号を含みます。空行、空白のみを含む行、及び'#'で始まる行は無視されます。v1このフォーマットはバージョン行から始まります。2行目はデフォルトフレームレートを宣言します。残りの全ての行は、コンマで区切られた3つの数字を含みます。開始フレーム(0が最初のフレームです)、終了フレーム、そしてこの範囲で適用されるフレームレートです。FPSは、ドット'.'を小数点として持つ小数です。フレーム範囲はデフォルトFPSが使用されるギャップを含むこともあります。v2このフォーマットでは、各行は対応するフレームのタイムコードを含みます。このタイムコードはミリ秒単位の精度で指定しなければなりません。小数を指定することができますが、小数でなくてもかまいません。最低でも、トラックに含まれるフレーム数と同数のタイムコード行を含まなければなりません。このファイル内のタイムコードは整列されていなければなりません。25fpsでは以下のようになります。v3このフォーマットでは、各行は秒単位の持続時間と、省略可能なフレームレートを含みます。この二つは両方とも小数を指定できます。フレームレートが指定されない場合はデフォルトの値が使用されます。オーディオではコーデックにタイムコードを計算させるべきです。このためには、フレームレートとして0.0を指定してください。'gap'キーワードの後に持続時間を指定して、無音を指定することもできます。オーディオファイル用の例を示します。v4このフォーマットはv2フォーマットと同一です。唯一の違いは、タイムコードが整列されていなくてもいいという点です。このフォーマットが使われることはほぼ無いでしょう。返り値mkvmerge(1)は下の3つの返り値を返します。この返り値はMUXが正常に終了したことを示します。この返り値は、一つ以上の警告が出力されましたが、抽出が続行されたことを意味します。いう文字列を先頭につけて出力されます。出力ファイルが無事であるかどうかは、場合によります。出力ファイルを確認することを強く推奨します。この返り値は、エラーが発生し、エラーメッセージを出力した後にmkvmerge(1)が処理を中断したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。環境変数mkvmerge(1)はシステムのロケールを決めるデフォルトの変数(例:LANGやLC_*系)を使用します。MTX_DEBUGその内容は、あたかも--debugオプション経由で渡されたかのように扱われます。MTX_ENGAGEその内容は、あたかも--engageオプション経由で渡されたかのように扱われます。MTX_OPTIONSその内容は空白で分割されます。得られた一部の文字列は、あたかもそれがコマンドラインオプションとして渡されたかのように扱われます。特殊な文字(例:空白)を渡す必要があるなら、それらをエスケープする必要があります(テキスト中の特殊文字のエスケープについてのセクションをご覧ください)。ウェブ最新のバージョンは、常時m[blue]MKVToolNixのホームページm[][6]から取得できます。