How to Use ffmpegX_2005
6.Options tab
最終更新:
how_to_use_ffmpegx
-
view
6. Options tab
ここでやること:
映像コデックのオプション。
このタブの内容は選択したエンジン/コデックにより大幅に変わる。また、同じ設定名でも挙動が異なる箇所もある
ここでは、MEncoder-XvidとH264(MEncoder-x264)のみ解説。
6.1. Xvid MEncoder
左列 | |
High Quality | 動き予測の精度。速度は概ね3倍程度変わるが、画質は向上し、ファイルサイズ(=必要なビットレート)も減る。 |
Use B-frames | Bフレームの使用。一般にBが多すぎると画質が下がるが、ffmpegXは最小限しか使わないのでさほどでもない。 ファイルサイズ(=必要なビットレート)も減る。 |
Cartoon content | 使わない方が画質は良い。 印象としては、隣接ピクセルを同系色で塗り潰そうとする傾向がある。バグス・バニーあたりの「カートゥーン」には良さげだが、「アニメ」や「アニメーション」には向かない。 |
Interlaced content | 素材のインターレースをそのまま残す。または、プログレッシブ素材にインターレースをかける。 |
Two pass encoding | 2パスエンコード。1stは2ndのほぼ2倍速で進むのでエンコード時間は2倍にはならない。 |
Trellis quantization | 若干ファイルサイズ(=必要なビットレート)が減る。 具体的な理屈は不明。 |
Quarter pixel ME(qpel) | 1/4ピクセル精度の動き予測。 効果は素材によって違うため、確認してから使ったほうが良い。 また、古い再生チップは非対応な事があるので、家電再生機で見る場合は確認した方が良い。 |
右列 | |
Scaling method |
映像の拡大縮小の方式。 上のものほど早く、下の物程遅い。 720x480を640x480にする場合、どれでも大差ない。 bilinear;縮小向き bicubic;拡大向き、ターミナルでMEncoderを使う場合のデフォルト lanczos以下;映像をシャープにする。拡大する場合に良い。 |
Keyframe interval | I-frame(キーフレーム)間隔の選択。I-frame はデータが大きい。 シークはキーフレーム間でのみ可能。 XviDは30fpsなら最大300、24fpsなら240まで。それ以上にすると画質低下。 |
QMin | Quantizerの最小値*。範囲は1-31だが実用上は2-31が適切。整数のみ。下記参照。 |
QMax | Quantizerの最大値*。範囲は1-31だが実用上は2-31が適切。整数のみ。下記参照。 |
5 sec test clip | 5秒だけエンコード。設定確認に使う。 |
Print PSNR | エンコード結果のログファイルを書き出す。PSNR(peak signal tonoiseratio)は高い程良い。単位はデシベル。 5 sec test clipと一緒に使って設定確認に使う。 |
Quantizerとは
画質劣化度とでも思えば良いだろう。数値が高いほど高圧縮、低画質。
Xvidは指定されたビットレートに収まるよう、各フレーム毎になるたけ低いQuantizerを使おうとする。
1パスは全てのフレームが指定ビットレートに収まるようにするので画質はよくない。
2パスは、1stで一旦映像全体を分析し、映像全体で指定ビットレートに収まるようにビットレートを配分する。動きまくったり、ディテイルの細かい部分には手厚く、ソレ以外のとこには薄く。配分の方針はコデックや他の要素にも左右される。通常はデフォルトの2-9で問題ないハズ。
QMin=QMaxの1パスで、画質固定エンコードになる。4-4でDivxコンポーネントや3ivxの言う「元画質の90%」になる。
もしこれでできたファイルの映像ビットレートが1500kbpsになったら、1500kbpsで2パスかけると、同じファイルサイズでより画質の良いものができる。
Xvidは指定されたビットレートに収まるよう、各フレーム毎になるたけ低いQuantizerを使おうとする。
1パスは全てのフレームが指定ビットレートに収まるようにするので画質はよくない。
2パスは、1stで一旦映像全体を分析し、映像全体で指定ビットレートに収まるようにビットレートを配分する。動きまくったり、ディテイルの細かい部分には手厚く、ソレ以外のとこには薄く。配分の方針はコデックや他の要素にも左右される。通常はデフォルトの2-9で問題ないハズ。
QMin=QMaxの1パスで、画質固定エンコードになる。4-4でDivxコンポーネントや3ivxの言う「元画質の90%」になる。
もしこれでできたファイルの映像ビットレートが1500kbpsになったら、1500kbpsで2パスかけると、同じファイルサイズでより画質の良いものができる。
6.2. MP4 H.264
ffmpegXが内蔵するH.264コデックはx264というオープンソース、フリーのコデック。ISO MPEG-4 AVC規格(別名H.264)準拠。
比較的新しい為、ノウハウが少なく、設定方式も異なる。0.0.9tでは音ズレが発生したり、B-フレームを使うとQuickTime Player 7 proで再生はできるが加工不能になるなどの問題が生じている。
比較的新しい為、ノウハウが少なく、設定方式も異なる。0.0.9tでは音ズレが発生したり、B-フレームを使うとQuickTime Player 7 proで再生はできるが加工不能になるなどの問題が生じている。
左列 | |
Use CABAC | エンコード、デコード共に速度低下(CPU負荷が高くなる)。サイズは縮む。 |
Use B-frames | Bフレームの使用。一般にBが多すぎると画質が下がるが、ffmpegXは最小限しか使わないのでさほどでもない。 ファイルサイズ(=必要なビットレート)も減る。 使うとQuickTime Player 7 proで再生はできるが加工不能になる。 |
Constant bitrate | オン(デフォルト);ビットレート固定エンコード。QMin〜QMaxの間でQuantizer値を変動させながら指定ビットレートを守る。 オフ;画質固定エンコード。下記参照。 |
Two pass encoding | 2パスエンコード。0.0.9tでは1stと2ndは等速。 MEncoderでは既に1stを2ndの2〜4倍速にするturboモードがあるので、いずれ採用されるだろう。 |
右列 | |
Scaling method | Xvidの項参照 |
ME function |
動き予測の範囲。 XvidのHigh Qualityと効果はほぼ同じで上から速いもの順。 Hexagonの速度は概ねXvidと大差ない。 ExhaustiveはG5-2Ghz Dualで1フレームに2秒近くかかる、、、たのしひ。 |
I-rames interval | I-frame間隔の選択。I-frame はデータが大きい。 AVC/H.264ではI-frame=キーフレームではなくなった(早送りや巻き戻しに使えないI-frameができた) ffmpegXの120が適正かどうかはなんとも言えない。ターミナルでMEncoderを使う場合のデフォルトは250だが、これはEUのDVDに合わせた数値に思える。 |
QMin | Quantizerの最小値*。範囲は2-51。整数のみ。下記参照。 |
QMax | Quantizerの最小値*。範囲は2-51。整数のみ。下記参照。 |
Print PSNR | Xvidの項参照 |
x264のQuantizer
目盛りが対数尺。つっても解っちゃいない。
q=20とq=40ではビットレートの差は10しか無いとか言うから、変動幅が小さいのだろう。
XvidのQuantizerの感覚からすると2.3とか、小数点で細かく指定できると思っておけば良いのはないか。
q=20とq=40ではビットレートの差は10しか無いとか言うから、変動幅が小さいのだろう。
XvidのQuantizerの感覚からすると2.3とか、小数点で細かく指定できると思っておけば良いのはないか。
留意点
- 1パス;Constant bitrateオン、ビットレートを指定。
- 2パス;Constant bitrateオン、ビットレートを指定。
- 画質固定1パス;Constant bitrateオフ、ビットレートは無視する。
- qmax=qmin=22。21 か 20 でもうちょびっと高画質(あまり低くしすぎてもそんなに意味が無い)。
なお、MEncoderのx264にはロスレスの設定も存在するので、今後の対応もあるかも知れない。