X264

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の日本語訳

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。