魔道学研究所 エンコード

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

x264guiExでの詳細オプション設定について

2012/10/21 chroma-qp-offsetだけ加筆

x264guiExはrigaya氏によって開発、公開がされています。

前書いたときからかなり勉強してみました。guiExも慣れてきたので書いてみます。所々公的なデータに基づかない私自身の意見や見解が入ってたりします。
基本的に弄る設定で触るとどのような効果をもたらすかです。弄る設定についてなのでmb-treet制御を使わない等普通設定しないような所は書いていません。sarとか色空間指定とか時間精度指定もいらない…よね?
書いた時点で使用x264r1936 guiEX0.29。      あととりあえずaviutl+x264guiExの導入


まず簡単にI,P,Bフレームの説明します。
Iフレームはキーフレームとも言われ言うなればアニメーションGIFの最初と最後の(次の区切りの最初の)コマです。
他のフレームはこの間で変化した部分のみを記録していくため容量を落とすことが出来ます。
またこのコマは1枚絵のjpgファイルのようなもので容量は大きいのですがこのコマにはシークすることが出来ます。

PフレームはIフレームから予測されたコマです。前のコマからの差分だけを記録しているのでこのフレームから再生することは出来ません。(PCのプレイヤーで5秒毎とかに飛ばせるのは1つ前のIフレームから目的のフレームまで全てのフレームを読み込んでいるため)

BフレームはIフレーム及びPフレームから予測されたコマですがPフレームよりもさらに"いい加減"な処理を行っているコマです。物体が拡大縮小している。画面が横方向や縦方向に移動している、物体が回転している。等の情報を使い更にPフレームよりも容量を落とすことが出来ます。しかし完全な値(というのも変ですが)を取っている訳ではないのでPフレームよりも品質が落ちます。
またBフレームは他のコマと違い動画の順番に並んでいるとは限らず、処理速度的に再生に障害が出る場合があるのでパソコン以外のプレイヤーなどでは連続数の限界値が決められている場合が多いです。
例外的にintelシリーズのグラフィック機能の再生支援が有効に為っている場合は同様の障害が発生する可能性があります。(これは本当に酷いと思う)
この問題が発生する可能性があるのは連続数4以上です。パソコン以外で見る場合は指定が無くても連続数3以下にしときましょう。

パス数の設定
基本的に品質基準VBRかマルチパスのNthPASS(2pass)で出力していくことになります。
固定ビットレートは動きが激しい部分で大幅に画質が落ち、軽い設定のマルチパス(ABR)と比べ優れている部分がほとんど無いです(特性上完全なCBRにはなら無いので)
3passは2passでビットレートを近似値に納められない場合などには有効ですが普通ビットレート比画質を上昇させることはまずありません。その分他の設定を弄って重くなった方が随分マシです

固定量子化量は品質基準VBRの容量だけ大きくなったような設定です。作者曰く実験的な目的以外で使わないでくれとのことです。
チェックボックスはマルチパス用です。
nul出力→中間処理をしたファイルを残しておかないようにする。
ターボ→1パス目はビットレート変動を見るだけなので不要なオプションを無効にして高速化するオプション
自動マルチパス→設定していないとマルチパス出来ません(なんであるんだろう…)



ここ(レート・QP制御)の設定
レートQP


I-Pフレーム間QP関数(%)/初期値40
この項目はIフレームに対してPフレームをどれだけ綺麗にして良いかという設定です。高くするほどPフレームの品質が上がり容量が増えます。これを変化させるメリットはあまりないのですがビットレート指定をして出力する場合は%を上げると動きが激しい動画ではビットレートに対する品質がほんの少し(適正値を見つけたとしてもフレーム平均で0.5%以下もっと低いかも)上がります。完全な静止画に限り数値を少し下げると幸せになれるかもしれません。

P-Bフレーム間QP/初期値30
この項目はビットレートをしたエンコードにおいてPフレームに対してBフレームの品質をどれだけ綺麗にして良いかという設定です。BフレームはPフレームからの予測なのでビットレート指定ならば上げても下げても品質が下がる可能性が高いです。VBRでの1パスは自動です。
また某wikiにはmbtreet使用時無効と書いてますがマルチパス時は有効になります。

