このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ビデオおよびオーディオ ファイルのサポート形式
MATLAB® のビデオおよびオーディオ ファイルとそのサポートされるファイル形式およびコーデック。
MATLAB のビデオ データ
ビデオ ファイルとは
ビデオ データの場合、"ファイル形式" という用語は多くの場合 "コンテナー形式" または "コーデック" のいずれかを指します。コンテナー形式はファイルのレイアウトを表し、コーデックはビデオ データのエンコード/デコードの方法を表します。多くのコンテナー形式は、異なるコーデックでエンコードされたデータを格納できます。
ビデオ ファイルを読み取るには、アプリケーションは以下の条件を満たさなければなりません。
コンテナー形式 (AVI のような) を認識する。
ファイルに格納されているビデオ データをデコードできるコーデックにアクセスします。一部のコーデックは Windows® および Macintosh の標準システム インストールに組み込まれており、これによって Windows Media® Player や QuickTime® でビデオを再生できます。MATLAB の
VideoReader
は、これらのコーデックの多くにアクセスできます。コーデックを正しく使用して、ファイルのビデオ データをデコードします。元々のシステム インストールに組み込まれていなかったコーデックに関連付けられているファイルは、
VideoReader
で読み取れない場合があります。
VideoReader
がサポートする形式
MATLAB でビデオ ファイルを読み取るには、VideoReader
を使用します。VideoReader
がサポートするファイル形式はプラットフォームによって異なり、ファイル拡張子の制限はありません。
プラットフォーム | ファイル形式 |
---|---|
すべてのプラットフォーム | 非圧縮、インデックス付き、グレースケール、Motion JPEG エンコード ビデオ ( |
すべての Windows | MPEG-1 ( |
Windows 7 以降 | H.264 エンコード ビデオを含む MPEG-4 ( |
Macintosh | 以下を含む、QuickTime Player がサポートするほとんどの形式 メモ: OS X Yosemite (Version 10.10) 以降では、 |
Linux® | GStreamer 1.0 以上用のインストール済みプラグインでサポートされる任意の形式。これは、Ogg Theora ( |
ビデオ ファイルに関連付けられたコーデックの表示
この例では、関数 mmfileinfo
を使用して、ビデオ ファイルに関連付けられたコーデックを表示する方法を説明します。
サンプル ビデオ ファイル shuttle.avi
の情報を構造体配列 info
に格納します。info
構造体には、Filename
、Path
、Duration
、Audio
、および Video
の各フィールドがあります。
info = mmfileinfo('shuttle.avi');
コマンド ウィンドウでプロパティを表示するには、info
構造体のフィールドを表示します。たとえば、Video
フィールドの情報を表示するには、info.Video
と入力します。
info.Video
ans = struct with fields:
Format: 'Motion JPEG'
Height: 288
Width: 512
ファイル shuttle.avi
は Motion JPEG コーデックを使用しています。
トラブルシューティング: ビデオ ファイル読み取り時のエラー
MATLAB が適切なコーデックにアクセスできない場合、ビデオ ファイルを読み取れないことがあります。64 ビット アプリケーションは 64 ビットのコーデック ライブラリを使用し、32 ビット アプリケーションは 32 ビットのコーデック ライブラリを使用します。たとえば、64 ビットの MATLAB を使用している場合、システムにインストールされている 32 ビットのコーデックにアクセスする必要があるビデオ ファイルを読み取ることはできません。これらのファイルを読み取るには、以下のいずれかを試してください。
このファイル形式をサポートする 64 ビット コーデックをインストールします。次に、64 ビット MATLAB を使用してファイルを読み取リます。
ご使用のコンピューターにインストールされている 64 ビット コーデックで、ファイルを別の形式にエンコードし直します。
場合によっては、Windows プラットフォーム上で VideoReader
が読み取り用にビデオ ファイルを開くことができないことがあります。これは、システム設定をオーバーライドするサードパーティのコーデックをインストールしている場合に発生することがあります。このコーデックをアンインストールしてから、再度 MATLAB でビデオ ファイルを開いてください。
MATLAB のオーディオ データ
オーディオ ファイルとは
ファイル内のオーディオ信号は、経時変化するサウンドの振幅を捉える一連の "サンプル" を表します。"サンプル レート" は 1 秒当たりに採取される離散サンプルの数で、Hz 単位で表します。サンプルの精度は "ビット深度" (サンプルあたりのビット数) によって計測され、利用できるオーディオ ハードウェアによって決まります。
MATLAB のオーディオ関数では、単一チャネル (モノ) のオーディオ データを m
行 1 列のベクトルに、ステレオ データを m
行 2 列の行列に読み取り、格納します。いずれの場合も、m
はサンプル数を表します。ステレオ データの場合、最初の列には左側のチャネルが、2 番目の列には右側のチャネルが記録されます。
通常、各サンプルは -1 と 1 の間の倍精度値をとりますが、場合によっては、特にオーディオ ハードウェアで高いビット深度がサポートされない場合、オーディオ ファイルでは 8 ビットまたは 16 ビットの整数で値が保管されます。サンプル値の範囲は利用可能なビット数によって異なります。たとえば、uint8
の値として保存されているサンプルは 0 から 255 (28 – 1) までの範囲となります。MATLAB の関数 sound
および soundsc
では、-1 から 1 までの単精度値または倍精度値のみがサポートされます。他のオーディオ関数では、関数リファレンス ページに示されているように、複数のデータ型がサポートされています。
audioread
がサポートする形式
MATLAB でオーディオ ファイルを読み取るには audioread
を使用します。関数 audioread
は、次のファイル形式をサポートしています。
サポートされているプラットフォーム | ファイル形式 |
---|---|
すべてのプラットフォーム | AIFC (.aifc ) |
AIFF (.aiff 、.aif ) | |
AU (.au ) | |
FLAC (.flac ) | |
OGG (.ogg ) | |
OPUS (.opus ) | |
WAVE (.wav ) | |
Windows 7 以降、Macintosh、および Linux | MP3 (.mp3 ) |
MPEG-4 AAC (.m4a 、.mp4 ) |
Windows 7 より前の Windows プラットフォームでは、audioread
は MP3 でエンコードされたデータを含む WAVE ファイルを読み取りません。
Windows 7 以降のプラットフォームでは、audioread
は Windows Media Foundation によってサポートされるすべてのファイルも読み取ることができます。
Linux プラットフォームでは、audioread
は GStreamer によってサポートされるすべてのファイルも読み取ることができます。
audioread
は、Windows 7 以降、Macintosh、および Linux 上の MPEG-4 (.mp4
、.m4v
) ビデオ ファイルから、また Windows 7 以降および Linux プラットフォーム上の Windows Media ビデオ (.wmv
) および AVI (.avi
) ファイルからオーディオを抽出できます。
参考
VideoReader
| audioread
| mmfileinfo
| audioinfo