魔道学研究所 エンコード

スポンサーサイト

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

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は弄れません)

東方のプレイ動画を綺麗にエンコしようforx264gui

私は東方厨なんです。3桁後半に入るぐらいいっぱいエンコしてみたのでその結果を伝えます。

※これはx264guiexが入ってる人向けに書いた記事です。やってみたい方はここより導入おねがいします
まずx264にはデフォルトに何故か--tune touhouというオプションが存在します。
これは開発陣数名が東方厨…(マジで)なので設けられたオプションなのですがそのアピールに使われた動画が地nor1-3面だった事を考えるとそれほど最適化されていません。えっと…ものすごい下手なのですが…
という訳で実際少し最適化してみました。

--preset medium --tune touhou --psy-rd 0:0.2 --ipratio 1.65 --qcomp 0.65 --qpstep 12 --partitions all --scenecut 30 --min-keyint 60 --keyint 600 --b-adapt 2

うーん…とりあえずtune touhouと比べほとんど重くならずに見てくれは良くなると思いますがすごく上がるかというと微妙です
簡単に言うと激しく変化する為それほど重みを持たないIフレームの容量を少しPフレームに分けてIフレームの挿入頻度をフレームレート相応に減らし,デジタルな画像では逆に劣化を招きかねないpsy-rdのrdoを切っただけです。


とりあえず重くてもいいからとにかく相対品質を高くしたい人向け(veryslowとplaceboの間程度の重さ)

--preset medium --tune touhou --psy-rd 0:1.5 --ipratio 1.65 --qcomp 0.65 --qpstep 12 --rc-lookahead 250 --partitions all --scenecut 30 --min-keyint 60 --keyint 600 --bframes 8 --b-adapt 2 --me tesa --subme 9 --merange 20 --ref 16

重いオプションガンガン付けてますがssim以上にかなり画質が上がって見える思います。通常の--preset midium --tune touhouと比べて20%程度多くビットレートを使った程度に綺麗で --preset placebo --tune touhouと比べても軽いのはもちろんある程度綺麗なはずです。

東方のプレイ動画ではrefやbframeはもちろんrc-loockaheadやpsy-rdの設定もかなり重要になってきます。
refは最大の16でもガンガン参照されますがbframeは3以上はかなり使うが8以上は連続でほとんど使われなくなります。
rdoやtrellisは主に玉の外形に影響を及ぼすので心理的に綺麗汚いがかなり別れるようになると思います
rc-loockaheadはもうあらゆる面で影響してそうですね。光るアリが巣から湧きまくって一瞬で消えるみたいな動画ですし比重の取り決めは大切です。

まあとりあえずこんな説明じゃホラ吹きレベルなので投下
2200kbps 60fps 640x480の星蓮船Ex(軽い方の設定にbframe 6を付けた設定)
3300kbps 60fps 640x480の永夜抄Ex(重い方のプリセットいわゆるガチエンコ)
ニコニコ動画(重い方のプリセットで10分の動画で1250kbps程度)
ニコニコ動画はリサイズによってかなりいろいろ変わってるので参考程度に。ニコニコに上げたいなら参考にしていいけどね…
ビットレート制約がある場合はここらへんも参照にするといいかも

まあ…というわけでgui側のプリセットに盛り込んでみた
ちゅーにんぐ音が増えるテスト
ここらへんから落としてx264gui.iniもしくはx264guiex.iniを上書きすると使えますん。
副作用としてnero_aacencで使えるプリセットがそこそこ増えます。heに関しては増やしすぎたかも

東方のプレイ動画はかなり高いビットレートを使ってもビットレート不足を訴えてくるのでそこでどうオプションを変化させればよりよく出来るかが非常に楽しいです。デジタル彩色HDアニメを-crf 16他プリセットで…とかでやるよりずっと有益だと思う。東方好きならマジオススメ

私に出来ることって鼻くそみたいですね

因みに私の実力はこれぐらい
 
ううむ… 汚いのは適当にしかやってないからです。

x264guiで最新のx264を使おう!

