MP4 (.mp4,.m4a,...)
予備知識
-
- MIMEタイプ:video/mp4
- MPEG-4 Part 14動画形式.
- マルチメディアコンテナ形式.
- 複数の動画・音声・字幕トラックを含むことができる.
- QuickTimeファイル形式とMPEG-4 Part 12から拡張された.
- ISO/IEC 14496-14標準に準ずる.
- 一般にMPEG-4ファイル形式バージョン2と呼ばれる.
- 一般に動画コンテンツのアーカイブと交換に使われる.
- 音声と動画を同期再生に適した形式で保存する.
- バイナリ形式.
- さまざまな動画・音声コーデックをサポートする.
- 2001年にISOによって開発された.
ImportとExport
- Import["file.mp4"]はMP4ファイルをインポートし,Videoオブジェクトを返す.
- Import["file.mp4",elem]は指定された要素をインポートする.
- インポート形式はImport["file","MP4"]またはImport["file",{"MP4",elem,…}]で指定できる.
- サポートされる動画のデコーダは$VideoDecodersにリストされている.
- Export["file.mp4",expr] は expr を MP4 形式にエキスポートする.
- 以下の式がMP4にエキスポートできる:
-
video 任意のVideoオブジェクト AnimatedImage[…] AnimatedImageオブジェクトのフレーム Manipulate[…] Manipulate式から生成されたフレーム {expr1,expr2,…} 画像またはグラフィックスまたはラスタライズされた式のいずれかのリスト - 任意の式のリストをエキスポートするときは,各式はラスタ化され,その表示形式と同じラスタサイズとなる.
- MP4動画の長さは,フレーム数と指定のフレーム率によって決まる.
- Manipulateオブジェクトの中でブックマークが設定されている場合,Exportはブックマーク間を補間し, Manipulateのスピードと長さを維持してMP4ファイルを作成する.
- Export["file.mp4",{elem1expr1,elem2expr2,…},"Rules"]は規則を使ってエキスポートする要素を指定する.
- サポートされるビデオエンコーダのリストは, $VideoEncodersで得られる.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
Import要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - 動画表現要素:
-
"ImageList" 画像のリストで表されたフレーム "Video" Videoオブジェクトで表された動画ファイル "VideoData" 各フレームの生のビットマップデータの配列 "VideoStream" VideoStreamオブジェクトで表された動画ファイルへのハンドル - 音声表現要素:
-
"Audio" インコアのAudioオブジェクト "AudioData" 音声サンプルの配列 "AudioFile" アウトオブコアのAudioオブジェクト - Importはファイルに動画トラックがある場合は"Video"要素を,ない場合は"Audio"要素をデフォルトで使用する.
- 動画ファイルには複数の動画,音声,または字幕のトラックが含まれていることがある.トラック数を返す要素:
-
"AudioTrackCount" 音声トラック数 "SubtitleTrackCount" 字幕トラック数 "VideoTrackCount" 動画トラック数 - 動画メタデータ要素:
-
"BitDepth" ファイルの各色チャンネルを表すのに使用するビット "ColorSpace" ファイルで使用する色符号 "FrameCount" ファイル中のフレーム数 "FrameDurations" 各フレームに与えられた表示時間のリスト "FrameRate" 1秒あたりに表示されるフレーム数 "RasterSize" ラスタサイズ "VideoEncoding" ファイルで使用する動画コーデック - 音声メタデータ要素:
-
"AudioChannels" 音声チャンネル数 "AudioBitDepth" 各音声サンプルを表すのに使用されるビット "AudioEncoding" ファイルで使用されている音声コーデック "AudioLength" 音声サンプル数 "BitRate" 秒あたりのビット数 "SampleRate" 秒あたりの音声サンプル数 - 字幕関連要素:
-
"RawSubtitle" 生の文字列としてインポートされる字幕データ "SubtitleRules" {int1text1,int2text2,…}の形式でスタイル付けされたテキストのリストとして返される "SubtitleString" 連結された字幕テキストの単一の文字列として返される "SubtitleStringRules" {int1string1,int2string2,…} の形式のプレーンテキストのリストとして返される "SubtitleEncoding" ファイルで使用されている字幕コーデック - 追加のメタデータ要素:
-
"ExactDurations" すべての動画,音声,字幕トラックの厳密な継続時間の連想 "ExactTimeBoundaries" すべての動画,音声,字幕トラックの厳密な開始・終了時間の連想 "Duration" 動画のおよその継続時間(秒) "MetaInformation" 数量,場所,日付,数等として解釈されるメタデータ "RawMetaInformation" 文字列または数の未解釈メタデータ "Summary" ファイルの概要 "TrackStartTimes" 各トラックの開始時間の連想 - $VideoDecodersと$AudioDecodersは使用中のコンピュータシステムで利用できるデコーダのリストを与える.
Export要素
- Export["file.mp4",{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 各チャンネルの秒あたりのサンプル数 - ImportとExportのオプション:
-
IncludeMetaInformation All インポート・エキスポートするメタデータのタイプ - IncludeMetaInformationのサポートされている設定は"M4A","RawM4A",All,およびNoneである.
- 一般的なExportオプション:
-
AudioEncoding Automatic ファイルの音声符号化 Background Automatic 背景色 BitRate Automatic 使用するおおよそのビットレート CompressionLevel Automatic 使用する圧縮レベル FrameRate Automatic 秒あたりに表示されるフレーム数 MetaInformation Automatic エキスポートするメタデータ RasterSize Automatic 画素次元 SampleRate Automatic 各チャンネルの秒あたりの音声サンプル数 SubtitleEncoding Automatic ファイルの字幕符号化 VideoEncoding Automatic ファイルの動画符号化 VideoTransparency False 透過性チャンネルをエキスポートするかどうか - "Video"要素と"VideoStream"要素のExportオプション:
-
AudioTrackSelection All 関心のある音声トラック SubtitleTrackSelection All 関心のある字幕トラック VideoTrackSelection All 関心のある動画トラック "Streamable" Automatic 動画をストリーミングに適した形にする - Manipulate式のエキスポート時のExportオプション:
-
"AnimationDuration" Automatic アニメーションの全継続時間 "ControlAppearance" Automatic Manipulateのコントロール要素がエキスポートされたファイルで描画される方法 - "ControlAppearance"には以下の設定が使用できる:
-
Automatic ローカルのコンピュータシステムのスタイル要素を使って,ユーザコントロールがノートブックインターフェースと全く同じに見えるようにする None アニメーションのエキスポート時にコントロール要素は除外する "Generic" 一般的なスタイルでグラフィカルコントロールを描画する - $VideoEncodersと$AudioEncodersは使用中のコンピュータシステムで利用できるエンコーダのリストを与える.
例題
すべて開くすべて閉じる例 (4)
スコープ (6)
Export (4)
Import要素 (33)
動画要素 (3)
"Video" (1)
"VideoData" (1)
"VideoStream" (1)
トラック数 (3)
メタデータ要素 (7)
動画トラック (7)
"VideoEncoding" (1)
音声トラック (7)
字幕トラック (5)
"RawSubtitle" (1)
字幕が存在しない場合はNoneが返される:
"SubtitleEncoding" (1)
"SubtitleRules" (1)
"SubtitleString" (1)
"SubtitleStringRules" (1)
Importオプション (11)
AudioTrackSelection (1)
デフォルトではImportは最初の音声トラックからのみデータを抽出する:
AudioTracksオプションを使って指定の音声トラックからデータを抽出する:
IncludeMetaInformation (3)
SubtitleTrackSelection (1)
デフォルトでは,Importは最初の字幕トラックからのみデータを抽出する:
SubtitleTrackSelectionオプションを使って指定の字幕トラックからデータを抽出する:
VideoTrackSelection (1)
デフォルトではImportは最初の動画トラックからのみデータを抽出する:
VideoTrackSelectionオプションを使って指定の動画トラックからデータを抽出する:
Exportオプション (23)
"AnimationDuration" (1)
エキスポートされたManipulate式の継続時間を指定する:
BitRate (4)
CompresionLevel (2)
CompressionLevelオプションを使って,生成された動画のファイルサイズと画質を制御する:
動画と音声の両方のBitRateが指定されているときは,CompressionLevelの値は無視される:
"ControlAppearance" (1)
デフォルトの設定 "ControlAppearance"Automatic でエキスポートされたアニメーションは,そのアニメーションが生成されたコンピュータシステムに応じて外観が異なる:
"ControlAppearance"Noneとすると,エキスポートされた動画にユーザコントロールは含まれない:
FrameRate (1)
デフォルトではVideoオブジェクトまたはVideoStreamオブジェクトのエキスポート時にフレームレートは維持される:
IncludeMetaInformation (3)
デフォルトではAudioオブジェクトに存在するすべてのメタ情報がエキスポートされる:
MetaInformation (1)
デフォルトでは,サポートされているすべてのメタデータが入力の動画ファイルからエキスポートされる:
指定のメタデータをエキスポートするが,選択されたタグだけが"MP4"についてサポートされている:
RasterSize (1)
デフォルトではVideoオブジェクトまたはVideoStreamオブジェクトのエキスポート時にラスタサイズは維持される:
SampleRate (1)
デフォルトではVideo,VideoStream,Audioオブジェクトのエキスポート時にサンプルレートは維持される: