QuickTime (.mov,.qt)

予備知識

    • 登録MIMEタイプ:video/quicktime
    • Apple QuickTimeファイル形式.
    • マルチメディアのコンテナ形式.
    • 複数の動画,音声,字幕のトラックを含むことができる.
    • 動画をアーカイブに保管したり,交換したりするためによく使用される.
    • 音声と動画のコンテンツを同時プレイバックするのに適した形式で保持する.
    • バイナリ形式.
    • さまざまな音声と動画のコーデックもサポートする.
    • 1991年にAppleによって導入された.

ImportとExport

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

Import要素

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

Export要素

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

オプション

例題

すべて開くすべて閉じる

  (3)

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

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

VideoオブジェクトをQuickTimeにエキスポートする:

スコープ  (7)

Import  (2)

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

メタ情報要素をインポートする:

Export  (5)

画像のリストをQuickTimeにエキスポートする:

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

Manipulateで作成したものをQuickTimeにエキスポートする:

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

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

Manipulateで作成したものに音声をつけてエキスポートする;

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

Graphicsをエキスポートするときは,フレームは最初のフレームの大きさでラスタライズされる:

Import要素  (34)

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

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

利用できる要素  (1)

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

動画要素  (3)

"Video"  (1)

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

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

"VideoData"  (1)

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

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

"VideoStream"  (1)

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

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

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

トラック数  (3)

"AudioTrackCount"  (1)

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

"SubtitleTrackCount"  (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を使って抽出できる:

音声トラック  (7)

"Audio"  (1)

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

"AudioChannels"  (1)

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

"AudioData"  (1)

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

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

"AudioEncoding"  (1)

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

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

"AudioFile"  (1)

アウトオブコアのAudioオブジェクトをインポートする:

アウトオブコアのAudioはメモリにデータを保持しない.インコアのAudioと比較する:

"BitRate"  (1)

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

"SampleRate"  (1)

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

字幕トラック  (5)

"RawSubtitle"  (1)

QuickTimeファイルから生の字幕を取得する:

字幕が存在しない場合はNoneが返される:

"SubtitleEncoding"  (1)

字幕の符号化方式をインポートする:

利用できる字幕符号化方式は$SubtitleDecodersを使って抽出できる:

"SubtitleRules"  (1)

スタイル付けされたテキストのリストとして字幕を取得する:

字幕が存在しない場合はNoneが返される:

"SubtitleString"  (1)

単一の文字列として字幕を取得する:

字幕が存在しない場合はNoneが返される:

"SubtitleStringRules"  (1)

プレーンテキストのリストとして字幕を取得する:

字幕が存在しない場合はNoneが返される:

Importオプション  (11)

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

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

"AudioChannels"  (1)

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

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

AudioTrackSelection  (1)

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

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

"ImageTopOrientation"  (1)

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

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

IncludeMetaInformation  (3)

音声メタデータを含むQuickTimeファイルを生成する:

デフォルトでは利用可能なすべてのメタデータがインポートされる:

メタデータをインポートしないようにする:

メタデータの指定のクラスだけをインポートする:

RasterSize  (1)

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

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

SampleRate  (1)

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

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

SubtitleTrackSelection  (1)

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

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

VideoTrackSelection  (1)

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

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

Exportオプション  (23)

"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 (3)

デフォルトではAudioオブジェクトに存在するすべてのメタ情報がエキスポートされる:

どのメタデータを含むのかを指定する:

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

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

MetaInformation (1)

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

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

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

RasterSize  (1)

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

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

SampleRate  (1)

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

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

SubtitleEncoding  (1)

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

SubtitleTrackSelection  (1)

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

エキスポートする字幕トラックを指定する:

字幕トラックをエキスポートしない:

VideoEncoding  (1)

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

VideoTrackSelection  (1)

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

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

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

VideoTransparency  (1)

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

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

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