コンテナ

動画データといえば、一般的には「拡張子が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で動画再生」を参照ください。それ以外の方法としては、

  • Haali Media Splitterを利用(コーデックは別途インストールの必要あり、次節で解説)
  • 公式サイトから必要なソフトウェアをダウンロード(OggMatroska)

などがあります。