Main Content

ビデオおよびオーディオ ファイルのサポート形式

MATLAB® のビデオおよびオーディオ ファイルとそのサポートされるファイル形式およびコーデック。

MATLAB のビデオ データ

ビデオ ファイルとは

ビデオ データの場合、"ファイル形式" という用語は多くの場合 "コンテナー形式" または "コーデック" のいずれかを指します。コンテナー形式はファイルのレイアウトを表し、コーデックはビデオ データのエンコード/デコードの方法を表します。多くのコンテナー形式は、異なるコーデックでエンコードされたデータを格納できます。

ビデオ ファイルを読み取るには、アプリケーションは以下の条件を満たさなければなりません。

  • コンテナー形式 (AVI のような) を認識する。

  • ファイルに格納されているビデオ データをデコードできるコーデックにアクセスします。一部のコーデックは Windows® および Macintosh の標準システム インストールに組み込まれており、これによって Windows Media® Player や QuickTime® でビデオを再生できます。MATLAB の VideoReader は、これらのコーデックの多くにアクセスできます。

  • コーデックを正しく使用して、ファイルのビデオ データをデコードします。元々のシステム インストールに組み込まれていなかったコーデックに関連付けられているファイルは、VideoReader で読み取れない場合があります。

VideoReader がサポートする形式

MATLAB でビデオ ファイルを読み取るには、VideoReader を使用します。VideoReader がサポートするファイル形式はプラットフォームによって異なり、ファイル拡張子の制限はありません。

プラットフォーム

ファイル形式

すべてのプラットフォーム

非圧縮、インデックス付き、グレースケール、Motion JPEG エンコード ビデオ (.avi)
Motion JPEG 2000 (.mj2) を含む AVI

すべての Windows

MPEG-1 (.mpg)
Windows Media ビデオ (.wmv.asf)
Microsoft® DirectShow® がサポートするすべての形式

Windows 7 以降

H.264 エンコード ビデオを含む MPEG-4 (.mp4.m4v)
Apple QuickTime ムービー (.mov)
Microsoft Media Foundation がサポートするすべての形式

Macintosh

以下を含む、QuickTime Player がサポートするほとんどの形式
MPEG-1 (.mpg)
H.264 エンコード ビデオを含む MPEG-4 (.mp4.m4v)
Apple QuickTime ムービー (.mov)
3GPP
3GPP2
AVCHD
DV

メモ: OS X Yosemite (Version 10.10) 以降では、VideoWriter を使用して書き込まれた MPEG-4/H.264 ファイルは正しく再生されますが、不正確なフレーム レートが表示されます。

Linux®

GStreamer 1.0 以上用のインストール済みプラグインでサポートされる任意の形式。これは、Ogg Theora (.ogg) を含めてhttps://gstreamer.freedesktop.org/documentation/plugins_doc.htmlに一覧表示されています。

ビデオ ファイルに関連付けられたコーデックの表示

この例では、関数 mmfileinfo を使用して、ビデオ ファイルに関連付けられたコーデックを表示する方法を説明します。

サンプル ビデオ ファイル shuttle.avi の情報を構造体配列 info に格納します。info 構造体には、FilenamePathDurationAudio、および 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、および LinuxMP3 (.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) ファイルからオーディオを抽出できます。

参考

| | |

関連するトピック