なんというか自分が使ってるのはx264guiexでx264guiの紹介ばっかりしても仕方がないのかなぁとか思ったので書いてみる
x264guiから入れ替えるメリット。
最新のverのx264が使える,それによって使えなかったオプションが使えたり圧縮率や画質が若干上がってたりする。
また色空間や--rc-lookaheadが基本的な設定の中に入っており簡易的に行えるようになる,音質のプリセットが増えている,ログに設定したコマンドラインが表示される等便利な事が多いです。
デメリットとしてはx264guiに慣れている人はインターフェイスで戸惑う事があるのと前のx264.exeを使用して保存した設定が持ち越せないぐらいですかね。

x264guiexの開発はx264guiの元々の制作者seraphy氏を継いで?rigaya氏によって行われています。
ホームページ


導入
まずこちらより最新のx264guiexをダウンロードします。後はれどめをよめb…


とりあえずaviutlとx264guiが入っている人はここから先の線から線まで飛ばして下さいほぼコピペです

導入(ここから全て落としていって下さい)
まずは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

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

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

そしてダウンロードしたこれらを全てaviutlのルードフォルダ(aviutlOOって書いてある最初のフォルダ)中にぶちまけます。フォルダに入っている物も出してからいれてください(まあ.txtはどうでもいいですが…)
aviutlフォルダ      aviutlフォルダ2
before                    after
大体こんな感じになると思います。

ここからは先述のx264をaviutl上で動かす為のものです。1つ1つインストールしていってください(できないものはしなくていいです。入ってると思うので)マイクロソフトだから安心だねっ!
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


aviutlフォルダ内でsrc.7zを解凍してください。
解凍出来ない方はwinrarlhaplusでもインストールしてダブルクリックしてもらえると解凍出来ます。
次にx264.exeをこちらより32bit 8bit-depthか64bit 8bit-depth(使用しているOSの方)をミラーサイトからダウンロードします。
※現状10bit版は対応出来ているプレイヤーが無いため再生できません。

またx264guiでは備え付けられていたため必要の無かったmp4boxも必要です こことりあえずDownload from mirror (direct link)辺りを押してダウンロードします。
これらはバージョン管理などもあります?し他のフォルダに存在しても特に問題が無いので好きな場所に入れます。

まあそんなこんなでaviutl起動
とりあえず普通に初期設定をします。今回ダウンロードした物を選択して下さい。全てexeファイルです
プラグイン    プラグイン2    プラグイン3


使う上でx264guiと場所が大きく変わっててちょっと戸惑うかなぁって物 bframeは前の使ってた人だとかなりわかりにくいよね
シーンカット   bframe

とりあえずこれで導入は終了
--rc-lookaheadとか-vbv-maxrate --vbv-bufsizeとか使えるよおこの2つはとてもよく使ってます…
--rc-lookaheadはmbtreetをどのぐらいの範囲(フレーム数)で見て変動させるかの設定(大きくするとメモリ使用大&1パスが遅くなる当然綺麗になる)
--vbvは最大で使用できるビットレート量を直接指定できる。大体そのソースがどのぐらいのビットレートを必要とするか分かってる時に明らかに大きい部分を削るときに便利
許容出来るビットレート量が決まっている場合(ABRで出力する場合)爆発シーン等とてもビットレートを食うシーンで使用するビットレートだけを局部的に減らすことが出来る。そのため他のシーンに多くビットレートを使うことが出来る。これは特にビットレート変動量--qcompを高い値に置いている場合に効果が大きく品質基準の味を濃くしつつもあまりにも食い過ぎな部分を潰すことが出来る。
普通にVBRを使う場合でも再生機器の能力が追いつかない等の理由がある場合は便利
自分はABRを指定する場合は指定ビットレート量の2.5倍までを設定することが多いです。
-vbv-maxrate 10000 --vbv-bufsize 10000みたいに設定してね。

ニコニコ動画にflv+mp3で動画を上げる(高音質低画質)

まず上げるメリットは圧倒的に音質です。
静止画+高音質音声を出力したい場合はAVC+AACよりもずっと優れた結果が得られるはずです。
音声を180kbps以上にしたい人用です。AACではそれ以上はほぼのびませんので