ビットレート変動量(%)/初期値60
0に近づくほどCBRに100に近づくほど品質基準な挙動を取るようになります。
名前的にVBR出力では効果が無いように思えますが実は普通に効果があったりします。
高い数値を入れることによりビットレートが必要な部分で大量にビットレートを消費するようになり、瞬間的な品質は上がりますが容量を食います。まあmaxrateなどの設定もあるので容量が余裕ならば100に近づけでも大丈夫です。(通常は50-90程度までだと言われています。)
ビットレート指定の場合は下げた場合には平均画質が上がり瞬間的な画質が下がり上げた場合は反対です。動かないシーンと動くシーンが混じってる場合は70程度にすると良い(基準値では低いという意見が多い)ですがビットレートが足りない場合は逆効果に為る可能性も充分あるのでとりあえず適当にやってみましょう。
動きが極端に少ない場合は自動的に抑制してくれる(というか変化しないだけ)ので下げる必要は特にないです。

QPの下限/初期値0
出力する際に最低どれだけの品質を保持していれば良いかです。0で可逆51で最低品質。VBR出力してこのQPなら見ても分からないというレベルに指定しておくと容量が節約できたりします。もちろん分からないだけで劣化しますが。

QPの上限/初期値69
出力する際に最高でどれだけ汚くしても良いかです。0で可逆69で最低品質。基本的に弄ると消費ビットレートが上がるだけか変わらないだけなので触る必要は無いです。

最大QP変動幅/初期値4
2つのフレーム間でどの程度品質が変化しても良いかの設定です。大きくするとほんの少しビットレート抑えられるかもしれないです。爆発シーンなどでは2フレーム間ですごく画質が変化する可能性があります。

クロマ(色差)QP 補正量/初期値 0
YUV圧縮では普通Y(輝度)とUV(輝度からの色差より表される色)で映像が成り立っています。
このオプションでは0から大きくなるほどビットレートを輪郭などを表すのに使われる輝度の方に割き小さくするほど色の方UVに割きます。
普通弄らなくてよいですが極端にビットレートが低い場合は少々大きくした方が無難です。
YUVはYCbCrと言われることもよくありこれはY(輝度) cb(輝度と青の色差) cr(輝度と赤との色差)の事です。


レート制御先行検査フレーム数/初期値40
mb-treetレート制御をどの程度のスパンで見て割り当てていくかの設定。大きくすればよりよいビットレート割り当てになり画質が上がるはず。ですが50でも過剰placeboでも60と言うことを考えるとそこまで大きくするメリットはあまり無いかもしれません。日常的に爆発が起こるようなソースだといいかもね!というか多分良いです。STGとかも
大きくするとメモリ消費量が増えファーストパスが重くなりx264.exeでのメモリ消費量が2GBを超えた時点でクラッシュします。フルHDなどをエンコードしてエラーが出る場合はここを下げると改善する可能性があります。

VBV(ビデオバッファ制御)/初期値0/0
瞬間的に最大で使用されるビットレートの設定です。パソコン以外のデコーダで制限がある場合は設定する必要があります。まあ…レベル指定しておけば大抵は大丈夫なんですけどね…単位はkbpsです
最大ビットレート 瞬間的に最大に使えるビットレート量です。
バッファサイズ  一定の間隔内で最大に使えるビットレート量です。
再生機器でどれだけまで可能か書かれていると思うのでそちらを参考に設定するならば設定してください(指定しない場合はレベルに応じて自動的に指定してくれます)


Adaptive Quantization(視覚心理適応QP)/初期値VAQ/1.0
※次に紹介するPsy-RDと合わせて動画の"見え方"を変える非常に大切なオプションです。設定によってはその他が同じ設定でもかなり画質が変わったように見えることがあります。(特に低ビットレートでは顕著です)
このオプションは1フレームの中で複雑な部分にビットレートを優先的に割り当てる処理を行います。大きくするほど顕著に、小さくするとフレーム内の差が少なくなります。
これによって得られる効果は

・小さい値を入力した場合
良い所。モスキートノイズが発生しにくくなる、同じような色を使っている部分で色むらが発生しにくくなる。
悪い所。動きが激しい場合ノイズが発生しやすくなる。同ビットレートとの比較でブロックノイズがかなり発生しやすくなる。細かい描写が再現されにくくなる。
小さい数値にするのはデジタル彩色を行ったアニメに非常に向いています。しかしデジタル彩色といえども複雑な部分が無いわけではないのでよほど余剰設定で無い限り0.2~0.3程度は設定しておいて損はないです。

