動画の基本
Wolfram言語は動画オブジェクトを第一級オブジェクトとしてサポートしているため,プログラムによるアクセス, 多数のマルチメディアコンテナおよびコーデックの処理や分析が可能である.これにより,画像処理や音声処理の完全なツールと相まって,動画処理が簡単な処理から高度な分析へと切り開かれた.
Video[file] | file の動画を表す動画オブジェクト |
Video[url] | url の動画を表す動画オブジェクト |
Video[Manipulate[…]] | Manipulateオブジェクトから生成される動画 |
VideoGenerator[model] | モデルから生成される動画 |
Import[file,elem] | 動画 file の指定された要素をインポートする |
動画オブジェクトは,インタラクティブな動画描画機能を含む,ローカルあるいはリモートファイルへの参照である.フィでおファイルの実際のデータはアウトオブコアであるが,画像フレームや音声チャンクのような部分はメモリにインポートすることができる.
セルオートマトンの進化を示す画像で10秒間のVideoを作成する:
Importを使うと,動画ファイルから時間,フレームのリスト,音声データ等の特定のデータやメタデータ要素を得ることができる.
動画の音声コンテンツをAudioオブジェクトまたはRawデータとしてインポートする:
動画ファイルおよびそのコンテンツに関連するVideo特性は以下の関数で得ることができる.
Duration[video] | video の長さを与える |
Information[video,prop] | video の特性 prop を返す |
Import[file,"Summary"] | file の特性の概要をインポートする |
Information関数は動画の概要を与える:
Informationを使うと,動画オブジェクトの中の1つの特性を抽出することができる:
Videoオブジェクトは,動画データのアクセスや抽出を制御するオプションを取ることができる.これらのオプションはファイルのコンテンツには影響を与えずに,抽出されたデータでの処理や表示のための特性を決定する.
AudioTrackSelection | 関心がある音声トラックを選ぶ |
RasterSize | 抽出されたビデオフレームのラスタサイズを与える |
SubtitleTrackSelection | 関心がある字幕トラックを選ぶ |
VideoTrackSelection | 関心がある動画トラックを選ぶ |
より小さいRasterSizeを指定することで,動画の解像度を低くする:
Appearance | 動画プレーヤーの外観 |
AudioOutputDevice | 動画再生に使う音声出力デバイス |
ImageSize | 表示される動画の画像サイズ |
SoundVolume | 動画プレーヤーの音量 |
Audio[video] | 最初の音声トラックに対応するAudioオブジェクトを返す |
VideoFrameList[video,n] | n 個の動画フレームのリストを返す |
VideoExtractFrames[video,{t1,t2,…}] | 時間 t1,t2,…における動画フレームを抽出する |
VideoCombine[video,audio,…] | 動画オブジェクトと音声オブジェクトを組み合せて1つの動画にする |
VideoDelete[video,{t1,t2}] | 動画の一部を削除する |
VideoJoin[video1,video2,…] | 複数の動画オブジェクトを順に足していく |
VideoSplit[video,{t1,t2}] | 1つの動画を複数の動画セグメントに分割する |
VideoTranscode[video,format] | 動画を指定の形式およびコーデックにコード変換する |
VideoTrim[video,{t1,t2}] | ビデオの1セグメントをトリミングする |
動画の処理やフィルタリングは動画入力,動画出力の操作である.関数は個々のフレーム,あるいは一連の動画フレームに適用され,出力動画用の新しいフレームを生成する.動画分析は,統計量を計算したり,単独のフレームや一連の動画フレームから特徴を抽出したりすることによって,動画のコンテンツを理解する処理である.
AudioTrackApply[f,video] | video の音声トラックに f を適用し,新しい動画を返す |
VideoFrameMap[f,video,…] | 動画フレームのパーティションに f を適用し,新しい動画を返す |
VideoMap[f,video,…] | 動画のパーティションに f を適用し,新しい動画を返す |
VideoMapList[f,video,…] | 動画のパーティションに f を適用し,リストを返す |
VideoMapTimeSeries[f,video,…] | 動画のパーティションに f を適用し,時系列を返す |
VideoIntervals[video,crit,…] | 動画のパーティション上で crit をチェックし,関心のある区間を返す |
VideoFrameMapは画像関数を個々のフレームまたは一連の動画フレームに適用し,新しい動画オブジェクトを生成する.
VideoStream式を使うと,動画再生をプログラムで操作することができる.
VideoStream[video] | video から新規のVideoStreamオブジェクトを作成する |
VideoPlay[vstream] | VideoStreamオブジェクト vstream の再生を開始する |
VideoPause[vstream] | vstream の再生を一時停止する |
VideoStop[vstream] | vstream の再生を中止する |
VideoStreams[] | 既存の全ビデオストリームを返す |
RemoveVideoStream[vstream] | VideoStream オブジェクト vstream を削除する |