x264(統計情報・ログ)x264(統計情報・ログ)このページの全ては誤っているかもしれません。x264関連の記事に関してを読んでください。x264(統計情報・ログ)x264cliが表示する統計情報の読み方のメモ。Forumの丸パクリ+α。この元ネタは2007/09/01と古いが、統計情報(ログ)の形式は当時からそれほど変化していない。多少の違いは見られることには注意すべきだが、十分現在にも通用する。この記事は単なる翻訳ではなく現状に関しての説明も加えているので、説明部分は2010/04/08現在で十分な内容にしているつもり。サマリー編も2007/06/29と古いが、併せて参照するとよいだろう。一部自信のない部分もあるので、間違いがあれば指摘をいただければありがたい。kb/s上から順に説明していく。frames)入力ファイルの情報(解像度、フレームレート、総フレーム数)。現在ではプログレッシブ・インターレースの別や分数形式でのfps、SARを表示したりもする。3DNow!x264が使用するCPUの拡張機能。この例では、使用されている拡張機能から、どうやらAthlon64だと思われる。bufsize.--vbv-maxrateが指定されているのに、--vbv-bufsizeが指定されていないので警告されている。特定のデバイス向けにエンコードするのなら、最大ビットレートだけではなく適切なバッファサイズを指定する必要がある。10000000)mp4のmuxに関連するdelay値。r1379でmp4にはedtsを使用して適正なdelayが入るようになったため、この情報は不要になった。edtsに正しく対応しないプレーヤやスプリッタも多いので注意。Splitterは対応するようになったはず。9179各フレームタイプの使用された数、平均QPとサイズ。一般的にQPに関しては「I<P<B」になり、逆にサイズは「I>P>B」になる。この比率は--ipratio/--pbratioで調整できる。skip:61.0%使用されたパーティション(--partitionsで指定する)に関する統計情報。i4x4の割合を示している。p4x4の割合を示している。b8x8の割合を示している。Iの行の5.9%とは、Iフレームにおいてi4x4が5.9%使用されたことを示す。P/Bフレームにはiパーティションを含むことができるので、iと共にp/bパーティションを表示している。PフレームにはスキップMB、BフレームにはダイレクトMBとスキップMBが使用できるため、これらも表示されている。x264はb8x4/b4x8/b4x4をサポートしないため、これらが表示されることはない。5.0%」という表示が付く。これはb8x8サブパーティションにおいて、L0/L1/双予測の使われた割合をそれぞれ示していると思われる。inter:73.5%8x8変換が実際どの程度使用されたかを示している。現在では--8x8dctは--fullhelpから消えており、デフォルトで有効になっている。mainなどで8x8dctを無効しない場合には表示されることになる。autoを指定したために表示されている。x264がdirect-mvで使用したspatialとtemporalの割合を示している。5が使用されており、P/Bフレームがどのフレームをどのくらい参照したかを示している。どの程度の--refが有効であるかを見る上で有用で、右の方に行くほど離れたフレームが参照されている。右端の数値が0%であるなら、それ以上-r/--refを増やす意味はないかも知れない。normal/strictでは、Bフレーム側がL0/L1に分けて表示される。noneの場合は、L1は未来方向に1つ目のPフレームを100%参照するのでL1が表示されない。kb/s:3441.8出力された生(raw)のH.264ストリームのビットレート。kb/sx264がエンコードした総フレーム数、1秒間にエンコードした平均フレーム数(x264の処理速度の目安になる)、コンテナのオーバーヘッドを含む最終的なビットレート。筆者の手元で試す限り、r1542現在、最終ビットレートは時折変な(不当に低い)値を表示することがある。上記の例には含まれないが、現在では出力されるものの一部について。ここの項目は元ネタでは説明されていないため、猫科研究所による説明になる。猫研の能力はたかが知れているので、信頼性に注意。YV12自動的にAvisynth経由で入力する機能を使用した場合に、どの入力方法が使用されたかについての表示。ここではFFmpegSource2もDSS2も見つからなかったのでDirectShowSourceが使用されている。最後の警告はx264が入力に使用できる色空間(YV12)に変換したことを示すが、現在のところ既にYV12である入力に対しても表示される。これはAvisynthがplanar色空間に対して常にYV12だと回答してしまうため、ConvertToYV12を常に呼ぶようにしている、ということのようだ。2.1使用されたプロファイルとレベル。それぞれ--profileと--levelで強制することができる。1/2である場合に、Bフレームがどのくらい連続したか、という統計情報。左から0枚、1枚、2枚...となっている。0枚はI/Pの後に1枚もBフレームが入らずI/Pフレームが来るケース。1枚はI/Pの後に1枚だけBフレームが入り、その後I/Pフレームが来るケース。2枚はI/Pの後に2枚Bフレームが入り、その後I/Pフレームが来るケース。右端の数値が0%であるなら、それ以上-b/--bframesを増やす意味はないかも知れない。smartにおいて、全てのPフレーム中、重み付きPフレームが使用された割合。uvACそれぞれについて、intra/inter別に、DCT係数が全て0にはならず、符号化された割合。これらは知ったとしても特に扱いようがないかもしれない。QPを高くすれば量子化により0になるケースが増え、全体にこれらの値が下がる。uvACの値は減らせる。5%r1262から追加された、intra予測モードに関する情報。現状、筆者がよく理解していないため説明は保留させてもらうが、内容を知ったところで、恐らく特にアクションの起こせるものでもない。上記の例に含まれないもので、目についたものをここに追加していく。エンコードのモードがABRの場合のみ表示される。最終的に使用されたQPの平均値を表示している。Perl5.010001。