・大きい値を入力した場合
良い所。ブロックノイズが発生しにくくなる、動きに強くなる、実写において質感が表現されやすくなる。
悪い所。モスキートノイズが発生しやすくなる。実際に見ている部分と強調される部分が異なる場合があり必ずしも品質が上がるわけではない。
このためスポーツや実写では上げるメリットが大きいです。また弾幕系といわれるSTGゲームでは上げると品質が大きく上がる可能性があります。

適正値は0~1.3程度でアニメで0~0.6程度実写で1程度スポーツで1.2~程度が良いと言われています。

Psy-RD(視覚心理最適化)
RDO/初期値1.00
これは人間の目で見て重要でないと判断される部分のビットレートをそぎ落とし他へ使う設定でありまたブロックノイズなどが発生している部分をボカしてゴマかすようなオプションです。
先ほどと同様に実写向けの設定でありアニメなどの動画では設定すると画質が落ちる可能性があります。
重要な部分をそぎ落として不要な部分に割り当てる可能性も高いです。
基本的にアニメで0.0実写で1.0程度が最適値だと言われています。
しかしノイズが目立つ場合はアニメでも0.3程度の設定すればよいです。デブロックフィルタが先ですが
また品質がそれなりに(17ぐらいかな?)高くなると実写でもあまり強くしない方が良いかもしれません。
また上げるとssimが間違いなく下がりますが見た目はそうとは限らないので自分で確認して判断して下さい。

trellis/期値0.00
エンコード時に端数が出た際にこの数値を参考に四捨五入のような処理を行い視覚的な調整とデータ量のバランス調整を行う設定です。上げるとよりより人間の視覚に最適化された処理を行います。
使う場合の適正値は0.2~2.00程度ですが2次元的な動画で希に単色で塗られたような色が集まっている部分が一部欠けたような見た目になる可能性があります。
またビットレートがそれほど高くない動画では若干ボケたような見た目になる可能性があります。
遅くなりますが画質的にRDOに比べデメリットは少ないので高画質を狙うなら設定してみましょう(というかまずどのような挙動をするのかためしてみてください)



ここ(フレーム)の設定
フレーム



マクロブロックタイプの指定/初期値4x4,4x8x8x4Pフレーム動き補償以外on
使用できるマクロブロックタイプを指定します。これは画像を多くのブロックの集合体と見てその1つ1つに最適なブロックを埋め込んでいく作業の際に使っても良いブロックの種類を限定するような設定です。
当然全部を指定すればより画質は上がりますが(処理時間が延びますが)レベルや処理能力の限界により指定しても良い値があったりします(携帯電話とかPSPとかみたいなの)
また4x4,4x8x8x4Pフレーム動き補償はlevel3.1より高いと企画違反になります(大抵動くけど)これはフルHDなどの動画で処理を重くしない為の規約ですが今のところ特に問題は無いのでうーん…どうなんだろう。

最大Bフレーム連続数/初期値3
PフレームとPフレームの間で最大何コマBフレームを連続させて良いかという設定です。特に2次元の動画では上げた場合に容量対品質の向上が望めます。
ただし3より高い設定にすると再生機器やintelのcpuのGPU支援(corei5みたいなやつ)で問題が発生する可能性があるので注意です。

適応的Bフレーム挿入/初期値簡易
無効にすると品質が非常に下がります。完全にするとBフレームをよりPフレームと置き換えても問題が無い部分に使うようになり品質対容量が良くなります。当然処理は重くなりますが。

Bフレーム挿入傾向
上げるとBフレームをより使うように下げるとPフレームの使用頻度が上がります。変に弄ると画質が下がるだけです。また-90から+100という閾値を持つ珍しいオプションだったりします。

シーンカット閾値/初期値40
どれだけIフレームを動的に入れるかの設定です。シーンチェンジが頻繁に発生する動画(アニメのOP等)では上げることにより品質が上がる場合が多いですが上げると間違いなく容量が増えます。

キーフレーム感覚の下限/初期値0
Iフレームを最大どの程度短いスパンで連続させて良いかの設定です。基本的に弄らなくても良いのですが余り使って欲しくない場合はフレームレートと同じぐらいに設定するのが定石です。ただしシーンカット閾値が初期値なら滅多にここが意味をなすことは少ないです。

キーフレーム感覚の上限/初期値250
Iフレームを最低何フレームに1回使わなければならないかの設定です。設定することによりここへのシークが可能になりプレイヤーの処理(飛ばしたときの)も若干軽くなります。基本的にフレームレートの10倍(10秒に1枚)が基本だと言われています。小さくし過ぎると品質に対する容量が大きくなります。

インループデブロックフィルタ/強度0/閾値0
それほど高いビットレートを使わない動画において画質を決める上で重要な設定です。
プラス方向にすればボカしおよびデノイズ処理、マイナス方向にすればシャープ化になります。
強度はその処理の強さ、閾値はその処理を行う範囲です。
ボカしを行う際はどちらもプラスにシャープ化する場合はどちらもマイナスにしてください。
基本的に実写では-1,-1アニメでは+1,+1を基準に小幅変動させるのが良いと言われています。
フィルタであらかじめボカして引き締める用途で使うと非常に良かったりします。
まあ…自分で試した方がよく分かるオプションです。




ここ(詳細)の設定

詳細



動き予測アルゴリズム/初期値Hexagonal Search
上げると動きが激しい動画に強くなる。hex→umh,umh→tesaでそれぞれ1~2,3%程度画質が良くなる処理はかなり重くなるのでビットレート指定でない限りhexで良い。
esa以上では参照距離に比例、動き予測の2乗に比例して殺人的に重くなる。(つまり小さい動画では有効だがHD以上だとumhまでが良い)

サブピクセル動き予測/初期値7
上げると処理が重くなる代わりにサブピクセルの精度が上がる。10にすると強制的にtrellisが2に設定されるので基本的に9までが最も使い易いと言われています。

動き検索範囲/初期値16
大きくすると動きを予測できる範囲が増えます。低フレームレートの動画の方が効果が高いです。
HD以下のサイズで16HDサイズでも24あれば充分でそれ以上だと画質が全く上がらなかったりします。
ただしF1とか"激しい"スポーツの動画だとそれ以上に上げても効果があるかもしれません。

動き予測方式/初期値spatial
temporalでより込み入った予測(3次元の)を行います。2次元ではspatialで良いです。
temporalの方が圧縮率が高くなりますがたまーに予測ミスにより変な"もの"が出る場合があります。
2次元のアニメとかだと目立つので(3次動画なら目立たないので)使い分けましょう。

参照距離/初期値3
単純な画質を上げる上で重要な設定です。
Bフレーム予測をどの程度前のフレームから行って良いかの設定で増やすと重くなる代わりに画質が上がります。
2次元の動画の方が効果が飛躍的に高くなる傾向にあります。
2以下にすると画質がガクっと落ちる可能性が高いです。

レート歪み最適化
画質の劣化が目につきやすい部分にビットレートをより割り振るようにする設定で
Last MB Encodeで最終パスのみAll MB Encodeですべてのパスで適正な値の検出が行われる。
基本的にLast MB Encodeで構わないが極端にビットレートを落とす場合(2Pass以上の設定かつQP30以下程度)All MB Encodeを設定すると画質が上がる場合が多い。
切るのはよほど余剰設定をしない限りやらないほうが良い。



ここ(音声)の設定

音声



音声設定。
NeroAACenc
Q-based aac
VBRでAACを出力します。同ビットレートで出力する場合は最も綺麗になりますがビットレートが安定しません。
基本的にこれに書かれているサイズは40kHz辺りを参考に書かれているので1割程度大きくなる物と見て下さい。
品質で自動的にLCとHEとHEv2を使い分けてくれます。

AAC-LC
ABRで出力されます。有効だと言われているのは80kbps~192kbps程度です。

AAC-HE
同じくですがフィルタがきつくかかっているので32~80kbpsが有効だと言われています。

AAC-HEv2
かなりきつくフィルタがかかっています。あまり聞けた音ではないですが20~32kbps程度で出力する際は選んで下さい。

2pass ABRの音声でよりサイズを近づけたい際に使います。
処理モード。通常パイプですが訪れが発生する際はwavに設定することで改善する可能性があります。

