本帖最后由 cunhan 于 2011-7-12 11:11 编辑
插件已升级,请勿下载本帖的附件。
新版本的插件详情请至新NMM论坛查看
这是一个基于AvsFilterNet(http://avsfilternet.codeplex.com/)二次开发的AVS滤镜
我们在处理片源的时候,往往会手动分段,做不同的处理。
当分段比较多,而且混杂有改变帧数操作(如decimate,MCBob等)的情况下,想手写timecode,就得逐段阅览,并计算始末帧的位置,但这是一件很烦人而且容易出错的事情。
这个插件就是为了从这种数数字的地狱中解脱出来而开发的。
使用出现RP问题,欢迎猛击PM骚扰。
运行环境:
AviSynth2.5 .Net Framework 2.0
注:此滤镜在windows xp 32bit下开发和调试,假如在64bit系统或者是win vista/win7下RP了,在下也没有办法了~
功能:
把若干个不同帧率的clip合并,并输出对应的timecode(format v1)文件。
只需以播放器/VMD/AvsP等打开avs,timecode文件即能生成,不需要像tfm的log那样完整地跑一遍。
Todo:
输出v2格式 timecode
增加append模式
加载滤镜:
由于是基于AvsFilterNet做二次开发的插件,所以加载形式有点特殊
LoadPlugin("AvsFilterNet.dll")
LoadNetPlugin("TimeCodeOutPut.dll")
还有另外两种加载方法,详见AvsFilterNet主页
语法:
TimeCodeOutPut(clip c, string tcfile, clip c1, [...])
待合并的clip数量最大为1022(实测). 当超过这个数字时,filter就会抱怨too many argument(max is 1024)。剩下的两个名额当然是clip c和string tcfile占据了~
例子:
newclip = TimeCodeOutPut("TimeCode.txt", c1, c2, c3)
其效果等价于
newclip = c1.assumefps(last.framerate) ++ c2.assumefps(last.framerate) ++ c3.assumefps(last.framerate)
并输出timecode文件Timecode.txt,其内容为
# timecode format v1
Assume last.framerate
0,c1.framecount-1,c1.framerate
c1.framecount,c1.framecount+c2.framecount-1,c2.framerate
c1.framecount+c2.framecount,c1.framecount+c2.framecount+c3.framecount-1,c3.framerate
TimeCodeOutPut.rar
(49.75 KB, 下载次数: 45483)
|