本当はAVC+oggMP3が最高なのですがニコニコ動画では弾かれてしまいます。zoomeだと強制AVC+AACですが…
音質的にはAACの320kbps<MP3の200kbps、高音質だと言われているATRACPLUSにもMP3は負けているビットレート帯は無いといわれてます。
oggにはいろいろ負けまくりですがそもそも上げられるサイト無いしMP4はコンテナで使えないし…日本ではMP4が多いですが海外ではmkvが主流なのよね
何故ならAACは18khz以上を取り除いているのとかなりフィルタをかけているので高音域ではかなり差があります。
あるだけで分かるかどうかは再生機器と本人によりますが…まあ補完をしている場合でも高音域が強い音楽では差があります。あとエコノミー回避基準が比較的緩いのでエコ回避しつつ高音質が可能です。

デメリット
マルチコアに対応してないのでそれなりの品質にしようとすると1コアでx264のtesa+ref16をエンコしてるぐらい重い癖にx264のdiaに劣り特に動き予測を失敗することが多い、スマートフォンなどで直接再生出来ない場合がある
ただし静止画では画質は考える必要はないです。普通に綺麗だから。”普通に”ね

まずaviutlでx264のエンコ環境が整ってない人はここを参照にaviutlを導入しましょう。まあ…x264は今回いらないんだけどね

次にAviutlにFLV (VP6/MP3) 出力を導入しましょう。
まるも製作所ここよりFLV (VP6/MP3)をダウンロードしてAviutlのルードフォルダに解凍します。

次が一番厄介なのですがVP6エンコーダを手に入れます。
何が厄介なのかというとx264が主流になってからどこもリンク切れになっていたり最新版にはVP6が省略されておりダウンロードリンクが残っているところがほとんど無いこと。
探しましたよええ…Klite Codec pack 3.90(FULL)
ここよりミラーサイトからダウンロードおよびインストールおねがいします。
インストール時このような画面が出た場合は全ていいえを選択して下さい。
iie1
あとは途中まで普通にインストール
iie2
ここまで来たら上の設定でdecelect allを選択してチェックを外しVFWvideocodecよりVP6のみ選択します。
iie3iie4
これでVP6の設定は終わり。AviutlでVP6出力が使えるようになっています。(設定はまだですが)

次にAviutl側の設定をします。x264と大して変わりませんが…
まずは設定を開き圧縮プログラムをVP62なんとかかんとかに変更
flv設定1
次に2パスのチェックを入れ1パス目を設定します。
といっても弄るのはビットレートと2パスの1パス目って設定ぐらいですが…advancedも弄る必要は無いです。
だって今時解説してるサイトないしそんなに画質重視っていう記事じゃないし…
flv設定2flv設定3
2パス目の設定は2パスのベストクオリティだけを選択すれば大丈夫です。グッドクオリティでもいいけど
flv設定4
あとは普通にエンコード
音声が無い?ファイル→WAV出力でWAVを出しておきましょう。次でその音声をエンコードします。

次にMP3の変換設定をしましょう。
使うのはlameエンコーダ
ここよりlameエンコーダをダウンロードします。大抵一番上です。
あと注意なのが3.99 10aより3.98.4のが新しく音質がずっと良い点です。アルファバージョンで音あまり弄られてないからね

次にそのlameエンコーダの設定を渡す為のアプリケーションを入れます。
life.exe
とりあえずlameの解凍したファイルの中にlife.exeを入れておきます。

設定はレンチみたいなアイコンを押して行います。
設定はこんな感じでおねがいします。
life
設定するとこ
MP3設定1のみ設定すれば良いです。
プリセット指定しない、サンプリングレート入力と同じ 右のボタンのVBRをクリック、最低ビットレート32kbps
ビットレート音質0、最高ビットレート320kbps、エンコード速度0、チャンネルモードジョイントステレオ
とりあえず全部設定しといてください。特にジョイントステレオやビットレート音質を設定してないと音質は落ちます。
大体これで最高音質かつ最低サイズで出力してくれます。気になるならCBR 320kbpsのJSを設定しとこう。ほとんど意味ないけど。

