7.1.3. x264
7.1.3.1. x264とは
x264はH.264
映像ストリームを作成する為のライブラリです。100%完成してはいませんが、少なくともH.264の機能のうち品質に影響する機能はほとんど、なんらか
の
形でサポートしています。H.264規格には、先進的ではあっても、本質的に映像の品質とは全く無関係な機能が数多く定義されています。そうしたものの
大半はまだx264には実装されていません。
エンコーダの機能
※補足
- x264:
アプリケーションが呼び出すライブラリ。x264.a(静的ライブラリ)など。複合化(デコード)能力を持たず、符号化(エンコード/コーディング)能力
のみなので、コデックと言わすにコーダーと呼ぶ事もある。以下のアプリケーションはx264のAPIを呼び出す。
- x264cli:x264専用のテスト用コマンドライン・アプリケーション。単にx264と言う事も多い。
- ffmpeg:libavcodecのテスト用コマンドライン・アプリケーション。x264を呼び出せる。
H.264のデコーダはlibavcodecシリーズの中にある。
- MEncoder:統合動画エンコード用コマンドライン・アプリケーション。x264,
libavcodecを呼び出せる。
- ffmpegX/MeGUI:
統合動画エンコード用コマンドライン・アプリケーションのGUIラッパー。内部的にx264cliやMEncoderを呼び出して使う。
7.1.3.2. H.264とは
H.264はITU と
MPEGが共同で開発した新しいデジタルビデオコデックの名称です。正式名称は、~大変ややこしいのですが~、"ISO/IEC 14496-10"
または "MPEG-4 Part 10"です。より一般的には"MPEG-4 AVC" とか、単に"AVC"とも呼ばれます。
ま、なんと呼ぼうとH.264 は試す価値アリです。というのは、MPEG-4
ASPの品質を、5%~30%低いビットレートで実現できるからです。実際の結果は素材映像の内容とエンコーダの性能によります。しかしH.264はメ
リットだけではありません。: H.264のデコードは非常に高速なCPUと大量のメモリを要求するようです。実例を挙げると、1733 MHz
Athlonで、DVD解像度の1500kbps H.264 ビデオの再生はCPUの約35%
を使います。これに対し、DVD-解像度の1500kbps MPEG-4 ASP
ビデオはCPUの10%です。これは、大半のユーザーにとってHD解像度の再生はほとんど問題外だという事です。また同時に、そこそこのDVD
ripですら、2.0 GHz程度以下のプロセッサではぎくしゃくし得ると言う事です。
少なくとも x264では、エンコードに必要な性能はMPEG-4 ASPと比べてそこまで酷くありません。例えば、1733
MHz
Athlonでは一般的な DVD エンコードは 5-15fps程度で走ります。
この文書ではH.264の詳細は説明しませんが、おおまかな概略はこちらのpdfにあります:
The H.264/AVC Advanced Video Coding
Standard: Overview and Introduction to the Fidelity Range Extensions(pdf直リン。当ブログ内で一部試訳中、
Doom9
-AVC情報の試訳も参照)。
7.1.3.3. H.264 videoをMPlayerで再生するには?
MPlayer は libavcodecのH.264デコーダを使います。2004年7月以降、libavcodec は少なくとも最小限の
H.264
デコードはできるようになっていて、それ以後も、サポートする機能と、CPU利用効率の両面で大きく進歩しています。常に最近のSVN
checkoutを使うよう心がけて下さい。
libavcodecの H.264デコード機能が最近進化したかどうかを手っ取り早く確かめるには、
FFmpeg Subversion repository's web interface.
をまめに見ておくと良いでしょう。
7.1.3.4. MEncoderとx264でvideoをエンコードするには?
subversion クライアント
(*SVN*)を
インストールしてあれば、以下のコマンドで最新の x264 ソースコードがダウンロードできます。:
svn co svn://svn.videolan.org/x264/trunk x264
x264
のAPIに変更があれば、MPlayerのソースコードも変更されます。ですからMPlayerも常にSVN版を使うのが良いで
しょう。おそらくこの状況は
x264が「リリース」されたら変わると思います。それまでの間、x264は極めて「unstable」と考えるべきでしょう。というのは、プログラミン
グ・インタフェイスが変更の対象になっているからです(*参考記事:
MEncoderの-x264encopts、大規模改訂*)。
x264のビルドとインストールはスタンダードな方法で出来ます。:
./configure && make && sudo make install
これで libx264.a が /usr/local/lib に、そして x264.h が
/usr/local/includeにインストールされます。
(*マルチスレッド・エン
コードをするには./configure
--enable-pthread。事前に./configure --helpで
オプションを確認する事*) x264 のライブラリとヘッダがスタンダードな場所にあれば、x264
サポート付きMPlayerのビルドは簡単です。通常通りに、
./configure && make && sudo make install
これでMEncoderのconfigure スクリプトがx264を自動検出するハズです。
スポンサーサイト