2008/04/09

x264設定メモ1

 ブログ作ったまま放置して、x264とVBScriptを弄ってました。折角なんでメモ替わりに設定について書いておきます。既出の情報ばっかりですけど。

  • 良く弄るオプション
動画の動き、要求する画質、エンコ速度にあわせて変えるオプション設定。
--keyint
--min-keyint
--ref
--me
--subme
--partitions
--trellis
--b-frame

  • 固定でつけるオプション
固定で付けておいてあまり弄らないオプション、ただしQT7対応の時に外すものもある。
--scenecut
--b-pyramid
--b-rdo
--mixed-refs
--bime
--8x8dct
--no-fast-pskip
--no-dct-decimate

  • オプション解説
--keyint, --min-keyint
オプション弄るならまずコレを弄るべきだった。シークしやすくなるというよりも、x264のフレーム圧縮の基点になる最重要項目。fpsを一応基準として、場面転換が1秒間に何回も無いアニメの本編とか動画なら

--keyint (fps*10), --min-keyint (fps)

場面転換が多く、全体的に1フレームで動いているような出来のいいエロゲOPなら

--keyint (fps*10), --min-keyint(fps/10)

これでもまだ動くなら--min-keyint 1とかでも良い。
というか、きしめんの場合は1で良かった。

--ref
 同じ絵が比較的連続している場合効く。というかH.264のメイン。
動きが少ないならかなり効くが、あまり上げすぎるとエンコードが極端に遅くなる。
あとH264のプロファイルLvである程度数に制限があるが、通常は動く動かないに関らず3付近が使い勝手が良い。

 なお、x264のコマンドラインの結果で参照フレームごとの使用率が出るので目安にするのも良し。

 x264 [info]: ref P 78.3% 14.0% 7.6%

 これは--ref3の場合。Pフレームでの参照数1枚が78.3%、2枚が14.0、3枚が7.6%。
同じ条件で--ref 4にしたら4枚が1.2%だった。つまり3が妥当で2でも良いハズと言うこと。

--me
 これも重い--refとエンコ時間と相談。基本的に通常="hex",キレイ="umh"の二択、本気エンコするなら"esa"もアリ。
 "dia"と"hex"の時間差は誤差。ただし1Pass目やnPassの途中で使う手がある。
 1Pass目で"dia"、2Pass目で"esa"としても2Passとも"esa"の時と比べて画質は殆ど変わらない。これがMeGUIで言うターボモード。
 nPassエンコードが10パス以上でないと効果が出ないx.264エンコでは大事。

--subme
6が--b-rdoが使用可能になるなど時間割も良く鉄板。でなければ5。
ただし--meと同じく1Pass、nPass途中では1にするとエンコ時間節約できる。

--partitions
 8x8サイズ、4x4のマクロブロックを選択。
変えるならデフォルトの"p8x8,b8x8,i8x8,i4x4"か"all"か"none"のどれか。
 時間惜しいなら1Pass目や途中のnPassは"none"でいい気がする。
不正確、誰か教えて。

--trellis
 画質の微調整なのに、デコード時の重さが全く違ってくる、低スペック切り捨て用のステキオプション。Semperon 3100+ INSIDEな私の環境だと--trellis 2はffdshow再生時でもコマ落ち回避不能。
 これも1Pass目、マルチパスの最終Pass以外は"0"で良い。

--b-frame
 高ビットレートなら2か3、低ビットレートなら3か4がビットレート比画質が良い。
ニコ動用エンコなら一律3、4でいい。

--scenecut
 デフォ値40じゃ足りない。60~70が一般的な適正値だって。
60-70にしたらキーフレームがよい感じに入る。なんで40なんだ。
 

--b-pyramid
 Bフレーム使うなら指定すべき。唯一のリスクはQT7.4以前が対応していないこと。
ただし、QT7.4以降も対応していないオプションは--b-frame1以降などと多い。
なお、Windows2000だとQT7.1.2以降はサポート打ち切られてインストールできない。
みんなMPCかGOMとffdshow使うべき。

--b-rdo
 --subme 6のオマケ。というかむしろコレ付ける為に6にする食玩的なオプション。

--mixed-refs
 エンコ時間は伸びる、ただしそれでもSSIM値は確実に改善する。
--me弄るなら、こっちONにしたほうが良い。

--bime
QT7で再生できない以外、ノーリスク。b-frame使うなら迷わず使え。

--8x8dct
これ付けないと--partitions "i8x8"が使えない。迷わず付けるべき。
くいっくたいむって何ですか、1ターンに7回連続攻撃できる術ですか?

--no-fast-pskip
 Pフレームの精度が上がり、ちょっと遅くなる。でも付けとけ。

--no-dct-decimate
 ツブレ軽減。超低ビットレートでは要らない。あとflatマトリクスよりはjvtとかの方が
切り捨て値が増えてるのでさらに効果的。

 以上、詳しい人には全く真新しい情報無い、オプション解説でした。
というか「アニメエンコで役に立つかもしれない覚書」に書いてありますしね。

 でも200回ほど、きしめんエンコードして確かめてったんで

 許して。

0 件のコメント: