地デジのエンコード設定を試行錯誤。

| コメント(0) | トラックバック(0)
地デジを今期のアニメからまともに撮りため始めましたが、エンコード設定を煮詰めていなかったので、完全保存したいものはtsを残し、それ以外はエンコードして容量削減するためいろいろと調べて見ました。
H.264の設定値について間違った解釈をしていたりしていたのでぷちまとめ。

エンコードに詳しい人は鼻で笑ってしまうような、初歩的な内容の備忘録です。w

まずは2passエンコードについて。
PSP向けにエンコードを始めた頃から、同じ容量で圧倒的に高画質になる2パスエンコードを盲目的に信仰し、高画質を狙うときは常に使っていましたが、実際は品質基準VBR(可変ビットレート)の方が画質が上回る場合があることにびっくり。

そもそも2パスエンコは、限られたビットレートを再配分して全体的な画質を維持するためのもの。
まず最終的なファイルサイズの目標値(ビットレート)を決めた上で、可能な限り高画質にするものです。
負荷の軽い部分のビットレートを削り、重い部分に振るわけですが、使える量(ビットレート)が先に定められているため、動きの激しい(必要ビットレートが高くなる)ソースだと、他を削っても足りない場合に破綻してしまう...とのこと。無い袖は振れないってことです。
逆に、動きの少ない(必要ビットレートが低い)ソースに対しては、より贅沢にビットレートを割り振れるため高画質となりますが、必要以上に割り振っても生成された動画の見た目には残念ながらあまり影響しない...

それに対して品質基準VBRでは、常に一定以上の画質は保証されます。
ただし、動きが激しいソースであればビットレートは全体的に高くなるので、容量が大きくなる可能性アリ。
逆に言えば、動きの少ないソースであれば2passよりも小容量で見た目が変わらないものが出来あがる可能性もあるってこと。

ということで、一般的にはエンコードに使うのはもっぱら品質基準VBRであり、2パスエンコはニコニコ動画やポータブル機向けなどのファイルサイズを気にする場合や、ビットレートの制限の中で可能な限り高画質にしたい時向けってことらしいです。エンコード時間も(同一オプション値なら)単純に倍かかりますし。
---------------

ということで、これから地デジのエンコードは品質基準VBRを使うことにして、ニコニコ動画Wikiの拡張x264設定や同 拡張x264Ex設定などを参考に、試行錯誤してみた。

手持ちに撮りためられていたキルミーベイベー第01話の開始からOP終了までの138秒を1280x720にてエンコした結果が以下のとおり。
拡張x264(無印)は2008/12/30日版の古いものです。最新ならもっと改善してるかと。

拡張x264 1pass 品質基準VBR crf16 他デフォルト ... 103,715KB
拡張x264 1pass 品質基準VBR crf22 他デフォルト ... 43,600KB
拡張x264 1pass 品質基準VBR crf30 他デフォルト ... 14,848KB
拡張x264 2pass Video2048kbps 他デフォルト ... 37,616KB
拡張x264 2pass Video4096kbps 他デフォルト ... 72,393KB
拡張x264 1pass 品質基準VBR crf21 オプション多数調整 ... 32,382KB
拡張x264Ex 1pass 品質基準VBR crf16 オプション多数調整 ... 51,283KB
拡張x264Ex 1pass 品質基準VBR crf18 オプション多数調整 ... 39,027KB
拡張x264Ex 1pass 品質基準VBR crf20 オプション多数調整 ... 29,033KB

crf ... 品質設定 値が小さいほど高画質・低圧縮

元ソースが余り動きのないせいで、crf30以外はどれも目立つノイズは無かったのですが...
crf値を下げつつも、ファイルサイズが小さくなっている拡張x264Exを使うのが良さげです。
(Exじゃない方も、最新に置き換えれば改善してるかと。でも設定値の細かさや、x264CLIを最新に置き換えて使えるのが気に入ったので、Exの方を使うことにします)

Wikiを参考にしながらオプションを変更していったところ、最終的には元ソースの実時間の2倍のエンコード時間がかかるようになってしまいましたが。w
その中で、crfをいくつにするのかについては非常に悩むところ。
今回のテストソースでは見かけ上あまり差がなかったのですが、こちらのblogを参考に、気に入った作品はcrf18で、それ以外の割とどーでもいいものはcrf20あたりでエンコしてみようかと思います。

ちなみに、現在のエンコ設定はこんな感じになりました。
エンコ時間ガン無視、品質重視です。
 --preset veryslow --crf 18 --qcomp 0.8 --aq-strength 0 --psy-rd 0.3:0 --keyint 300 --bframes 5 --subme 11 --ref 6

上記設定で、キルミーベイベー01話を全編エンコードした結果は
 crf18時:221,777KB
 crf20時:168,706KB
こんな感じ。動きが多めのOP部を検証に使ったので、全編通すとかなり縮みました。
2passの2048kbpsだとソースに関係なく400MB程になるため、いい感じです。


エンコードの世界は24fps化だのインタレース解除する/しないだの、求めれば深みにはまりますね...
24fps化に関してはもう完全に自動フィールドシフト頼みです。
なかなか上手いことしてくれるプラグインのようですし、全てのファイルの動きの激しい部分で判定ミスしてるかなんて確認作業してられないし、どうしても完全に残したいものはtsで残せば...
そのためにBD-Rドライブも買いましたし。w

インタレース解除も、アニメソースに関しては私は解除しちゃう方向でいくつもりです。
アニメや映画の元ソースである24pに戻しつつ、容量の削減にもなりますので。
インタレースのままなら再生時デインタレースにグラボの再生支援が効いたりだとか、その時点の技術水準でのデインタレース処理が出来るとかいろいろ有るみたいですけれど。

そのあたりは各自、悩んでください...。w

ちなみに、ビデオフィルタ系はほとんどかけていません。
せいぜいクリッピングとリサイズ、放送局ロゴ除去程度。
元ソースになるべく忠実に残し、映像補正は再生時にプレイヤー側で味付けすればいいかな、と。
PowerDVDとか、かなり強烈なアプコンかけてくれますしね。

Add Social Services

トラックバック(0)

トラックバックURL: http://www.kitcat.jp/mt/mt-tb.cgi/426

コメントする

このブログ記事について

このページは、kitcatが2012年1月 9日 12:16に書いたブログ記事です。

ひとつ前のブログ記事は「C81の2日目に参加してみた。」です。

次のブログ記事は「HMZ-T1を遂に入手。さくっと開封!」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。