コンテナ
動画データといえば、一般的には「拡張子がAVI」というイメージがあります。しかし、AVIファイルでありながら、動画コーデックは、H.264であったり、後述するXvidであることがあります。これはどういうことでしょうか?AVIファイルは、コンテナと呼ばれます。コンテナの意味のまま、まさに入れ物です。ではコンテナには何が入るのでしょうか?
一般的には以下のようなものが入ります。
- 動画
- 音声
- 字幕
- チャプター(章)
- その他のメタ情報
これらのすべてが入っているコンテナもあれば、一部のみのこともあります。たとえば、
H.264コーデックの動画+AC3コーデックの音声
で作成したAVIファイルもあれば、
XviDコーデックの動画+MP3コーデックの音声+字幕
というAVIファイルもあります。コンテナによって違いがありますが、コーデックや字幕などを自分の好みで選択することができます。本稿執筆時で、代表的なコンテナには以下のものがあります。
- AVI Windowsで使われている一般的なコンテナ
- Ogg Xiph.orgが公開するフリーのコンテナ。音声のよさが評判
- MKV Matroska、フリーのコンテナ。対応するコーデックが多い
- MP4 MPEG-4 Part14で策定されたMPEG-4用の動画や音声のコンテナ
QuickTimeのMOVや携帯電話用の3GPP/3GPP2もコンテナといえます。これらの違いはどこにあるのかといえば、コンテナによってサポートする機能が異なります。また動画コーデックの側でも、推奨するコンテナがあります。具体的な事例をあげますと、AVIの場合、ダウンロードですべてのデータが揃わないと再生ができません(たとえ、最後の1Byteでもデータが欠落していると再生不能)。それに対し、Oggはデータの半分があれば、そこまで動画や音声を再生することができます。これは、Oggコンテナがストリーミング機能に対応しているからです。また、シークバーの動作がAVIよりも軽快といったことがあります。
一般的には、後発のコンテナほど機能が豊富であり、多様な動画や音声のコーデックに対応しています(可変ビットレートなどにも対応)。このように優れたコンテナですが、Windows Media Playerなどでは、標準のコンテナではないため、そのままで再生することができません。再生するには、いくつかの方法がありますが、後述する「 ffdshow+Media Player Classicで動画再生」を参照ください。それ以外の方法としては、
などがあります。