最後は結合になりますがオススメされているアプリはなんかバグが多いのでMediaCoderでくっつけます
インストールしていろいろ面倒くさいのが出ますがとりあえずアプリ起動
初めは右下に常駐してます。
まずは上の大きな空白に先ほど出来たFLVファイルを入れます。
次に左下の設定項目でVideoを選択。copy videoのチェックを入れます。
mediacoder1
audioでcopy audioを選択。一番下のチェックをするとその音声を選択に移ります。
mediacoder2
containerよりflvを選択
mediacoder3
あとは上のSTARTって書いてあるのを押せば終わり。


X264のように1発で出力出来ないのが問題ですが出来れば大きな容量を取ってもMP3で上げたいって人向けですねぇ

投稿用動画用のフィルタ

動画共有サイトに動画をアップロードする際にエンコ時に使った方が良いフィルタです。今までの内容と被ってるけど気にしない。
基本的に動画共有サイトのフィルタでは出来るだけ掛けることによって動画の容量を小さくすることを最優先に考えます。なぜならば投稿できる容量に限りがあるので細かい部分をできるだけ残すより細かい部分をいかにして目立たないように潰してビットレートを節約出来るかが課題になります。
ちなみに上記の場合潰した方が細かい部分が残ってるという現象に陥ったりします。それはビットレートを余計に食ってしまい再現性が潰した場合より大幅に下がり結果的に潰さざるを得なくなるからです。
大抵はエンコ側で勝手に潰されるより自分で目立たないように潰した方が綺麗になるよね
もちろん余剰に潰すのはどうかと思うけどゲーム動画なら3000kbpsアニメなら1000kbps静止画なら300kbps以下なら潰した方が良いと思います。(512x384基準)

そこで掛けた方が良いフィルタがノイズ除去フィルタ。あとリサイズの設定によってもかなりサイズや綺麗さが変わるので説明します。
ノイズ除去フィルタをかけるメリットは閾値を設定して細かくビットレートを食う部分だけをピンポイントにボカせることです。ついでにその動画自体が無圧縮で無い限りはその動画自体のエンコードの際に生じたノイズも取れるので1粒で2度おいしいですね。そのノイズ自体目に見えなくとも相当かかってますから。
という訳で具体的にこんな感じ(わかりやすいようにすごく強くかけてます。)
なんとなく良いソースが無かったのでこれです。
びふぉー
風神エンコのやつ1
あふたー
風神エンコのやつ2
背景はすごくボヤけてますが機体や敵は輪郭はボケていません。
制約上ペイントから直のjpgですがこのjpg自体のサイズも同じ圧縮率で93kBと82kBになってるんですよね
実際は640x480なら 強さ160~256 範囲2 閾値18~24ぐらいでかけるとかなり効果が高いです。512x384でも同じぐらい風神3

次にアップコンバート/ダウンコンバートについてです。
つまりリサイズですね。これを行う際にも画像の補完でかなり変わってきます
まずはここからリサイズフィルタを落としてルードフォルダに入れましょう。
ただリサイズは前述のノイズ除去フィルタとは違い綺麗にリサイズ出来てかつ動画サイズを小さくする必要があります。
まあ結果からいいますとダウンコンバート(大きい動画を小さく)はsline36がアップコンバート(小→大)はGaussianのぼかし7程度が最も良いと思います。
理由はSpline36はコンバート時に他の方式より比較的強くボカシをかけます。通常ダウンコンバートをした場合シャープ化とボカシのどちらもかける必要がありますがこれは文字もある程度読める程度に適当なリサイズを行ってくれるのでオススメです。更に結構動画サイズも小さくなります。
アップコンバートにGaussianが向いている理由はアップコンバート時にドット単位に出来るギザギザを抑えspline36より比較的シャープにアップコンバートできます。更に動画のサイズも小さくなりがちです。
ぼかしは6だと結構ギザギザが残りがち7がベスト
Lanczosやbicubicは設定こそこまかく出来ますがある程度シャープにしたい場合は低品質jpgなどに良くみられるような輪郭近くに大量のノイズが発生する場合がある為オススメできません。
あと500KB制限のせいでpngで上げられないのでこれらを画像で説明するのは難しいからこれでおわりおわり。
プロフィール

めいたむ

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

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

この人とブロともになる

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