烟雨江南

首页 » 社区&站务 » 『 江南站务 』 » 『 江南工作室 』 » = 电影工作室 = » ffdshow/avs+ERP成批压制vcd-rmvb技巧和经验
霸王枪 - 2004-10-25 21:32:00
之前在ffdshow设置详解里提到,如果ffdshow支持VCD格式(mpge1),那么压制就会方便很多.ffdshow在04年6月份以后的版本其内置滤镜如画面裁减和缩放,增加水印等都可以支持mpge1了.到了8月份的版本,其扩充的avs功能终于也支持mpge1了,那么也就是说一种利用ffdshow来增强VCD压缩效果,同时方便成批压制的方法也出现了.

在开始阅读学习体会之前,需要注意几点:

第一,得到较好rmvb效果的关键是片源的清晰度!通过avs增加部分滤镜后,可以使vcd画质得到一定提高!

第二,该方法压制,需要有一定的压片技巧和压片历程。对码率设置、画面大小都要有一个完整的认识。

第三,avs增加滤镜一定会增加压缩时间,某些滤镜还可能造成一定程度的错位,所以滤镜的取舍很重要.应该根据自己的实际情况进行调整.

第四,请先仔细阅读我的界点码率1pass压制方案.(我的技术板块内已贴出部分,牛过的还要增加一倍的内容,稍后贴出)

首先介绍相关avs滤镜
为了可以利用现成的滤镜,请同时安装DVDRIP入门集成工具包,Gordian Knot,简称GK。这个软件可以到射手网或者太平洋下载中心下载到!

我的avs滤镜讲解参考滤镜附带的说明和自己的实际体会(尽量充分利用现有的滤镜和内置的滤镜,到底提升了多少肉眼可见的效果,耗时如何等)来说明,希望读者能充分体会我的良苦用心.

画面裁减和缩放
根据rmvb压制的实际情况,推荐自由裁减和固定缩放
自由裁减
先用mediaplayer在原始画面下观看效果,了解黑边、视频噪音线的大致情况。一般尽可能的裁减掉,特别是左右黑边。
自crop(左,上,-右,-下)

固定缩放:推荐统一用4:3全屏模式,标准画面大小为384*288,448*336,512*384,实际推荐除448*336外,可以使用更好记忆的400*300和480*360
注:如果左右没什么黑边,上下有黑边(宽银幕的那种),也无所谓切割黑边了,直接LanczosResize(400,300),或者在压缩软件的画面大小中定义成400*300更显含蓄和老练

VCD-rmvb适当放大画面可以充分体现rmvb带来的画质上的提升.这和我提到的DVD-rmvb压制应该缩小画面是不矛盾的.因为尽管放大画面,也只是400*300,或者448*336,480*360,也是小画面.再大如512*384以上效果就会降低.而这些个画面对错位影响不大,除非是片子本身容易错位.

Levels(0,1.2,255,0,255)
avs用于rmvb压制中,最重要的亮度滤镜!改动第二个数值,其值看情况一般1.2-1.7左右
注意,sharpen等滤镜都可以增加亮度,所以合用时注意Levels值
如果片子亮度可以的话,可以不用
内置滤镜,不需要加载滤镜插件

Tweak(0,1.2,10,1)
可以调节色度(第二个)和亮度(第三个).我一般介绍这几个滤镜时,将Tweak形容成调前景,而Levels是调背景.从压缩实践来说是有这个微妙的差别的.
有些VCD加了柔化滤镜后,颜色会失真,那么可以利用Tweak来调节饱和度.不过目前来看这种效果不是很好.
所以Tweak我现在很少用于rmvb的压制了.

FluxSmooth(5,7)
FluxSmooth是柔化滤镜。这是用于VCD-rmvb压制最立杆见影的滤镜.

中度柔化FluxSmooth(7,7)
重度柔化FluxSmooth(10,15)
一般轻到中度柔化即可

使用时需要加载滤镜插件
如:LoadPlugin("C:\Program Files\Gordian Knot\FluxSmooth.dll")

加载柔化滤镜,会增加不少压缩时间,因为可以获得精良的压制效果,当然值得花这个时间

deen
deen is a set of assembly-optimised denoisers.requires a YV12 colorspace.
就是说类似于列阵法的降躁滤镜,需要YV12的色彩环境.也就是动漫论坛常说的2D降躁滤镜(空间轴)

rmvb压制中推荐用2d参数
默认为 deen("a2d",2,10,12)
第二个数值选1-7
后面2个好像是亮度和色度,默认是10,12
仅仅deen()的情况下是3d参数
或者
deen("a3d",1,10,12)
第二个用1-4
这个和Convolution3D的效果差不多了


LoadPlugin("c:\Program Files\GORDIA~1\deen.dll")
CONVERTTOYV12()#转换颜色环境,某些系统下已经是yv12的就不用加了,根据出错提示添加
deen("a2d",2,10,12)

sharpen(0.2)
sharpen滤镜字面上解释是锐化!锐化同时也有增加亮度的作用.锐化的效果肉眼上并非明显,但感觉在动态的画面中加与不加这个滤镜有些差别.对压缩速度影响不大

