私の家は未だアナログ地上波なのですが、引越し以降テレビの電波受信状況が非常によろしいので、TVキャプチャした番組をエンコードする際のavisynthスクリプトが以前より随分と変わってきました。

手前味噌でヘタレな設定ですが、何かの参考になるかもしれないのでここに公開しておく事にしました。

最近の私のavisynthスクリプト(実写)

Avisource("tvcap.avi") #TVキャプチャした動画ソース
AddRange("vdmedit.vcf") #VirtualDubModでCMカットした編集ファイル
DeDot(20,20,15,5)
SmartDeinterlace(1,10,true,true,true)
LanczosResize(512,384)
Convolution3D(0,4,4,4,4,3,0)
return last

最近の私のavisynthスクリプト(映画、24fps)

Avisource("tvcap.avi")
AddRange("vdmedit.vcf")
DeDot(20,20,15,5)
crop(0,40,0,-40)
IT(fps = 24, ref = "TOP", blend = false)
LanczosResize(512,320)
Convolution3D(0,4,4,4,4,3,0)
return last

とまぁ、非常にシンプルかつ、簡素なスクリプトで、ノイズ除去もconvolution3dをやや弱めかける程度に済ませています。

ただ、これだけですとXvidやh.264に圧縮エンコードした際にあまり縮みませんので、VirtualDubModでもうひとフィルタかましてやります。
(1項目飛ばして「VirtualDubModでのフィルタ設定」へどうぞ)

最近の私のavisynthスクリプト(アニメ番組)

アニメ番組は難しいです。
私は殆どアニメ番組はキャプチャしない事、またキャプチャしてもオール24fpsな劇場版アニメが殆どなので、上記(映画、24fps)のスクリプトに弱めにwarpsharpフィルタをかける程度です。

最近流行りの24fps、30fps、60fps混在なソースは面倒です。
昔はフレームレートが変わるシーンで分断して、120fps化とか 可変フレームレート化してましたが、最近は面倒なのでインタレ解除もリサイズも行わず、ノイズ除去だけしてmpeg2にエンコです。

VirtualDubModでのフィルタ設定

VirtualDubModフィルター画面
▲VirtualDubModのフィルター、temporal cleanerを使用します。
以前temporal cleanerを紹介した記事はこちら。

virtualdubmod temporal cleaner
▲temporal cleanerの設定は、初期値の半分くらいの数値で十分です。
temporal cleanerは細部を保持したまま時間軸ノイズをかなり減らしてくれますが、初期値のまま使用すると、恐ろしく残像が残ります。

 

と、いう事で最近はAviSynthとVirtualDubModのノイズ除去フィルタを併用して動画エンコードしてます。
上記AviSynthとVirtualDubModのノイズ除去フィルタの組み合わせで、90分~100分程度の番組なら、大抵700MB以下に収める事が可能です。
(条件:Xvid Q値2~3、1Pass : サイズ512X384 : mp3-128Kbps)

今更CD-R一枚分の容量に収める気なんてサラサラ無いのですが、電波の受信状況が良くなると動画エンコードで容量を小さく収める事って、そんなに難しくないのかも知れません。