動画のインポートとエキスポート

Wolfram言語は多数のマルチメディアコンテナやコーデックからのインポート,およびそれへのエキスポートをサポートする.画像および音声処理のための完全なツールも利用することで,ビデオ処理が簡単な処理から高度な解析となる道が開けた.
動画のインポート
動画ファイルはVideoオブジェクトとしてWolfram言語にインポートして,処理や解析を進めることができる.動画ファイルに保存されているさまざまな部分のデータやメタデータはインポート要素から直接利用することができる.
Import["file"]
動画ファイルをVideoオブジェクトとしてインポートする
Import["file",elem]
動画ファイルから動画フレーム,音声等をインポートする
Import["http://"]
リモート動画をVideoオブジェクトとしてインポートする
動画ファイルのインポート
動画ファイルをVideoオブジェクトとしてインポートする:
動画ファイルから音声をインポートする:
2つの動画フレームをインポートする:
動画ファイルの長さをインポートする:
サポートされる動画形式には"AVI""Matroska""MP4""Ogg""QuickTime"がある.Importはキャッチオール形式の"VideoFormat"を使って別の動画ファイルのインポートも試みる.
各メディアコンテナはいくつかの符号化を使ってデータを保存することができる.コーデックのサポートはプラットフォームによって異なる.
$VideoDecoders
サポートされる動画デコーダ
$AudioDecoders
サポートされる音声デコーダ
$SubtitleDecoders
サポートされる字幕デコーダ
動画,音声,字幕に利用できるデコーダ
サポートされるMP4デコーダのリストを抽出する:
動画のエキスポート
Videoオブジェクト,アニメーション,画像フレームのリストは,音声データ付きでもなしでも動画ファイルにエキスポートすることができる.
Export["file.ext",video]
Videoオブジェクトを動画ファイルにエキスポートする
Export["file.ext",images]
画像のリストを動画ファイルにエキスポートする
Export["file.ext",rules,"Rules"]
音声付きの動画を動画ファイルにエキスポートする
動画ファイルへのエキスポート
画像のリストを動画ファイルにエキスポートする:
アニメーションさ作成する:
アニメーションを動画ファイルにエキスポートする:
アニメーションとフレームのリストは,動画ファイルにエキスポートされるとAudioオブジェクトと組み合せることができる.
音声付きのアニメーションを動画ファイルにエキスポートする:
サポートされる動画形式には"AVI""Matroska""MP4""Ogg""QuickTime"がある.各メディアコンテナはいくつかの符号化を使ってデータを保存することができる.コーデックのサポートはプラットフォームによって異なる.
Exportでサポートされる動画コンテナ:
各メディアコンテナはいくつかの符号化を使ってデータを保存することができる.
$VideoEncoders
サポートされる動画エンコーダ
$AudioEncoders
サポートされる音声エンコーダ
$SubtitleEncoders
サポートされる字幕エンコーダ
動画,音声,字幕に利用できるエンコーダ
サポートされるエンコーダのデータを取得する:
コーデックのサポート
Wolfram言語は動画ファイルの符号化と復号化に,デフォルトでは限定バージョンのFFmpegとオペレーティングシステムを使う.
FFmpegのバージョン4.0.0以降をインストールすると,より完全なコーデックサポートが得られる.以下にプラットフォーム別の手順を説明する.
FFmpegをインストールすると,Wolfram言語はデフォルトでそれを使うようになる.
動画処理のシステムオプションをチェックする:
サポートされる動画デコーダ:
インストールされているFFmpegを終了し,明示的に使用不可にする:
それぞれのコンテナに対してサポートされるデコーダの数が減った:
グラフィックスカードの中には,ハードウェアアクセラレーションによるデコーダおよびエンコーダが利用できるものもある:
ハードウェアアクセラレーションによるエンコーダを使うと,エンコード時間が向上することがある:

FFmpegのインストール

Windows,macOS,Linuxでサポートされるのは,FFmpeg 4.0.0以降の64ビットの共有(非静的)ビルドだけである.
Windowsではhttp://ffmpeg.org から共有バイナリをダウンロードしてインストールし,ffmpeg.exeおよび動的ライブラリ(av*.dllファイル等)を含むディレクトリをPATH環境変数に加える.
macOSではHomebrewまたはMacPortsを使って,/usr/local/lib,/opt/homebrew/lib,/opt/local/libのいずれかの場所にインストールする.
Linuxでは,Snapcraft,Flatpack等からインストールされた汎用パッケージはサポートされていない.
あるいは,http://ffmpeg.org からFFmpegソースをダウンロードして,共有リンクで構築し,GPLの部分と必要なコーデックすべてを有効にする.