動画再生マスターへの道 ( Page 1 2 3 ) <番外編>
〜 x264 コーデックの動画再生方法 〜
x264とは、H.264/AVC に準拠したオープンソースのエンコーダです。videolan.orgの開発チームが2004年6月から公開し、2005年8月現在Revisionは285を数えます。非常に頻繁にアップデートされているのです。
ソースコードは、Laurent Aimar, Eric Petit (OS X), Min Chen (vfw/nasm), Justin Clay (vfw), Måns Rullgård, Loren Merritt らによって書かれています。
なお、このソフトウェアは GPL license のもとに配布されています。バイナリは、Jarod、Celtic Druid、Sharktooth らのページから入手できます。
H.264/AVC とは
では、この x264 によってエンコードされた動画の再生方法を解説する前に、H.264/AVC とは何なのかについて述べたいと思います。
H.264/AVCとは、MPEG と ITU-T によって共同策定された次世代動画像コーデック(符号化・復号化機構)の標準規格です。MPEGは Moving Picture Coding Experts Group の略で、国際標準化機構(ISO) の下部組織の団体のことです。ITU-Tも国際電気通信連合(ITU)の下部組織のことです。H.264/AVC は、前者は動画像の圧縮技術 MPEG-4 Part10(AVC)として標準化し、後者では電気通信技術H.264 として標準化されました。そのため、まとめてH.264/AVCと呼ばれるのです。
動画の圧縮技術と電気通信技術がどういった場面で共通点を持つのかというと、テレビ放送や、テレビ電話などが考えられます。例えば、ITU のH.263は現在テレビ電話に採用されています。現在まで広く普及したMPEG-2 も共同策定されていて、H.262と等価です。
H.264/AVC では、地上デジタル放送の1セグメント放送、Blu-ray Disc ・ HD DVDといった次世代光ディスクなどの様々な利用が期待されています。
次世代映像コーデックのH.264/AVC がここまで期待されているのは、その圧縮率の高さです。MPEG-2の約2倍、MPEG-4の約1.3倍とも言われています。今後、より高品位な映像が扱われていくため、このような高性能な圧縮技術が対応することになったのです。
なお、ここではH.264の符号化方式など技術的な解説は控えて、実際の再生法に移りたいと思います。
エンコーダx264の動画再生法
ffdshowとは
ffdshowは、様々な映像・音声の形式に対応した、DirectShow / VFW マルチコーデック環境を提供するものです。DivX や XviD など多数のフォーマットを扱うことができます。その他ポストプロセッシング等のいろいろな機能群も実装されていることが特徴です。また、再生負荷が純正のコーデックよりも軽いので、再生だけを目的としているならば、ぜひ導入をおすすめします。
バイナリの入手については配布サイトが多いですが、Celtic Druid による 最新版CVS buildは以下のサイト(日本国内)からDownloadできます。
http://ffdshow.faireal.net/mirror/ffdshow/
あるいは、当サイトにも最新バイナリ(2006年7月10日現在)をおいておきます。
ffdshow-20060709-Q.exe (Multi-language binary,Multi Thread 対応)
なお、このソフトウェアもオープンソースで開発されていて、GPL license のもと配布されています。こちらも更新は非常に頻繁です。
使用環境により、バージョンによっては不具合を感じるものがあります。その際は最新版以外のものも試してみましょう。
ffdshow のインストール
ダウンロードしてきたファイル、"ffdshow-xxxxxxxx.exe" を実行します。xxの部分には20050803のようなビルドの日付(バージョン)が入ります。データの読み込みの後、言語を選択するダイアログがでます。

日本語を選択した場合、「ffdshowセットアップウィザードへようこそ」が出るので、「次へ」。ライセンス契約書に同意できるなら、「同意する」に進みます。

次にインストールするコンポーネントの選択。基本的にデフォルトのままでよいですが、エンコーダとしても使う場合で、VirtualDub や Avisynth などのプラグインを入れたい場合は、チェックしておきます。

このffdshowで取り扱うコーデックの選択です。ここではH.264のデコーダとして使用することを想定しているので、H.264だけにチェックを入れています。使う予定がないコーデックは、後々のトラブルを避けるためにチェックを外す方が無難です。なお、この選択はインストール後に設定で変更できます。次の音声コーデックについても全く同様です。

次の画面では映像、その次は音声のフィルター機能の選択です。こちらも後で設定変更できるので、今はデフォルトのままでよいでしょう。

あとは「次へ」で行ってよいと思います。インストール完了が表示されたら、「次へ」で「完了」します。
スプリッターについて
ffdshow にしろ専用コーデックにしろ、拡張子が.aviとなっている場合は、標準で Windows Media Player で再生できますが、拡張子が.ogm、.mkv、.mp4 の場合はコーデックだけでは再生できません。これらは Windows 標準のコンテナではないからです。コンテナについては<基礎知識>を参照してください。
コンテナには、各々に対応したスプリッターというものをインストールする必要があります。以下ではこれらすべてに対応するスプリッター(Haali Media Splitter) の導入法について紹介します。
Haali Media Splitter のインストール
Haali Media Splitter はこちらのサイトから Download できます。http://haali.cs.msu.ru/mkv/
こちらも当サイトに最新バイナリ(2006年7月9日現在)をおいておきます。
MatroskaSplitter.exe (英語版)
右側の"Download"の枠にあるリンクがバイナリになっているかと思います。実行すると以下のようなライセンス同意書が出るので、同意する場合は I Agree をクリックします。

インストール場所の設定です。通常は Next で良いと思います。

続いてオプション設定。標準で MKV 対応のスプリッターは入りますが、オプションでMP4、OGM 対応のスプリッターをインストールすることができます。必要に応じて選択してください。

ファイルがコピーされて完了。

Back(実践編へ)