qtaacencの設定
ビットレートに対する音質ではNeroより高いがいろいろ融通がきかない(サンプリングレートとかLC指定なのにHEを使用したり指定したビットレートからかなりずれたり。)
True VBR
完全なVBRという意味。通常設定だと130~より下の設定でAACHEとなり。サンプリングレートも落とされるちなみに80kbps程度より高い場合HEよりLCの方が良いとされる。

ABR
ABR出力。サンプリングレートは落とさないでほしい…

ABR(AAC-HE)
PS使用不使用は自動

サンプリングレートを落とされたくない人はx264guiEx.iniをメモ帳で開き

[SETTING_QTAAC]
name="qtaacenc"
exe_name="qtaacenc.exe"
filename_ext=".aac"
pipe_enable=1
cmd_1pass=" %op --ignorelength --highest この部分 "%in" "%out" "

この部分と書かれたところに--samplerate keep と入力し、メモ帳を保存すればサンプリングレートが下げられずにエンコードされるようになります。



lamemp3での設定
ABRかCBRかVBRかです。
基本的に音質は同ビットレートではVBR≧ABR>>CBRと言われています。また192kbps程度からaacよりも再現性が高いと言われています。
CBR192kbps以上はあまり音質差を感じることは難しいので適当にしてもいいんじゃないかな…
音質と容量のバランスが良いのは-v0もしくは-v2が定説ですね。使ったこと無いけど多分qがvの変わりの筈
-qとか-mjとか無いけどこれはジョイントステレオはちゃんとかかってるのかな?

Ogg vorbis
112kbpsでmp3,192bps相当らしいです。実際の所はよく分からないです。再生環境が整っている人がmkvで作る用です。
日本ではマイナーですが海外ではよく使われるらしいです。ただし低ビットレート領域ではaaclcに音質で負けるので注意です。(大体100kbpsより下あたり)
スポンサーサイト

aviutlでニコニコ動画向けの動画を綺麗に作ろう

そういえば書いてなかったなぁって思ったので書きます
まずはこの記事を参考にaviutlとx264を導入してください

まずニコニコ動画で綺麗に動画を上げるにはニコニコ動画の仕様を知った上で上げたい限度のギリギリで上げる事が基本になります。
例えば一般会員だと動画と音声の合計が656.384bps(656kbps)かつ40MB以内
プレミアムだと  動画と音声の合計は無制限で100MB以内
エコノミー回避だと動画と音声の合計は312kbps(書いてない場所もありますが引き上げられました)となります。
kbpsというのは1秒間に何ビット消費するか(8ビットは1バイトなので8秒間に何キロバイト使用するか)でkは1024ではなくSI単位に準拠して1000バイトです(HDDとかと同じ詐欺仕様だね!)

まあとりあえずニコニコ動画に上げる際はまず適正のサイズにリサイズすることが必要になります。適正のサイズでないと相対的な画質が大幅に下がるためです。
aviutlを起動して↑の設定よりリサイズフィルタを選んで貰うと設定画面が出てくるので追加を押して640x360(xは小文字のx)と入力してokを押しましょう。
サイズは4:3(四角い動画)なら512x384を16:9(横に長い動画)なら640x360を選んで輝度色差をSpline36に設定して右上のチェックマークをチェックしてください
bibi-nn
もしSIMDという一番下のが出ないとリサイズフィルタの導入がうまくいっていません。もう一度aviutlフォルダ内で解凍してDLLフォルダをそのまま入れて下さい。

次に上のファイル→プラグイン出力→拡張x264出力(gui)exを選択して左下にあるビデオ圧縮を開きます。
ついでにここで時間を見てどこかにメモしておきましょう。yami-

まあそういう訳で説明を長々としてもだれも付いてきてくれないと思うので大量のプリセットを書きました。30個ぐらい
ここらへん
解凍してどこでも良いので分かる場所に置いて下さい。
dododod
左上の開くから選択して右の書かれている所をりーどみーの通りに設定して保存すれば完成です。
自分でもうちょっと設定したい方はこちらもどうぞ
http://es2z.blog98.fc2.com/blog-entry-35.html
http://es2z.blog98.fc2.com/blog-entry-16.html
そこそこ適当だけど許してね!

動画共有サイトに投稿した動画の赤が汚い理由

