※0.3.0(不安定版)はマルチパスの挙動に不具合があります。実験目的以外ではお奨めしません。作者氏は情報を募集されています。
※本記事の目的は人
柱の増殖です。
※基本的にMEncoderでの経験を元にしており、挙動の異なる点が有り得ます。
\ | Memo | MEncoder -x264encoptsの相当オプションと手許常用値 |
---|---|---|
CODEC_FLAG | 補 助的なオプショ ン群 | |
FLAG_LOOP_FILTER | デブロックフィルタ。切
らないのが基本。 MPEG系で発生不可避のブロックノイズ対策を映像データに埋め込む。 再生ソフトのデブロックフィルタ類はこの機能と競合する可能性有り。 | (no)deblock 必ず使用(deblockでオン、nodeblockでオフ、以下同じ) |
FLAG_PSNR | ログにPSNRを表示。高いほど画質が良い。 同一素材の設定を試行錯誤する際に使う。値自体は無意味。比較に使うべきもの。 詳細は「SSIMとPSNRとは」参照のこと。 ※どこに出て来 るのか不詳。 | (no)psnr 必ず使用。あまり参考にしない。 |
CODEC_FLAG2 | 補 助的なオプショ ン群2 | |
FLAG2_BPYRAMID | 要・
max_b_frames=2以上 Bフレームを参照フレームに使う。Bを使うなら推奨。Bのbit節約になる。 | (no)b_pyramid 必ず使用。 |
FLAG2_WPRED | 要・max_b_frames=1以上 適応重み付け予測。Bを使うなら推奨。Bのbit節約になる。 | (no)weight_b 必ず使用。 |
FLAG2_MIXED_REFS | 要・refs=1以上 複合参照。マクロブロックパーティション単位で独自の参照先を選べるようにする。全体の bit節約。 | (no)mixed_refs 必ず使用。 |
FLAG2_8X8DCT | High
Profile専用 8x8DCT変換。 | (no)8x8dct 必ず使用。 |
FLAG2_FASTPSKIP | 早い段階でPフレームのskip検出をする。 使った方が地味に速いが、x264最大の弱点「闇階調でフレーム単位でぱたぱたと動くブロックノイズ」が出がち。 | (no)fast_pskip 必ずnofast_pskip使用。 |
FLAG2_AUD | ※不詳 | 不詳 |
FLAG2_BRDO |
要・me_subpel_q...=6以上 Bフレームのレート歪み最適化。Bのbit節約。Bを使うなら推奨。 | (no)brdo 必ず使用。 |
Box1 | 基 幹オプション | |
me_method | 速度と画
質への影響・大 モーションベクトルのサーチ方式の指定。推奨はhexかumh。 速い順でdia、hex、umh、esa。 遅い方が画質が良いが、esaの画質向上は速度低下と引き合わない。 ※EPZSの内容不詳。x264cliには存在しない。 ffmpeg固有名?学術用語? | me=umh |
coder_type | サイズと画質への影響・大 符号記述方式の選択。CABAC大推奨。 CAVLC:iPod/Apple TVはこちらでなければならないと思われる。適応的可変長符号化 CABAC:15%程度の符号量節約。素のQTPlayerでも再生できる。負荷はエンコード・デコードともに増える。適応的二進数算術符号化 ※ これ自体は画質と関係ない。同じ文章を仮名だけで書くか漢字まじりで書くかといったカンジ のもの。しか し、節約した分のbitは肝心の映像に回る。単独で15%も節約できるオプションは他に無い。 ※学術用語っぽい VLC: 可変長符号化ーバリアブル・レングス・コーディング AC:算術符号化ーアリズメティック・コーディング CA:適応的ーコンテキスト・アダプティブ | (no)cabac 必ず使用。 |
directpred | Bを使うなら推奨。Bのbit節約になる。 一口にBといってもAVCでは細かい種類がある。directはBのモーションベクトルをまじめに書き込まず「隣と同じ」とだけ書き込んでおくType。 まじめに数値を書くよりbitを節約でき、計算時間も早い。ここでは「どっちの隣か」を指定する。 disabled:無し、まじめに 計算して書き込む。画質も速度も最悪。 spatial:空間軸、mencoderの経験上、autoでもほとんどコレになる。最速。 temporal:時間軸、アニメでゴーストが出るという人も居る。これも最速。 auto:空間軸と時間軸を必要に応じて使い分ける。画質は最上、速度は中間。 | direct_pred=auto 必ず使用。 |
trellis | 適応的量子化の一種。理屈不詳。 Disabled:非使用 Only final:最終エンコードでのみ使用 All:全モード決定で使用。(低速、要・me_subpel_q...=6以上) ※メリハリをつけて(適応的)画質を劣化させる(量子化)手法のひ とつ、くらいに理解してます。 trellisは使わないほうが画質が良いケースもあるとする人もいます。 | trellis 必ず使用。 |
Worker Thereads | 速度向上・大 Single/Dual/Quad ス レッド数の指定。 ※x264ライブラリでは1-16。 実際には指定値x1.5を使う。分散するほど画質は劣化するが、主観的にも数値的にも事実上無視して良い。速度向上メリットのほうが大きい。 |
threads 1st=2 2nd=16 上記の理 由 |
Faster FirstPass | 速度向上・大 Disabled/Turbo1/Turbo2 2 パスモードの 1st passで重いオプションを切り、高速化する。 me_method, refs, me_subpel_q...の指定値を無視。独自値を使う。 画質的なデメリットは目で見てもまずバレない範囲とされる。 元はMEncoder独自のプリセット設定を解析、 移植したものなので、他にもあるかもしれない。特にpartitions。挙動に違いがある可能性有り。 ※threadsの分散方式が変わる前の内容なので過信は禁物ですが、一応MEncoderのturboに関わる注意点⇒「x264コデックでのエンコード」内、「主に速度と品質に関わるオプション 」のframerefの項。 | turbo=1 2パスの1stのみ。 必ず使用。 |
Box2 | 1 パス専用オプ ション | |
crf | 1パスで済ませたい人用の「なんちゃって固定量子
化」。 bitrateも指定すると「できるだけ尊重」してくれる。 2パスでは無意味。 ※x264ライブラリでは範囲1-51。指定量子化値を中心にしたABR。 QT では量子化値は「圧縮プログラム/品質」スライドバーか? パス数は「最高品質(複数回実行)」で自動決定か? |
crf 非使用。2パスしかやらない。 (3パスもやらない) |
b_frame_strategy | 不詳 b_bias(Bの挿入性向)? (no)b_adapt(適応的B挿入のオンオフ切り替え)? | |
Box3 | 基
幹オプション ~先にここを決め、残りはそれとの関連で決めましょう~ | |
refs | 速度と画質への影
響・大 複数参照(任意距離参照) 推奨値3程度。実用上限6程度。 増やすほど圧縮効率が良い。但し、そのぶん時間はうなぎのぼりで効果も逓減。 | frameref=4 1stはturboが勝手に下げる |
me_subpel_q... | 速度と画質への影響・大 動き予測全般の算出方式を選択。範囲1-7。デフォルト5。推奨6以上。手許常用7。 可能な限り高く。5以上でないと効果を発揮でき ないオプションがあるから。 | subq=7 1stはturboが勝手に下げる |
me_range | 速度と画質への影響・大 要・ me_method=umhまたはesa。 umhまたはesaで使える動き捜索の範囲指定。 実用範囲16-32。デフォルト16 | me_range 1stは16 2ndは32 |
max_b_frames | 画質への影響・第2位⇒参考 Bフレームの最大連続枚数。推奨3程度。 いくつに指定しようがBに適さないフレームがあったら自動でI/Pにしてくれる。 b_biasを弄らない限り、Bが3連続するようなケースはまず少ない。 | bframes=3 |
sc_threshold | 画
質への影響・第1位⇒参考 Iフレーム挿入性向。デフォルト40 ほとんどの実写は40でイイ感じ。アニメは上げるべき。 ※x264はIフレームの挿入位置をしくじるとかなり痛い。多すぎても少なすぎてもかなり痛い。 アニメや、非常に短い間隔でシーンカットがあるものは、MEncoderではkeyint_minを下げないとIフレームが適正位置にうまく入らない。 ffmpeg にもx264専用の-keyint_minがあるが、QuickTimeも独自にキーフレーム挿入アルゴリズムを持っている。 |
scenecut 実写40 白黒高め(色情報を信頼できない) アニメ65以上、かつkeyint_minを1以下に。 |
qcompress | 下手に弄
らない。 低くするとビットレートの変動幅が低くなる。=画質の変動幅が大きくなる。 高くするとquantizerの変動幅が低くなる。=画質の変動幅が小さくなる。 ※基本的にAVCやVC-1は単純にビットレートを上げるよりも、全体平均ビットレートを低く抑えてbit 配分にメリハリをつけるほうが「画質が良い」と、プロも言っておられる。qcompressは上げても下げてもメリハリが失 せるという、画質的には難しい存 在。ストリーミングでは重宝か。 x264ライブラリのオプションとしては比較的古株だが、よりダイレクトにビットレートの変動幅を弄るratetolや、quantizerの変動幅を弄るqp_stepのほうがなにかと効果が解りやすく便利。ファイル全体に渡るbit配分をいじるオプションもいくつかあるが、それに手を出すのはちょっ、、、レート配分を時系列でグラフ 化?。 | qcomp デフォルトのまま。 |
noise reduction | ノイズリダクション MEncoderでは有用範囲は100-1000としている。 ※ 実際のエンコード工程に入る前に実行されるので、規格互換性の心配無用。 | nr 手許ではhqdn3dを常用。 |
Console log | ||
log info | ||
log debug | ||
log stats | ||
nclc and ganma | QuickTime 固有の要素。 | |
No nclc info | 調査
中 | 対応無し |
Add gamma 2.2 | 「Apple製品しか使わな
い」ならオン。 「Win/linuxでもできるだけ同じ色で見たい」ならオフ。 | 対応無し |
Native fps | 素材に応
じて指定。 |