| MKVPROPEDIT(1) | ユーザーコマンド | MKVPROPEDIT(1) |
名前¶
mkvpropedit - 再多重化することなく、既存のMatroskaファイルのプロパティを修正する
書式¶
mkvpropedit [options] {source-filename} {actions}
説明¶
このプログラムは、既存のMatroskaファイルを解析し、そのプロパティのいくつかを修正します。そして、それらの修正を既存のファイルに書き込みます。プロパティの中で変更可能なのは、区分(セグメント)情報要素(例えばタイトル)と、トラック頭部(例えば言語コードや'既定トラック'フラグ、名前)です。
オプション:
-l, --list-property-names
-p, --parse-mode mode
トラック及び区分情報プロパティを扱うアクション:
-e, --edit selector
既定では、mkvpropedit(1)は区分情報のセクションを編集します。
文法の完全な説明は、編集選択子のセクションを参照してください。
-a, --add name=value
-s, --set name=value
-d, --delete name
タグ及びチャプタを扱うアクション:
-t, --tags selector:filename
selectorは、all、global、またはtrackのうちどれか一つを指定してください。allを指定すると、mkvpropedit(1)はファイル中の全てのタグを置換あるいは削除します。globalを指定すると、広域タグだけが置換あるいは削除されます。
trackを指定すると、mkvpropedit(1)は特定のトラックのタグを置換します。また、filenameから読み込まれたタグは、同じトラックに割り当てられます。トラックの指定は、編集選択子と同じ方法(以下を参照)で行います。例:--tags track:a1:new-audio-tags.xml.
--add-track-statistics-tags
--delete-track-statistics-tags
-c, --chapters filename
添付ファイルを扱うアクション:
--add-attachment filename
このオプションの前に--attachment-nameオプションが使用されている場合、その値が新しい添付ファイルの名前として使用されます。そうでない場合は、filenameから派生した名前が使用されます。
このオプションの前に--attachment-mime-typeオプションが使用されている場合、その値が新しい添付ファイルのMIMEタイプとして使用されます。そうでない場合は、filenameの内容から自動検出されます。
このオプションの前に--attachment-descriptionオプションが使用されている場合、その値が新しい添付ファイルの説明として使用されます。そうでない場合は、説明は設定されません。
このオプションの前に--attachment-uidオプションが使用されている場合、その値が新しい添付ファイルのUIDとして使用されます。そうでない場合は、ランダムなUIDが自動的に生成されます。
--replace-attachment selector:filename
selectorは4つの形式のいずれかをとることができます。これらについては、後述の添付ファイル選択子のセクションで説明します。
このオプションの前に--attachment-nameオプションが使用されている場合、その値が修正された各添付ファイルの新しい名前として設定されます。そうでない場合は、名前は変更されません。
このオプションの前に--attachment-mime-typeオプションが使用されている場合、その値が修正された各添付ファイルの新しいMIMEタイプとして設定されます。そうでない場合は、MIMEタイプは変更されません。
このオプションの前に--attachment-descriptionオプションが使用されている場合、その値が修正された各添付ファイルの新しい説明として設定されます。そうでない場合は、説明は変更されません。
このオプションの前に--attachment-uidオプションが使用されている場合、その値が修正された各添付ファイルの新しいUIDとして設定されます。そうでない場合は、UIDは変更されません。
--update-attachment selector
selectorは4つの形式のいずれかをとることができます。これらについては、後述の添付ファイル選択子のセクションで説明します。
このオプションの前に--attachment-nameオプションが使用されている場合、その値が修正された各添付ファイルの新しい名前として設定されます。そうでない場合は、名前は変更されません。
このオプションの前に--attachment-mime-typeオプションが使用されている場合、その値が修正された各添付ファイルの新しいMIMEタイプとして設定されます。そうでない場合は、MIMEタイプは変更されません。
このオプションの前に--attachment-descriptionオプションが使用されている場合、その値が修正された各添付ファイルの新しい説明として設定されます。そうでない場合は、説明は変更されません。
このオプションの前に--attachment-uidオプションが使用されている場合、その値が修正された各添付ファイルの新しいUIDとして設定されます。そうでない場合は、UIDは変更されません。
--delete-attachment selector
selectorは4つの形式のいずれかをとることができます。これらについては、後述の添付ファイル選択子のセクションで説明します。
添付ファイルアクション用オプション:
--attachment-name name
--attachment-mime-type mime-type
--attachment-description description
--enable-legacy-font-mime-types
これは、新しい添付ファイルの追加と既存の添付ファイルの置換の両方に影響しますが、新しい MIME タイプが指定されていない場合に限ります。その他の既存の添付ファイルは変更されません。
影響を受ける MIME タイプは、'font/sfnt'、'font/ttf'、'font/collection'(これらはすべて 'application/x-truetype-fonts' にマッピング)および 'font/otf'('application/vnd.ms-opentype' にマッピング)です。
その他のオプション:
--disable-language-ietf
このオプションは、「language-ietf」トラック頭部プロパティ経由で要求された変更には影響しません。
--normalize-language-ietf モード
標準形式(canonical)では、より好ましい値が存在するすべてのサブタグがその値に置換されます。例えば、「zh-yue-jyutping」は「yue-jyutping」に、「fr-FX」は「fr-FR」に変換されます。
拡張言語サブタグ形式では、まず標準形式が作成されます。その後、拡張言語サブタグが存在するすべての主要言語が、その拡張言語サブタグと接頭辞の組み合わせに置換されます。これにより、例えば「yue-jyutping」は「zh-yue-jyutping」に戻されますが、「fr-FR」には影響しません(「fr」は拡張言語サブタグではないため)。
この正規化は、実際に変更された要素にのみ適用されます:
ファイル内の既存のすべての言語タグを正規化する最良の方法は、mkvmerge(1) で再多重化し、その「--normalize-language-ietf」オプションを目的のモードに設定することです。
--command-line-charset character-set
--output-charset 文字セット
-r, --redirect-output ファイル名
--no-bom
--ui-language コード
--abort-on-warnings
--debug トピック
--engage 機能
--gui-mode
-v, --verbose
-h, --help
-V, --version
@オプションファイル.json
編集選択子¶
--editオプションは、以降のadd、set及びdeleteアクションが適用されるMatroskaファイルセクション(区分情報または特定のトラック頭部)を設定します。これは次の--editオプションが見付かるまでずっと有効です。このオプションへの引数は編集選択子と呼ばれます。
既定では、mkvpropedit(1)は区分情報のセクションを編集します。
セグメント情報¶
区分(セグメント)情報は次の3つの単語によって選択されます。'info'、'segment_info'または'segmentinfo'です。これは区分題名や区分UIDなどのプロパティを格納しています。
トラック頭部¶
トラック頭部はもうちょっとだけ複雑な選択子で選択されます。全ての場合で選択子は'track:'で始まります。トラック頭部プロパティには、言語コード、'既定トラック'フラグやトラック名のような要素があります。
track:n
付番は1から始まります。
track:tn
付番は1から始まります。
track:=uid
track:@number
注意¶
トラック編集選択子の性質から、複数の選択子が同じトラック頭部に合致し得ます。こうした場合、それらの編集選択子への全作用を一つにまとめ、命令行で与えた順に実行します。
添付ファイル選択子¶
添付ファイル選択子は--replace-attachmentおよび--delete-attachmentの二作用と共に使います:
言語の取り扱い¶
mkvpropedit(1) は、多くの場合において既定で適切な処理を試みます。そのため、language プロパティへの変更は、mkvmerge(1) が両方の要素に言語を適用するのと同様に、mkvpropedit(1) に新しい "LanguageIETF" 要素と古い "Language" 要素の両方に同じ変更を適用させます。例えば、mkvpropedit movie.mkv --edit track:2 --set language=zh-TW を使用すると、"LanguageIETF" 要素は zh-TW に、古い "Language" 要素は chi に設定されます。
さらに、設定または削除可能な language-ietf という新しいトラック頭部プロパティがあります。このプロパティへの変更は、新しい "LanguageIETF" トラック頭部要素にのみ適用されます。注意点として、古い "Language" トラック頭部要素は Matroska において必須要素であり、ファイル内に存在しなくても暗黙の値を持っています。そのため、利用者が language-ietf プロパティのみを設定し、language プロパティを設定しなかった場合、mkvpropedit(1) は特定の場合において古い "Language" 要素を追加し、利用者が値を指定しなかったため und(「未定義」を意味する)に設定します。
XMLチャプタやタグファイルを読み込む際、mkvpropedit(1) は mkvmerge(1) と同様に動作します。
新しい要素の作成は、これら3つの新しい要素すべてに作用する命令行オプション `--disable-language-ietf` で完全に無効化できます。
拡張言語サブタグに適用される正規化手法を、パラメータ --normalize-language-ietf で選択できます。
例¶
'movie.mkv' というファイルを編集する例を以下に示します。区分題名を設定し、音声トラックおよび字幕トラックの言語コードを修正しています。注意: この例では、最初の--editオプションを省いて短縮できます。なぜなら、結局最初の--editオプションが見付かる前の全てのオプションは、既定で区分情報要素を編集するからです。
$ mkvpropedit movie.mkv --edit info --set "title=The movie" --edit track:a1 --set language=fre --edit track:a2 --set language=ita
二番目の例では、最初の字幕トラックから「既定のトラック標旗」を削除し二番目の字幕トラックに設定します。注意: mkvpropedit(1)はmkvmerge(1)とは異なり,他のトラックの既定標旗が「1」に自動設定されていても,違うトラックの既定標旗を「0」に設定しません。
$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
ファイル中2番目の字幕トラックのタグを置換するには、以下のようにします:
$ mkvpropedit movie.mkv --tags track:s2:new-subtitle-tags.xml
タグを削除したいときはファイル名を省きます:
$ mkvpropedit movie.mkv --tags all:
ファイル中のチャプタを置換するには、以下のようにします:
$ mkvpropedit movie.mkv --chapters new-chapters.xml
全てのチャプタを削除したいときはファイル名を省きます:
$ mkvpropedit movie.mkv --chapters ''
フォントファイル Arial.ttf を添付ファイルとして追加する:
$ mkvpropedit movie.mkv --add-attachment Arial.ttf
フォントファイル 89719823.ttf を添付ファイルとして追加し、それがまさにArialであるという情報を提供する:
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf
添付済みのフォントファイル Comic.ttf を別のもの Arial.ttf に置き換える:
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --replace-attachment name:Comic.ttf:Arial.ttf
2番目の添付ファイルを、それが何であれ削除する:
$ mkvpropedit movie.mkv --delete-attachment 2
MIMEタイプを指定することで全ての添付フォントを削除する:
$ mkvpropedit movie.mkv --delete-attachment mime-type:application/x-truetype-font
終了コード¶
mkvpropedit(1) は以下の3つの終了コードを返します:
テキストファイルと文字セット変換¶
MKVToolNixスイートの各ツールが文字セット変換、入出力エンコーディング、コマンドラインおよびコンソールのエンコーディングをどのように処理するかについての詳細は、mkvmerge(1) のmanページにある同名のセクションを参照してください。
環境変数¶
mkvpropedit(1) はシステムのロケールを決める既定変数(例: LANG や LC_* 系列)を使用します。追加の変数:
MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG とその短縮形 MTX_DEBUG
MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE とその短縮形 MTX_ENGAGE
関連項目¶
WWW¶
最新バージョンは常に MKVToolNix のホームページ[1] から入手できます。
著者¶
Bunkus Moritz[FAMILY Given] <moritz@bunkus.org>
注記¶
- 1.
- MKVToolNix のホームページ
| 2026-04-05 | MKVToolNix 98.0 |