動画を投稿した事がある人ならば誰もが経験した事があると思います。
投稿前は綺麗だったのに…動画共有サイトに上げたとたんに赤が酷く汚くなる場合があります。
これは共有サイト側のサーバーで再圧縮されているからではなく(されてるなら全体的に酷くなるけど)フラッシュプレイヤーの仕様のせいです。
大体こんな感じ。右が投稿前左が投稿後。原寸大サイズまで拡大して見てね。両方h264圧縮の同じ動画です。
比較のやつ111使った動画は私が上げてるこれ
見て一番に思うのが弾の形が崩れており,色が少し違うという事ですかね?

元々h264というのは色空間をyuv420(yv12)に圧縮しておりそれを再び展開しているのですが,yuv圧縮では普段見るRGBでの32bitカラーを表しきれない為起こります。
まあ色空間というのは簡単に説明すると。色自体を圧縮して見た目には同じように見えるけど実は減色しており小さい容量になるというものです。詳しくはwikipediaでもどうぞ。
h264では減色されてはいるものの色を補完するという機能?により通常では普通に見えますがフラッシュプレイヤーでは色補完を一切行わないのでおかしな色調になります。因みに青も同じようになっているのですがこちらは赤より色の劣化が目に分かりにくいためあまり気になりません。(劣化は赤と同程度)
RGBの内緑は最も知覚しやすいため赤、青に比べて累乗倍の色を表せるように設計されているため劣化はほぼ分かりません。

まあとりあえず劣化は避けられないので傷を浅くする方法。
1,そもそもRGBで圧縮された動画を扱わない。(録画する場合はyuv422かyuv420で撮るのが吉)RGBからの圧縮だと表せないx表せないの相乗効果で更に酷くなります。yuv420ならavisynthが直接扱えるから良いです。使ったこと無いけど。
2赤の成分が強い物は何らかの方法でフィルタリングを行い赤成分を230程度まで抑える。やったこと無いけど
3出来るだけ高周波部にビットレートを割り当てる。単純なビットレートやVAQが該当します。汚いのが際だつという意味もあるので綺麗になれば劣化は"マシ"に見えます。(psyrdでブロックノイズをマシにみせるみたいなもの)
4そもそもフラッシュプレイヤーを使わない。(ダウン乙)chromeのhtml5のプレイヤーならこの問題は一応は起こりません。(ニコニコ動画?対応してないよ)まあちょっとしらべたらこんなのもありましたが…多数の人が見る物で現実的ではないです。
5横解像度を1280以上にして投稿する。 強制的にyuv422として展開されるためこの問題は(ほとんど)起こらなくなります。ただしビットレート何倍必要かは知りません。あと注意なのが--colormatrix を変更しても意味が無いです。色が変になるだけなので注意です。

というわけで結論。adobeのせい。
x264制作者もジョブズも(ジョブズは逆にも問題あるけど)adobeの事を散々に言ってましたし。(ソース紛失なので興味があれば調べてね。x264制作者のブログの日本語訳はかなり面白かったです…)
ちょっと前まではcolormatrixを指定しない限りyuv420の再生が根本的に出来ず全てyuv422の再生になっていたりしました。そのため横1280より解像度の低い動画では色が変になり最初に上げた赤が酷くなる現象に拍車がかかっていました。

まあとりあえずそういう訳なので仕方ないと割り切って下さい。
割り切れない人はビットレートに余裕があれば方法5辺りで投稿すればいいと思うよ。

フルHD動画を基地外設定でエンコードしてみた

エンコードに使用させてもらった動画は秒速5センチメートル「One more time,One more chance 」のBD版特典映像。とにかく綺麗です。airのopと並んでFHDエンコードテストではよく使われる気がします
まあそれで結果→ここらへん※ニコニコ動画です

主な設定はこんな感じ--rc-lookahead 105(32bitアプリにはRAM2GBまでという制限があり限界(64bitってなに?)) --bframe 16--me tesa--me range 24 --ref 16
何がどうすごいのか具体的に言うと512x384のmediamu設定tesaと比較してBフレーム予測が(1920/512)x(1080/384)x(16/3)x(24/16)^2=126倍、hexと比べると約500倍程度のBフレーム予測を行っており実際C2Qの3.64Ghzのcpuで2パスで5分半の動画に2時間40分ほど出力に時間がかかりました。
設定の全てはこんな感じ--preset slower --bitrate 2391 --aq-strength 0.4 --psy-rd 1.2:0.5 --ipratio 1.5 --qcomp 0.8 --qpmin 12 --qpstep 12 --rc-lookahead 105 --scenecut 60 --min-keyint 4 --bframes 16 --direct spatial --me tesa --merange 24 --ref 16 --no-fast-pskip --no-dct-decimate --input-res 1920x1080 --input-csp yv12 --frames 8235
slowerより placeboの方が近い気がしますがguiexのプリセットを元にして弄ったので気にしない書き換えるのも嫌
VAQやpsyrdの設定はソースによってかなり変えた方がいいですねぇ…デジタル彩色アニメ(らきすたみたいなの)ならばVAQ0 RDO0で良いんでしょうけど実写のようなタッチで描かれた作品だと局部的なモスキートなノイズよりも高周波部のノイズの方が目立つので上手いこと調整する必要がありますね。
なんか動画元にこれ以上の画質は(ニコニコ動画では)難しいみたいに書いちゃったけど--rc-lookaheadを250にするだけで一応はこれ以上の画質になっちゃうんだよねぇ。ビットレート+0.1%分程度だろうけど
まあplaceboでも60なのと所詮は部分的なビットレート変動を弄るだけの微々たる差だと考えて32bitosであることを悔やもう。32bitの方が互換性高いし…

まあうーん…完全にオナニーだよねぇHD動画となるとhexでcrf1パスが主だろうし
それに5%程度画質が良くなったといってもそれによって消えたノイズは元々設定上わかりにくい位置に存在しており明らかなビットレート不足な動画でないと効果が分かりづらいというのが辛いですよねぇ…例えとして言った5%といってもこの動画に限れば100kbps分以上はあるはずなのですが…というかmidiamに比べて10%以上は綺麗です

一応出力ログ。Bframeはちょっと自重した方が良かったかもしれない
ぷるるん
それよりここもうオンゲカテ卒業しようかなぁと思います。所属すべきカテが見つかりませんが

iPhone3G/iPhone4/iPodtouch向けの動画をaviutlとx264で作ろう!

父が林檎大好きなのでiPhone3GとiPhone4を持ってる私です。
まずaviutlを使い動画を変換するメリットは解像度の設定が豊富に出来る事、クリッピングリサイズが簡単、圧縮率の設定が容易に出来る、複数コアを有効に使える、画質が良好辺りです。
ちなみにiPhone3Gとtouch(以下touchはiPhone3Gと一緒ですので脳内変換お願いします)に関してはあまりに制約が大きい(cabac使用不可、B-frame使用不可、マクロブロックがいくつか使用不可等々)のでそこまで他の方法で動画を作成するのに比べメリットは大きくありません。ぶっちゃけこれって3.1以上対応を謳ってるのにlevel3.0以下の機能だよね
対してiPhone4の方は現在のほとんどの機能を使える為高圧縮で動画を作ることが可能です(b-frameとrefに制限有)まあこれはintelのチップでも不具合が出るのでまあ仕方ない…のかな

とりあえず作成方法
※x264guiexもaviutlも入ってる人は"この2つ"で↓を検索してプロファイルおとせばいいよ
どっちかでも入ってない人は全部見てね
まずなかなか居ないと思いますが自分のOSが32bitなのか64bitなのか調べておきましょう。(XP以前はまず32bit)
まずコンピュータを開きシステムのプロパティを選択。この部分を確認して下さい
システムのプロパティでj   32bitですよっと

導入(ここから↓のリンクから全て落としていってどこか1つの場所にでも置いておいて下さい)

まずこちらよりx264guiexをダウンロードします。最新のでもいいのですが…ちょっと機能変更等があった場合に対応出来ないので0.29でおねがいします。

aviutl本体をダウンロードaviutl99OOO.zipと書かれた物の中で一番新しい物をダウンロードします
http://spring-fragrance.mints.ne.jp/aviutl/

Direct show h264やMPEG4でエンコードされているものをaviutlで開くことが出来ます。
http://www.tenchi.ne.jp/~yoko/aviutl/index.php?DirectShow%20File%20Reader%20%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%20for%20AviUtl
MP4動画が開けない方はこちらの2つをダウンロードしてインストールしてください。
ffdshow(自分のOSに合ったclsidと書かれた物を)
haali media splitter右上のdownloadからどうぞ

