Matroska (.mkv,.webm,.mka,.mk3d)
予備知識
-
- 登録MIMEタイプ:video/x-matroska
- マルチメディアコンテナ形式.
- 複数の動画・音声・字幕トラックを含むことができる.
- 柔軟,拡張可能で,クロスプラットフォームであるように設計された.
- さまざまな動画・音声コーデックをサポートする.
- 拡張MCFおよびEBMLで,WebMの基底である.
- 2002にリリースされたオープン形式である.
ImportとExport
- Export["file.mkv",expr,elements]は expr が指定の要素に対応するとしてエキスポートする.
- Import["file.mkv"]はMatroskaファイルをインポートし,Videoオブジェクトを返す.
- Import["file.mkv",elem]は指定された要素をインポートする.
- インポート形式はImport["file","Matroska"]またはImport["file",{"Matroska",elem,…}]で指定できる.
- Export["file.mkv",expr]は expr をMatroska形式にエキスポートする.
- 以下の式はMatroska形式にエキスポートすることができる:
-
video 任意のVideoオブジェクト AnimatedImage[…] AnimatedImageオブジェクトのフレーム Manipulate[…] Manipulate式から生成されたフレーム {expr1,expr2,…} 画像,グラフィックス,ラスタライズされた式のリスト - 任意の式のリストをエキスポートするとき,それぞれの式はラスタライズされ,表示された形式と同じラスターサイズとなる.
- Matroska動画の長さは,フレーム数と指定のフレーム率により決まる.
- Manipulateオブジェクトの中でブックマークが設定されている場合,Exportは各ブックマークの間を補間したMatroskaファイルを作成する.このとき,Manipulateの速度と長さは維持される.
- Export["file.mkv",{elem1expr1,elem2expr2,…},"Rules"]は規則を使ってエキスポートする要素を指定する.
- サポートされる動画のエンコーダのリストは$VideoEncodersで見ることができる.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
Import要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - 動画表現要素:
-
"ImageList" 画像のリストで表されたフレーム "Video" Videoオブジェクトで表された動画ファイル "VideoData" 各フレームの生のビットマップデータの配列 "VideoStream" VideoStreamオブジェクトで表された動画ファイルへのハンドル - ImportはMatroska形式にデフォルトで"Video"要素を使用する.
- 動画ファイルには複数の動画,音声,または字幕のトラックが含まれていることがある.トラック数を返す要素:
-
"AudioTrackCount" 音声トラック数 "SubtitleTrackCount" 字幕トラック数 "VideoTrackCount" 動画トラック数 - 動画のメタデータ要素:
-
"BitDepth" ファイルの各色チャンネルを表すのに使用するビット "ColorSpace" ファイルで使用する色符号 "FrameCount" ファイル中のフレーム数 "FrameDurations" 各フレームに与えられた表示時間のリスト "FrameRate" 1秒あたりに表示されるフレーム数 "ImageSize" ラスタサイズ "VideoEncoding" ファイルで使用された動画コーデック - 音声関連要素:
-
"Audio" インコアのAudioオブジェクト "AudioChannels" 音声チャンネル数 "AudioData" 音声サンプルの配列 "AudioEncoding" ファイルで使用されている音声コーデック "AudioFile" アウトオブコアのAudioオブジェクト "BitRate" 秒あたりのビット数 "SampleRate" 秒あたりの音声サンプル数 - 字幕関連要素:
-
"RawSubtitle" 生の文字列としてインポートされる字幕データ "SubtitleRules" {int1text1,int2text2,…}の形式でスタイル付けされたテキストのリストとして返される "SubtitleString" 連結された字幕テキストの単一文字列として返される "SubtitleStringRules" {int1string1,int2string2,…} の形式のプレーンテキストのリストとして返される "SubtitleEncoding" ファイルで使用されている字幕コーデック - その他のメタデータ要素:
-
"ExactDurations" 動画,音声,字幕すべてのトラックの厳密な継続時間の連想 "ExactTimeBoundaries" すべての動画,音声,字幕トラックの厳密な開始・終了時間の連想 "Duration" 動画のおよその継続時間(秒) "MetaInformation" 数量,場所,日付,数等として解釈されるメタデータ "RawMetaInformation" 文字列または数の未解釈メタデータ "Summary" ファイルの概要 "TrackStartTimes" 各トラックの開始時間の連想 - $VideoDecodersと$AudioDecodersは使用中のコンピュータシステムで利用できるデコーダのリストを与える.
Export要素
- Export["file.mkv",{elem1->expr1,…},"Rules"]は規則を使ってエキスポートする要素を指定する.
- 使用できるExport要素:
-
"Audio" 音声トラック "Frames" リストまたはManipulateまたはAnimatedImageオブジェクトとして与えられた動画フレーム
オプション
- 一般的なImportオプション:
-
AudioTrackSelection 1 関心のある音声トラック "ImageTopOrientation" Automatic ファイルに保存された動画の向き RasterSize Automatic ラスタ次元 SubtitleTrackSelection 1 関心のある字幕トラック VideoTrackSelection 1 関心のある動画トラック - "Audio"要素のImportオプション:
-
"AudioChannels" Automatic 音声チャンネル数 SampleRate Automatic 各チャンネルの秒あたりのサンプル数 - 一般的なExportオプション:
-
AudioEncoding Automatic ファイルの音声符号化 Background Automatic 背景色 BitRate Automatic 使用するおおよそのビットレート CompressionLevel Automatic 使用する圧縮レベル FrameRate Automatic 秒あたりに表示されるフレーム数 IncludeMetaInformation All メタデータをエキスポートするかどうか MetaInformation Automatic エキスポートするメタデータ RasterSize Automatic 画素次元 SampleRate Automatic 各チャンネルの秒あたりの音声サンプル数 SubtitleEncoding Automatic ファイルの字幕符号化 VideoEncoding Automatic ファイルの動画符号化 VideoTransparency False 透明度チャンネルをエキスポートするかどうか - "Video"要素と"VideoStream"要素のExportオプション:
-
AudioTrackSelection All 関心のある音声トラック SubtitleTrackSelection All 関心のある字幕トラック VideoTrackSelection All 関心のある動画トラック - Manipulate式のエキスポート時のExportオプション:
-
"AnimationDuration" Automatic アニメーションの全継続時間 "ControlAppearance" Automatic Manipulateのコントロール要素がエキスポートされたファイルで描画される方法 - "ControlAppearance"には以下の設定が使用できる:
-
Automatic ローカルのコンピュータシステムのスタイル要素を使って,ユーザコントロールがノートブックインターフェースと全く同じに見えるようにする "Generic" 一般的なスタイルでグラフィカルコントロールを描画する None アニメーションのエキスポート時にコントロール要素は除外する - $VideoEncodersと$AudioEncodersは使用中のコンピュータシステムで利用できるエンコーダのリストを与える.
例題
すべて開くすべて閉じる例 (3)
スコープ (6)
Export (4)
Manipulateで作成したものをMatroskaにエキスポートする:
AnimatedImageオブジェクトをエキスポートする:
Manipulateで作成したものに音声をつけてエキスポートする;
Import要素 (32)
動画要素 (3)
"Video" (1)
"VideoData" (1)
"VideoStream" (1)
トラック数 (3)
メタデータ要素 (7)
動画トラック (7)
"VideoEncoding" (1)
音声トラック (6)
字幕トラック (5)
"RawSubtitle" (1)
"SubtitleEncoding" (1)
"SubtitleRules" (1)
"SubtitleString" (1)
"SubtitleStringRules" (1)
Importオプション (7)
AudioTrackSelection (1)
デフォルトではImportは最初の音声トラックからのみデータを抽出する:
AudioTrackSelectionオプションを使って指定の音声トラックからデータを抽出する:
SubtitleTrackSelection (1)
デフォルトでは,Importは最初の字幕トラックからのみデータを抽出する:
SubtitleTrackSelectionオプションを使って指定の字幕トラックからデータを抽出する:
VideoTrackSelection (1)
デフォルトではImportは最初の動画トラックからのみデータを抽出する:
VideoTrackSelectionオプションを使って指定の動画トラックからデータを抽出する:
Exportオプション (22)
"AnimationDuration" (1)
エキスポートされたManipulate式の継続時間を指定する:
BitRate (4)
CompressionLevel (2)
CompressionLevelオプションを使って,生成された動画のファイルサイズと画質を制御する:
動画と音声の両方のBitRateが指定されているときは,CompressionLevelの値は無視される:
"ControlAppearance" (1)
デフォルトの設定 "ControlAppearance"Automaticでエキスポートされたアニメーションは,そのアニメーションが生成されたコンピュータシステムに応じて外観が異なる:
"ControlAppearance"Noneとすると,エキスポートされた動画にユーザコントロールは含まれない:
FrameRate (1)
デフォルトではVideoオブジェクトまたはVideoStreamオブジェクトのエキスポート時にフレームレートは維持される:
MetaInformation (2)
RasterSize (1)
デフォルトではVideoオブジェクトまたはVideoStreamオブジェクトのエキスポート時にラスタサイズは維持される:
SampleRate (1)
デフォルトではVideo,VideoStream,Audioオブジェクトのエキスポート時にサンプルレートは維持される: