x264とは
x264は、動画を
MPEG-4 AVC'>[H.264]ビデオストリームへ
エンコードするためのフリー
ソフトウェアです。GPL
ライセンスの下で公開されており、コマンドラインプログラムのx264cliと
ライブラリのlibx264で構成されています。
FFmpegと連携したデコードや、VLC、
HandBrakeなど多数の
フロントエンドやプラグインから利用できます。
特徴
高画質・高圧縮
x264は、その画質の高さと圧縮率の高さで知られています。MSU
MPEG-4 AVC/
H.264 Video Codec Comparison 2011では、商用エンコーダーを含めて最高の評価を得ています。PSNRやSSIMだけでなく、人間の視覚特性も考慮した画質設計がされています。
柔軟なビット深度と色空間
一般的な8bit深度だけでなく、10bit深度の
エンコードに対応しています。また、YUV4:2:0に加え、YUV4:2:2やYUV4:4:4といった
色空間も扱えます。高ビット深度を利用することでバンディングを抑制し、より高品質な
エンコードが可能です。
高速な処理
マルチスレッドに対応しており、各種CPUの
SIMD命令(
MMX, SSE, AVXなど)を活用することで高速な
エンコードが可能です。低遅延
エンコードにも対応しており、リアルタイム配信などにも利用できます。
豊富な機能
ビットレートや品質を指定した
エンコード、2パス
エンコード、速度プリセット、プロファイル制限、
Blu-ray Disc互換
エンコードなど、豊富な機能を備えています。Iフレームのみでの
エンコードやロスレス
エンコードも可能です。
幅広い普及
YouTubeやFacebookをはじめとする多くのWebサイトで利用されているほか、VLCや
HandBrakeなどの
エンコードソフトにも組み込まれています。
その他
周期的イントラ更新によるフレームサイズ均一化
ステレオ3D動画のフレーム形式対応
欠点
12bit深度の非対応
AVC-Ultra、
MPEG-4 MVC、
MPEG-4 WVCの非対応 (パッチによる対応は存在)
主な更新履歴
r240: マルチスレッド対応
r264: ロスレス
エンコード対応
r570:
インターレースに対応
r581:
Video for Windows (VfW) の公式サポート終了
r607: マルチスレッド時の分割方法変更
r733: YV12変換機能の削除
r1177: 新しいプリセットシステム導入
r1327: 重み付けPフレーム予測対応
r1379:
FFmpeg経由の入力サポート
r1380: 周期的イントラ更新追加
r1480: Blu-ray互換
エンコードサポート
r1657: OpenGOPをサポート
r1666: 9/10bit
エンコードサポート (出力のみ)
r1731: 10bit入力対応
r1746: libx264からx264cliへのDTS圧縮移動
r1786: カスタムクロッピング矩形に対応
r1801: Google Code-In パッチ適用
r1829: ステレオ3D動画サポート
r1880: Intel AVX 対応
r1881: VBV制限の強化
r1935: --bluray-compat オプション追加
r1961: MBAFF インターに対応
r2017: YUV4:4:4
エンコードに対応
r2018: RGB
エンコードに対応
r2081: YUV4:2:2
エンコードに対応
r2257:
QNX に対応
r2286: GPU
エンコードをサポート
r2355:
AVC-Intraをサポート
x264vfw
x264のVfW版ですが、公式サポートはr581で終了しています。外部プロジェクトとして開発が続けられていましたが、2017年以降更新されていません。
x264自体は分散
エンコードをサポートしていませんが、x264farmという分散
エンコードソフトウェアが存在します。x264farmはGPL
ライセンスで公開されており、
OCamlで書かれています。
参照
x264 Home Page
VideoLANによるx264バイナリ配布ページ
*
猫科研究所(felid labo) - changelogの日本語訳