Nero AAC enc 音声エンコードを行う部分です。ダウンロードを行うには規約に同意したうえにメールアドレスが必要です(が教えたくないならばa@aa.jpなどでもダウンロードできます。)
http://www.nero.com/ena/downloads-nerodigital-nero-aac-codec.php

リサイズフィルタ その名の通りリサイズフィルタ 付属の物より機能豊富で綺麗に変換出来ます。
ダウンロードはResizeFilterOO.zipより
http://nilposoft.info/aviutl-plugin/

次にx264.exeをこちらより32bit 8bit-depthか64bit 8bit-depth(使用しているOSの方)をミラーサイトからダウンロードします。
※現状10bit版は対応出来ているプレイヤーが無いため再生できません。

mp4box(音声結合用) こことりあえずDownload from mirror (direct link)辺りを押してダウンロードします。

そしてダウンロードしたこれらを全て解凍した後aviutlのルードフォルダ(aviutlOOって書いてある最初のフォルダ)中に入れます。フォルダに入っている物も出してからいれてください(リサイズフィルタのDLLファイルだけは中身は出さずにそのまま入れて下さい。あとテキストファイルはどうでもいいです。)

ついでにaviutlフォルダ内でsrc.7zを解凍してください。
7zが解凍出来ない方はwinrarlhaplusでもインストールしてダブルクリックしてもらえると解凍出来ます。

大体こんな感じになると思います。
っていう


ここからは先述のx264をaviutl上で動かす為のものです。1つ1つインストールしていってください(できないものはしなくていいです。入ってると思うので)マイクロソフトだから安心だねっ!
32bitOSを使用している人用
http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?familyid=39C8B63B-F64B-4B68-A774-B64ED0C32AE7&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=ja

64bitOSを使用している人用
http://www.microsoft.com/downloads/details.aspx?familyid=B44A0000-ACF8-4FA1-AFFB-40E78D788B00&displaylang=ja
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=92e0e1ce-8693-4480-84fa-7d85eef59016
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=ba9257ca-337f-4b40-8c14-157cfdffee4e



まあそんなこんなでaviutl起動とりあえず初期設定
初期設定1   初期設定
ここまで設定したら1度閉じてもう一度aviutlを起動して下さい

x264の設定画面では今回ダウンロードした物を選択して下さい。全てexeファイルです
プラグイン    プラグイン2    プラグイン3
以上でAviutlとx264guiexの導入は終わりです。まあこれで自由に動画が作れるようになったわけですが制約上に色々制限があるので

この2つをフォルダの中に入れて下さい。(上書きしてください)
これはiPhone向けのリサイズと出力設定です。
変換したいファイルを開いた状態で設定→リサイズフィルタを選択
サイズを選んで輝度と色差にSpline36を選んで右上にチェックをして下さい
サイズは
480x270 iPhone3G用16:9(横長の動画)
480x360 iPhone3G用4:3(四角い動画)
720x540 iPhone4用4:3(四角い動画)
960x540 iPhone4用16:9(横長の動画)
リサイズフィルタ  リサイズフィルタ2
です

最後は出力になります
            適当な名前を入れる       プリセットと音の圧縮を設定
拡張出力あま?プリセット音声

圧縮率を決めてokを押します数字を大きくするほど高圧縮低画質で小さくするほど高画質です。19~24程度にしましょう。
crf
最後は保存を押せば完成。

※3Gの人は30fpsまでしか対応してないので、この段階で30fpsより高い場合は
ドラッグ&ドロップではなくファイル→開くで開きたいファイルを選択して指定の場所から30fpsを選んで↑のをやって出力してください。
じゅーん   じぇーん

とりあえず凄く長くなりましたがこれでまあなんとか見られる動画になるとおもいます。
iPhoneやiPodでは動画をため込む程の容量でもありませんし次々に入れ替えていくという認識ですので圧縮率を上げるための記述はしてません。というか2倍重い設定を走らせても10%容量を削減できるかどうかなのであんまり意義が無かったりします。
もしどうしてもしりたいならばここでも見てね(3Gとtouchはほとんど弄れる設定がありません4もb-frameとrefは弄れません)
プロフィール

めいたむ

Author:めいたむ
過去に書いたことが半年後には黒歴史あると思います。

カテゴリ
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カウントァー!
ブログ内検索
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。