AVI (.avi)

予備知識

    • 登録MIMEタイプ:video/avi
    • Microsoft AVI形式.
    • マルチメディアコンテナ形式.
    • 複数の動画・音声トラックを含むことができる.
    • 一般に動画コンテンツのアーカイブと交換に使用される.
    • 同時再生に適した形式で音声,動画コンテンツを保管する.
    • AVIはAudio Video Interleaveの頭字語である.
    • バイナリ形式.
    • 種々の音声・動画コーデックをサポートする.
    • 1992年にMicrosoftによって導入された.

ImportとExport

  • Import["file.avi"]はAVIファイルをインポートし,Videoオブジェクトを返す.
  • Import["file.avi",elem]は指定された要素をインポートする.
  • インポート形式はImport["file","AVI"]またはImport["file",{"AVI",elem,}]で指定できる.
  • Export["file.avi",expr]expr をAVI形式にエキスポートする.
  • 以下の式は,AVIにエキスポートできる:
  • video任意のVideoオブジェクト
    AnimatedImage[]AnimatedImageオブジェクトのフレーム
    Manipulate[]Manipulate式で生成されたフレーム
    {expr1,expr2,}画像,グラフィックス,ラスタライズされた式のリスト
  • 任意の式のリストをエキスポートするとき,それぞれの式はラスタライズされ,表示されている形式と同じラスターサイズとなる.
  • AVI動画の長さは,フレーム数と指定のフレーム率により決まる.
  • Manipulateオブジェクトの中でブックマークが設定されている場合,Exportは各ブックマークの間を補間したAVIファイルを作成する.このとき,Manipulateの速度と長さは維持される.
  • Export["file.avi",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • サポートされている動画のエンコーダのリストは,$VideoEncodersで見ることができる.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • 動画表現要素:
  • "ImageList"画像のリストとして表されたフレーム
    "Video"Videoオブジェクトとして表された動画ファイル
    "VideoData"各フレームの生のビットマップデータの配列
    "VideoStream"VideoStreamオブジェクトとして表された動画ファイルへのハンドル
  • ImportはAVI形式にデフォルトで"Video"要素を使用する.
  • 動画ファイルには複数の動画,音声,または字幕のトラックが含まれていることがある.トラック数を返す要素:
  • "AudioTrackCount"音声トラック数
    "VideoTrackCount"動画トラック数
  • 動画メタデータ要素:
  • "BitDepth"ファイルの各色チャンネルを表すのに使用するビット
    "ColorSpace"ファイルで使用する色符号
    "FrameCount"ファイル中のフレーム数
    "FrameDurations"各フレームに与えられた表示時間のリスト
    "FrameRate"1秒あたりに表示されるフレーム数
    "RasterSize"ラスタサイズ
    "VideoEncoding"ファイルで使用する動画コーデック
  • 音声関連要素:
  • "Audio"インコアのAudioオブジェクト
    "AudioChannels"音声チャンネル数
    "AudioData"音声サンプルの配列
    "AudioEncoding"ファイルで使用されている音声コーデック
    "BitRate"秒あたりのビット数
    "SampleRate"秒あたりの音声サンプルの数
  • その他のメタデータ要素:
  • "Duration"動画のおよその継続時間(秒)
    "ExactDurations"動画,音声,字幕すべてのトラックの厳密な継続時間の連想
    "ExactTimeBoundaries"すべての動画,音声,字幕トラックの厳密な開始・終了時間の連想
    "MetaInformation"数量,場所,日付,数等として解釈されるメタデータ
    "RawMetaInformation"文字列または数の未解釈メタデータ
    "Summary"ファイルの概要
    "TrackStartTimes"各トラックの開始時間の連想
  • $VideoDecoders$AudioDecodersは使用中のコンピュータシステムで利用できるデコーダのリストを与える.

Export要素

  • Export["file.avi",{elem1->expr1,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • 使用できるExportの要素:
  • "Audio"音声トラック
    "Frames"リスト, Manipulateまたは AnimatedImageオブジェクトとして与えられる動画フレーム

オプション

例題

すべて開くすべて閉じる

  (3)

AVIファイルをVideoオブジェクトとしてインポートする:

継続時間等の動画の特性をインポートする:

動画ファイルの概要をインポートする:

VideoオブジェクトをAVIファイルにエキスポートする:

スコープ  (6)

Import  (2)

動画フレームのリストをインポートする:

音声データの最初の10秒をインポートする:

Export  (4)

画像のリストをAVIファイルにエキスポートする:

この動画から3フレームを取得する:

Manipulateで作成したものをAVIファイルにエキスポートする:

エキスポートされたファイルの概要:

AnimatedImageオブジェクトをエキスポートする:

Manipulateで作ったコンテンツに音声をつけてエキスポートする:

エキスポートされたファイルの概要:

Import要素  (27)

マルチトラックAVIファイルの生成  (1)

マルチトラックAVIファイルを生成する:

利用できる要素  (1)

利用できる要素のリスト:

動画要素  (3)

"Video"  (1)

Videoオブジェクトとしてインポートする:

これはデフォルトのインポート要素である:

"VideoData"  (1)

指定のフレームに対応する動画データをインポートする:

NumericArrayオブジェクトに保存されている動画データを画像に変換する:

"VideoStream"  (1)

VideoStreamオブジェクトとしてインポートする:

動画ストリームを再生する:

ストリームから現在のフレームを取得する:

トラック数  (2)

"AudioTrackCount"  (1)

音声トラック数をインポートする:

"VideoTrackCount"  (1)

動画トラック数をインポートする:

メタデータ要素  (7)

"Duration"  (2)

動画のおよその継続時間をインポートする:

トラックの厳密な継続時間をインポートするためには,"ExactDurations"要素を使う:

"ExactDurations"  (2)

トラックの厳密な継続時間をインポートする:

動画のおよその継続時間をインポートする:

およその継続時間の計算は,通常厳密な継続時間の計算より格段に速い:

"MetaInformation"  (1)

動画ファイルからメタデータをインポートする:

"RawMetaInformation"  (1)

動画ファイルから未処理のメタデータをインポートする:

"Summary"  (1)

動画ファイルの概要をインポートする:

動画トラック  (7)

"BitDepth"  (1)

ビット深度をインポートする:

"ColorSpace"  (1)

色空間をインポートする:

"FrameCount"  (1)

動画フレーム数をインポートする:

"FrameDurations"  (1)

選択された動画フレームの継続時間をインポートする

"FrameRate"  (1)

動画フレームレートをインポートする:

"RasterSize"  (1)

動画フレームのラスタサイズをインポートする:

"VideoEncoding"  (1)

動画コーデックをインポートする:

各プラットフォームでサポートされているデコーダは,$VideoDecodersを使って抽出できる:

音声トラック  (6)

"Audio"  (1)

AVIファイルからAudioをインポートする:

"AudioChannels"  (1)

音声チャンネル数をインポートする:

"AudioData"  (1)

AVIファイルから音声データをNumericArrayとしてインポートする:

保存された音声データをAudioオブジェクトに変換する:

"AudioEncoding"  (1)

音声符号化方式をインポートする

利用できる音声デコーダは$AudioDecodersから抽出できる:

"BitRate"  (1)

音声トラックのビットレートを取得する:

"SampleRate"  (1)

音声トラックのサンプルレートを取得する:

Importオプション  (7)

マルチトラックAVIファイルの生成  (1)

マルチトラックAVIファイルを生成する:

"AudioChannels"  (1)

デフォルトではすべての音声チャンネルがインポートされる:

2つ目のチャンネルのみインポートする:

AudioTrackSelection  (1)

デフォルトではImportは最初の音声トラックからのみデータを抽出する:

AudioTrackSelectionオプションを使って指定の音声トラックからデータを抽出する:

"ImageTopOrientation"  (1)

デフォルトでは,動画フレームはファイルに保存されたネイティブの向きでインポートされる:

上側にする辺を指定する:

RasterSize  (1)

デフォルトでは動画フレームはそのネイティブのサイズでインポートされる:

各動画フレームのラスタサイズを指定する:

SampleRate  (1)

デフォルトでは動画フレームはそのネイティブのサイズでインポートされる:

インポートされたサウンドのサンプルレートを指定する:

VideoTrackSelection  (1)

デフォルトではImportは最初の動画トラックからのみデータを抽出する:

VideoTrackSelectionオプションを使って指定の動画トラックからデータを抽出する:

Exportオプション  (19)

"AnimationDuration"  (1)

エキスポートされたManipulate式の継続時間を指定する:

AudioEncoding  (1)

エキスポートされた音声の符号化方式を指定する:

AudioTrackSelection  (1)

デフォルトではすべての音声トラックがエキスポートされる:

エキスポートする音声トラックを指定する:

音声トラックをエキスポートしない:

Background  (1)

デフォルトでは,透明なグラフィックスと画像の背景色と,大きさの異なる画像をエキスポート前に充填する際の背景色に白が使われる:

異なる充填色を指定する:

BitRate  (4)

動画ファイルにエキスポートするときは,デフォルトで自動ビットレートが使用される:

全体のおおよそのビットレートを確認する:

おおよそのビットレートを提案する:

おおよそのビットレートを確認するが,提案したビットレートと少し異なる可能性がある:

動画と音声のおおよそのビットレートを別々に指定する:

全体のおおよそのビットレートを確認する:

ビットレートが低いと結果のファイルサイズが小さくなるが,生成された動画の質も低くなる:

CompressionLevel  (2)

CompressionLevelオプションを使って,生成された動画のファイルサイズと画質を制御する:

動画と音声の両方のBitRateが指定されているときは,CompressionLevelの値は無視される:

"ControlAppearance"  (1)

デフォルトの設定 "ControlAppearance"Automaticでエキスポートされたアニメーションは,そのアニメーションが生成されたコンピュータシステムに応じて外観が異なる:

"ControlAppearance"Noneとすると,エキスポートされた動画にユーザコントロールは含まれない:

FrameRate  (1)

デフォルトではVideoオブジェクトまたはVideoStreamオブジェクトのエキスポート時にフレームレートは維持される:

別のフレームレートを指定する:

IncludeMetaInformation (1)

メタデータをインポートする:

"Language"や"Title"等のメタデータはエキスポートしない:

MetaInformation (1)

デフォルトでは,サポートされているすべてのメタデータが入力の動画ファイルからエキスポートされる:

もとのファイルのメタデータと比較する:

指定のメタデータをエキスポートするが,選択されたタグだけが"AVI"についてサポートされている:

RasterSize  (1)

デフォルトではVideoオブジェクトまたはVideoStreamオブジェクトのエキスポート時にラスタサイズは維持される:

別のラスタサイズを指定する:

SampleRate  (1)

デフォルトではVideoVideoStreamAudioオブジェクトのエキスポート時にサンプルレートは維持される:

別のサンプルレートを指定する:

VideoEncoding  (1)

エキスポートされた動画の符号化方式を指定する:

VideoTrackSelection  (1)

デフォルトではすべての動画トラックがエキスポートされる:

エキスポートする動画トラックを指定する:

動画トラックをエキスポートしない:

VideoTransparency  (1)

アルファチャンネルで動画を生成する:

デフォルトでは, Exportは透明度を削除する:

アルファチャンネルで動画をエキスポートする: