vb自学成果-PSP视频转换器(半成品-源码误删了)
2009年3月11日 2:05 下午
这是我花了两个星期边学边写的第一个程序,本来还在开发中的,接近尾声了,但今天在我整理硬盘的时候不小心把源码给删了,恢复后也已经被改写了。。。伤心啊。
这是不稳定版本,只在几台机器上测试过,部分机器可能用不了,没办法,源码没了我也不能修正了。发上来就当纪念一下吧。

这是我花了两个星期边学边写的第一个程序,本来还在开发中的,接近尾声了,但今天在我整理硬盘的时候不小心把源码给删了,恢复后也已经被改写了。。。伤心啊。
这是不稳定版本,只在几台机器上测试过,部分机器可能用不了,没办法,源码没了我也不能修正了。发上来就当纪念一下吧。
avs滤镜下载地址:http://avisynth.org/warpenterprises/
一.加载插件
LoadPlugin ("filename") #加载.dll插件
例:
LoadPlugin("C:Program FilesRingz StudioStorm CodecCodecsVSFilter.dll ")#加载字幕滤镜
还有两个,只做简单介绍:
LoadVirtualDubPlugin ("filename") #加载VD的滤镜,.vdf文件
LoadVFAPIPlugin("filename")#加载TMPGEnc滤镜(IVTC处理)
如果用到插件比较多的话,这样Load确实比较烦。其实你可以将常用的. Dll插件复制到avisynth安装目录的plugin目录里,这样滤镜就可以不用增加LoadPlugin()语句。
例如:最常用的字幕滤镜。将VSFilter.dll复制到plugin目录里,这样就可以不用LoadPlugin()语句了,直接就可以使用VobSub()语句了。方便很多!
还可以使用以下命令指定插件目录:
SetWorkingDir("d:avsplugin") #设定AVS 脚本调用dll 插件文件的工作路径
LoadPlugin("VSFilter.dll")
LoadPlugin("undot.dll")
再需要调用很多插件时这样做会更方便些。
二.读取源文件滤镜[/size]
1.视频滤镜
Directshowsource("filename"[,...][,...])
例:DirectShowSource ("D:test.avi") #直接打开test.avi源文件
DirectShowSource("D:test.rmvb",fps=23.976, convertfps=true) #直接打开rmvb格式,对于rm/rmvb和asf格式的,需要定义帧率才能读取。如里面的fps=23.976,convertfps=true语句的作用是防止转换可变桢率的RMVB和WMV时出现影音不同步。这两个语句望大家在转片时都加上。
DirectShowSource()在avisnyth中很强大,常用的媒体格式,如avi、mpge1/dat、mpge2/vob (DVD) ,bin (SVCD)都可以加载.只要有解码器的支持,很多格式都可以使用这个滤镜加载。
AVISource("filename"[,...])
加载AVI文件,对于常见的DVDRIP格式来说可能更常用些.,DVDRIP都是DivX或XviD编码的,需要安装相应的解码器(Codec)。
例:AVISource("D:test.avi")
AVISource("d:test.avi",false)#false表示禁止音频
近来一直在研究psp的视频压制,其中用到的转换工具诸如ezbuilder、megui等GUI程序大多以X264编码器为核心,因此在网上找来了x264命令行参数的相关解释。文中对应的是x264命令行模式,VFW方式也用相同的参数,不过是图形界面,可以自己找对应的英文。
使用格式:x264 默认选项 -o 输出文件 输入文件 [长x宽]
输入支持格式:RAW/y4m/avi/avs(编译时可选)
输出支持格式:264/mkv/mp4(编译时可选)
x264的许多参数可以有-/--两种输入法。以下等价参数用“参数1/参数2 <必需数值格式>”表示,参数尾部()内为个人推荐。
-h/--help 帮助
帧类型选项:
-I/--keyint <整数> 最大IDR帧间距,默认250
-i/--min-keyint <整数> 最小IDR帧间距,默认25
--scenecut <整数> 画面动态变化限,当超出此值时插入I帧,默认40
-b/--bframes <整数> 在IP帧之间可插入的B帧数量最大值,范围0~16,默认0
--no-b-adapt 关闭自适应B帧判定(-b设为1时可用,其他不推荐)
--b-bias <整数> 控制插入B帧判定,范围-100~+100,越高越容易插入B帧,默认0
--b-pyramid 允许B帧做参考帧
--no-cabac 关闭内容自适应二进制算术编码(CABAC,高效率的熵编码)(会提高速度,但严重影响质量)
-r/--ref <整数> 最大参考帧数,范围0~16,默认1
--nf 关闭环路滤波(一种除马赛克算法)
-f/--filter
相信很多PSP友都用过ezbuilder这个强大的压制工具,怎样强大自己去探索吧。。。但我们发现程序默认的字幕压制效果不那么好,因此列出压制字幕语句个项的具体意义及作用方便大家参考修改!
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
[V4+ Styles]
指定字幕型式,+號不可省略,會出現字幕易位等錯誤
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Name
字幕型態名稱
Fontname
字型名稱,無法使用日文名稱時請指定其英文名
Fontsize
字體大小
PrimaryColour
文字主色,變色後之色
SecondaryColour
第二色,變色前之色
OutlineColour (舊TertiaryColour)
第三色,外框、輪廓色
BackColour
第四色,影子的顏色