其他外部锐化滤镜常用有(这几个滤镜ffdshow是自带的,大家可以拿一个avi片源来测试体会其锐化作用),会对压缩速度有一定影响
MSharpen(threshold,strength,highq,mask)
threshold一般5-10之间
strength就是锐化值,其值一般50-100之间
可以开启highq为true
mask一般关闭为false
如ffdshow中的设置截图

MSharpen的效果在rmvb压制效果要比sharpen明显,但是动态画面中反而感觉有些画蛇添足.

warpSharp/awarpSharp
这个滤镜是从ffdshow中提取出来的,作为外部滤镜,其还有一定的的IVTC作用.这里就不展开了.

双语VCD的压制
利用avs可以很方便的实现单语VCD-rmvb
如:
DirectShowSource("F:\mpge\sample.dat").Levels(0,1.7,255,0,255).LanczosResize(480,360).GetChannel(2)

ERP的avs如下:
video=GetChannel(video,2)

1 left channel
2 right channel ,一般是国语

VCD的双语是合成的,分左右声道,若想压制成双语VCD效果,那么在压缩软件中设置成32k/44k的立体声即可

然后回顾性的介绍ERP用于VCD压制的码率设置和其avs扩充功能的运用

如图,因为avs滤镜的方法提升了片源效果,码率根本也无需太大

VCD-rmvb压制时,如果片子太老,可以将减少视频杂波开启到high.早年我在DVDRIP-rmvb的一系列测试中体会开启这个参数可以较好的控制1pass压制码率错位,当然DVDRIP-rmvb是不需要开启的.而谈到柔化效果,rmvb的柔化效果是最强的!

利用ERP的avs扩充功能,可以实现成批压制,这个我之前在牛过已经发过相关帖子.现扩充如下

因为avs模板的限制,又强制了return video
所以,语法上要加 video参数

压制的时候,会在ERP的安装目录形成一个ermp_tmp.avs的文件,其内容为

video=DirectShowSource("M:\保留\sample\jrvs.dat")

LoadPlugin("C:\Program Files\Gordian Knot\FluxSmooth.dll")
video=crop(video,8,4,-12,-4)
video=LanczosResize(video,400,300)
video=Levels(video,0,1.2,255,0,255)
video=sharpen(video,0.2)
video=FluxSmoothst(video,5,7)
video=video.TextSub("G\avs\jrvs43.ssa")

return video

最后介绍利用ffdshow来实现VCD-rmvb的成批压制
ffdshow的版本需要8月份之后的,之前的不能支持avs的扩充功能,所以不能利用额外滤镜,如FluxSmooth等

首先开启mpge1解码

注意,目前ffdshow还未充分支持mpge1,所以经过下述设置后,VCD可能不能正常为mediaplayer播放,不过不要紧,ERP能加载压制.

如比,黑边裁减/画面缩放/增加静态水印字幕/锐化滤镜/亮度滤镜等都可以通过ffdshow直观的设置

最关键的是利用ffdshow的avs扩充功能来加载柔化滤镜,动态字幕等,而且语法更简练.


记事本上写入
LoadPlugin("C:\Program Files\Gordian Knot\FluxSmooth.dll")
Levels(0,1.2,255,0,255)
sharpen(0.2)
FluxSmooth(5,7)
textsub("G\avs\jrvs43.ssa")

保存为一个avs文件,然后用ffdshow加载,这是用于大多数VCD-rmvb的设置,尽管消耗点时间,但是效果不错.有的甚至可以和某些胡乱压制的dvd-rmvb媲美.
至于裁减黑边,缩放等可以在ffdshow的其他滤镜中设置

说明:表面上看似乎先柔化再锐化,亮度滤镜放在最后,但实际我这个顺序从压缩实践来说,性价比更高些

片源较老,或者噪音特大的可以用deen滤镜结合开启ERP里的消除视频杂泼
如片源较差:
LoadPlugin("c:\Program Files\GORDIA~1\deen.dll")
CONVERTTOYV12()
deen("a2d",2,10,12)

VCD-rmvb压制经验谈
1,VCD-rmvb适当放大画面可以充分体现rmvb带来的画质上的提升.这和我提到的DVD-rmvb压制应该缩小画面是不矛盾的.因为尽管放大画面,也只是400*300,或者448*336,也是小画面.再大效果就会降低.而这个画面对错位影响不大,除非是片子本身容易错位.
2,VCD格式是一种很容易损坏的格式,光驱的好坏都可以影响到数据的正常读取到硬盘.所以对于老的片源和经常借阅的片子,应该使用vcdgear将VCD转换成mpge到硬盘上,这样一定程度上可以了解片源的损坏情况,避免不必要的徒劳
3,对于超过20集以上的片子,应该先压制第一集和最后一集.因为有些VCD直接压制会有同步的不同步现象.如此正好可以利用ERP的时间延时功能来实现便捷的压制
4,由马赛克导致的vcd-rmvb的错位一般很难修复,一般可以用vcdcutter将明显马赛克的地方切除后再压制(当然这个很多情况是压制完毕后检查rmvb的时候发现的),然后再单独压制.avs合成压制有时会导致不同步,所以也是一个比较郁闷的问题.
1
查看完整版本: ffdshow/avs+ERP成批压制vcd-rmvb技巧和经验