ホームへ戻る 更新履歴へ戻る 感想お待ちしてます(^^)/

(2002/07/31)
★アニメキャプ、エンコ
ん〜このネタ、HPでやるかどうか、迷っていたんだけど、無性に誰かを巻き込みたいので書きます(^^;
匿名な板やチャットで色々相談しているので、迷っていたのですが(^^;
まぁ、荒らしたりしてないし、煽られるような事もないし、正体がばれて困る事はないと思いますが、適当に誤魔化しつつ書いてみます(^^;

主にキャプチャーしている物はアニメ。
キャプチャーボードは最近買ってきたMPEG2で撮れる安物。マイナー機なんで一応名前は伏せておきます(^^;
映像入力は、放送を直キャプチャ。
エンコマシンはCeleron1.2GHz。
HDDの作業容量は7GB程度>少なっ(^^;
キャプ時720×480、エンコ後は640×480です。
「DVD2AVI」→「Avisynth」→「VirtualDub」で3時間コース。

エンコって、10時間位は当たり前と思っていたので、やらず嫌いしていたのですが、思っていたよりは全然速かったです(^^;
以前はMPEG2-2Mbpsでキャプッた物を、CMカットして保存していたのですが、画質は全然上で、ファイルサイズは全然小さいっ。
って言うか、フィルターを通すとあんなに綺麗になるなんて。
15MbpsでキャプチャーしたMPEG2より断然綺麗になります。
5倍モードでビデオ録画していた物でも、フィルターを通すと、そこそこ綺麗になってしまいます。
いわゆる、「エンコ職人」さんって、ものすごい受信環境が良い人なんだなーと勘違いしてました(^^;
まぁ、実際始めてみれば、時間が掛かると言っても、寝ている間や出かけている間に、PCにやらせておけばいいし。
朝に起きた時、帰宅した時にはエンコが終わっているって具合です。
Celeron1.2GHz程度でも、webを見ているとかの軽作業でしたら、CPU占有率を下げてバックグラウンドでエンコさせておいても、ほとんど変わらない時間で完成します(^^
速いCPUの人よりも、電気代が安心のローエンドCPUを使っている人こそエンコだ!と誘ってみます。
PCまかせで、何かを作り上げた充実感に浸れます(^^;

★キャプチャーボード
まずはこれを用意しなければ始まりません。
画質を重視するなら、最終的にはMPEG2の圧縮ノイズがネックになると思いつつも、手軽さからMPEG2でキャプチャーできる物を奨めます。
HDD容量が少なくて済むってのが最大の利点。
キャプチャーボードの色設定は、早朝のTV放送からカラーバーをキャプって調整するのが普通っぽいです。
……が、個人的にはカラーバーは無視(^^;
冷めた感じの色になるのがイヤで。
PCのCRTでいい具合になる様に目見当で色合いを調整し、PCの色域を目一杯使う様に設定してます。
見る時に調整すればいいし。

★エンコしてみましょう
やり方を書くのも大変だし、検索すればその手のページは沢山出てくるので誘導(^^;
http://www.clickjump.net/adorisu/
↑こちらの「DivX」へ入ってみましょう。
図入りで、分かり易いです(^^
エンコを始めるキッカケになったページでした(^^
こちらのページではAVIUTL、TMPGencを使っています。
AVIUTLだけで最終ファイルを吐き出した方が速いと思うし、なぜTMPGencを使っているか「?」なのですが(^^;

この流れで、AVIUTLで色々とフィルターを掛けてから、最終ファイルを吐き出すのが良くある手順だと思います。

フィルターに関しては、詳しく書くと大変なので、再び誘導(^^;
http://isweb42.infoseek.co.jp/computer/aetermv/
↑フィルターのみならず、エンコ関連について、ソフトの導入から設定からお奨めから、何から何まで総括的に扱っています(^^
アニメをエンコする方は「24fps化講座」を熟読しておきましょう。
このページに誘導してしまうと、もう書く事がなくなってしまうのですが(^^;

まずはAVIUTLで手順を憶えてから、Avisynth+VirtualDub(またはnandub)に移行する事をお奨めします。
Avisynthは憶えるまでが大変だとは思いますが、AVIUTLの2〜3倍、エンコ時間が速いです(^^
個人的にはスクリプト書く方が馴染みやすかったので、エンコを始めようと思ってから4日目にはAvisynthに移行してました(^^;

http://pc.2ch.net/avi/
↑あと、ここのAvisynthスレは読んでおきましょう。
今のところ、ここでしか発表されていない有用なプラグインがあります。

詳しい事は、リンク先で勉強して下さいって事で。
問題は色々出てくると思うのですが、検索力を鍛えて解決して行きましょう。
同じフィルターを同じ手順で使っても、最終サイズの違いや受信状況、機器の違い、好みなどにより、設定は人それぞれになると思います。
最初はアニメのOPとか、CMとか時間の掛からない物をキャプチャーして設定を煮詰めて行きましょう。
結局は自分で試して、自分の目で確かめるしかないです。

以下はアニメ向けの実践的な設定を。

★AVSファイル(Avisynthスクリプト)
緑色の字は、うちで実働しているスクリプトからのコピペです。
これで最終版だ〜と思ってから、2度3度変わっていますが(^^;

1a)映像ファイル読み込み。
最初に映像ファイルを読み込まないと始まらない。
MPEG2でキャプった物を、DVD2AVIでおおまかに範囲選択して、save project。
映像のd2vファイルと、音声のmpaファイルができます。
とりあえず、読み込むのはd2vの方。
LoadPlugin("D:\avisynth\plugin\mpeg2dec.dll")
MPEG2Source("k:\cap.d2v")

1b)AVIUTL経由で映像ファイルの読み込み。
ゴースト除去する時は、ゴースト除去のみAVIUTLを使用。一気に2時間増になります(T-T
AVIUTLにd2vファイルを読み込ませ、ゴースト除去フィルターの設定後、AVIUTLにプロジェクトファィル(拡張子はaup)を吐かせ、それをAvisynthで読み込みます。
vfapi.avsがあると楽なのですが……どこで入手したんだっけ?(^^;
有名なファイルなので、検索すればすぐに見付かると思いますが(^^;
Avisynth用のゴースト除去フィルター、はよ出ないかな(T-T
(それと、以下、「同番a)」「同番b)」となっている所は排他使用って事で。1b)を使う時は1a)は使わないです。)
Import("d:\Avisynth\plugin\vfapi.avs")
VFAPISource("AUP","k:\cap.aup")
ConvertToYUY2()

2)クロスカラー、ドット妨害除去。
テロップの縁がギザギザ波打っている時がある場合、これが有効。
満月をさがしてのOPとかが顕著でした。
副作用は無さげなので強めに掛けてます。
バージョンアップしたDeDotAが出ているんだけど、まだ試してません(^^;
旧バージョンで問題ないし、速度面でメリットがあったら入れ替えるかな。
LoadPlugin("D:\avisynth\plugin\De.dll")
DeDot(8,50,120,8)

3a)インターレース解除。
大体のアニメは、ほとんどが24fpsで、部分的に30fpsを使っているって感じです。
24fpsの部分を30fpsにした場合、残像が気になるし、24fpsにした方がエンコ時間が掛からないので、24fpsにしちゃう時が多いです。
IT、お気に入りなんだけど、横ピクセル数が16の倍数って制限が面倒。4の倍数位になってくれないかな。
実写をエンコする時はDecimateを省きます。
LoadPlugin("D:\avisynth\plugin\IT.dll")
IT()
LoadPlugin("D:\avisynth\plugin\Decomb.dll")
Decimate(cycle=5)

3b)120fps化する場合。
30fpsの部分も24fps部分も滑らかに再生できます。
こっちは、まだ手順が合っているかわからんし、問題を抱えているので、詳しくは調べて下さいって事で(^^;
何故だか、コマの順序が狂う時があるです(T-T
エンコ時間は1時間増。それとFPSChkに20分増ってところかな。
容量は大して増えないし、手順憶えたら、ALL120fpsにしちゃおうかなと思いつつ、それほど動きが素晴らしいアニメって、今は無いぞーとも思っていたり(T-T
LoadPlugin("D:\avisynth\plugin\dec60.dll")
Dec60(idxfile="k:\cap.idx",deint=true)

4)画面サイズを拡大縮小。
最終サイズ(640×480)より一回り大きめにしておきます。
フィルターによっては四辺に影響する場合があるので、後にそーいう部分をカットします。
面積が小さいほどフィルターの処理速度は速いので、サイズ変更の順番は考えましょう。
480×360とか320×240とか、大幅にサイズを縮小するならば、外部プラグインのLanczos3Resizeを奨めます。
BilinearResize(660,492)

5)2DNR。
(0,4,2,2,0,2,2)が俺標準。
(0,●,2,2,0,2,2)→●の位置のパラメーターだけで、調整してます。
2〜6くらいかな。
線が細いアニメ、淡い色の線のアニメだと、(0,2,2,2,0,2,2)くらいに抑えます。
強く掛けすぎると線を削ってしまいますので注意しましょう。
LoadPlugin("D:\avisynth\plugin\_2DCleanYUY2.dll")
_2DCleanYUY2(0,2,2,2,0,2,2)

6)線を綺麗に。
ボソボソした線がスラ〜とした線になります。
けっこう、副作用は強くて、強く掛けると線が痩せてしまうので、使う時は慎重に。
線の痩せは、プレビューの静止画時は綺麗に見えても、動いていると、けっこう見辛くなってしまいます。
これを使うのは、元々、線が汚いアニメのみにしてます。何とは言わんときますが、5話の作画、酷過ぎ(T-T(謎
LoadPlugin("D:\avisynth\plugin\warpsharp.dll")
WarpSharp(depth=60, blur=3, bump=50, cubic=-0.6)

7a)シャープ&ボカシ。
シャープにするほどファイルサイズは増。
ボカすほどファイルサイズは減。
個人的には200MB以下を最終サイズの目標に、シャープを入れて画質(QBの%)を下げるって方針です。
LoadPlugin("D:\avisynth\plugin\unsharp.dll")
UnsharpMask(strength=80, radius=3, threshold=5)

7b)シャープ&ボカシ。
どうしてもファイルサイズが大きくなってしまう場合はボカします(T-T
Blur(0.2,0)

8)四辺をカットして最終サイズに。
640×480がスタンダードです……と勝手に断言(^^;
正直、320×240のは、もう見てらんないって感じ(ォ
640×480でもシャープ掛けてくれないと、480×360と大差ないし、640×480の解像度を活かすには、シャープは必須と思います。
地上波が主役の間は、640×480より高解像度がスタンダードにはならないとは思うのですが、ちょっと先には、640×480のボケボケなのは、もう見てらんないって感じにはなっている様な気が(^^;
再生時にリアルタイムでシャープを掛けるって事になっているかもしれませんが(^^;
crop(11,8,640,480)

9)色調整。
Avisynthには実質これしかないと思う。
UV-gammaのダミーを機能させて欲しいなぁ。
LoadPlugin("D:\avisynth\plugin\ColorYUY2.dll")
ColorYUY2( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20, 0 )

10)3DNR。
変わった順番だと思うのですが、最後に持ってきます。
ファイルサイズ削減の意味合いが大きいです。
速度を考えて、最終リサイズ後にしているって狙いもあり。
強く掛けると残像が残ってしまい、見た目が悪くなるうえに、ファイルサイズがかさんでしまいますので注意。
(2,6,6)が個人的に上限です。
これでも濃紺の髪に黒い主線のキャラなどは、線がとけ込んでしまいます。
どうしても、もっと3DNRしたいって場合には、弱めに2、3回掛けるって手もあります。
(1,6,6)を2回掛けて6分増だったかな?
Temporalsoften2は時間軸系の中では高速なので、それほど負担にはならないと思います。
LoadPlugin("D:\avisynth\plugin\TemporalSoften2.dll")
TemporalSoften2(2,6,6)

以上〜。
最短コースの、1a)2)3a)4)5)7a)8)9)10)で3時間って所。
AVSPreviewでパラメーターの調整をしたら、CMカットせずに、映像部だけエンコ始めちゃいます。
CMカットしない方が、音ズレがあった時に修復が楽なので。
CM分、無駄な時間エンコをしてますが、VirtualDubのスライダーはトロいし、CM付きでAVI吐き出させた後、AVIUTLでCMカットした方が楽です。
エンコ中にゆっくり音を加工できるので、トータル的な時間は、そう変わらないと思います。

★エンコーダー
DivX5かXviD。各、1PASS、QBで90%以上を目安にしてます。
それ以下にQBを下げないと目標サイズを超えそうな時は、シャープを弱めたり、ボカしたりって感じです。
試したアニメの中では、どれみが縮まらん(T-T
今の所、DivX5が主。DivX5が苦手な時だけXviDです。
DivX5は暗いシーン、彩度の低い(白黒っぽい色彩の)シーンに弱いと思います。
XviDは、画質はDivX5より上だと思うのですが、Bフレームにまだ対応してないので、ファイルサイズが大きくなってしまいます。
同じ位のサイズにしたい場合は、QBを4%ほど下げるって感じでしょうか。
毎週同じアニメをエンコしていれば、だいたいのサイズ、今週は縮みそう、縮まなそう、DivX5が苦手そうってのが勘で分かる様になると思います。

ファイルサイズが大きくなり過ぎて作り直す時には、「元サイズ/1.1^QB差」って感じで換算してます。
QB95%で250MBになってしまったファイルをQB92%に変更すると、
250MB/1.1^(95-92)=188MB
って具合。大ハズレはしないと思いますが、無保証で参考にどうぞ(^^;
シャープ&ボカシも換算変数を算出しておくと便利かと。
と言う自分は、使用フィルターを変えたばかりなので、まだ出してません(^^;

とりあえず、Bフレーム対応のXviDを切望。
そう遠くないうちに出るんじゃないかなーと希望的観測。
そしたらXviDに移行しちゃうと思います。

★音声
DVD2AVIで「cap MPA T01 DELAY 613ms.mpa」って感じのファイルが出来ます。
「613ms」がいわゆる音ズレの間隔……だったはず。どこで読んだか忘れたので、自信なし(^^;
VirtualDubだったら、「Audio」→「インターリーブ」の「Audioトラックの遅延」の欄に、この数値を入れればOK……のはず(^^;
んでmpaをwavに変換。
48Hzだとscmpxじゃ駄目でcdexでやったような。(記憶あやふや^^;)
scmpxの方が楽なので44Hzでキャプってます。
で、wav編集できるアプリでノーマライズしてノイズ除去。
サウンド環境が悪いので、どのアプリが良いかお奨めはしないでおきます(^^;
最終的にはLameでMP3のCBR128kbpsにしてAVIと合成。
VBR、ABRはAVIUTLの対応待ちかな。
NandubでVBR、ABRのMP3は扱えますが、VirtualDub同様スライダーがトロいのでCMカットには使いたくないです。

★総括
コツは……受信状況の良いチャンネルだけエンコしましょう(ォ
ゴースト除去なんて行うと、時間が掛かるうえに、しょせん、受信環境の良い人には仕上がりがかないませんし(T-T
数人でチャンネルごとに分担して、誰かにFTPか、えむえーくす鯖建てて貰って、仲間内だけでひっそりと……って状況になると、色々と安心して以下略(^^;

サンプルは著作権的にまずそうなので出しませんけど、↑のスクリプトを試してみれば、どの程度の物が出来るかわかると思います。
平均的なレベルには達していると思うのですが、どうでしょうか?(^^;

エンコしているアニメは火曜日3本、水曜日2本。
曜日が、偏っているのが辛い所(T-T

ホームへ戻る 更新履歴へ戻る 感想お待ちしてます(^^)/