NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 6136|回复: 6

这样一段tivtc的avs写法,不知道对不对。

[复制链接]
发表于 2008-9-16 08:42 | 显示全部楼层 |阅读模式
1pass是这么写的
  1. d2vpath = "E:\comic\dvd\seiya\03\03.d2v"
  2. mpeg2source(d2vpath)
  3. tfm(d2v=d2vpath,output="E:\comic\dvd\seiya\03\ep1-tfm.txt")
  4. trim(0,40511).tdecimate(mode=4,output="E:\comic\dvd\seiya\03\ep1-tdec.txt")+trim(40512,43187)+trim(43188,44148).tdecimate(mode=4,output="E:\comic\dvd\seiya\03\ep2-tdec.txt")
  5. crop(344,224,-344,-224)
复制代码
这个问题应该不大

------------------------------

2pass的写法
  1. d2vpath = "E:\comic\dvd\seiya\03\03.d2v"
  2. mpeg2source(d2vpath)
  3. tfm(d2v=d2vpath,input="E:\comic\dvd\seiya\03\ep1-tfm.txt",ovr="ovr.txt",clip2=nnedi()).trim(0,40511).tdecimate(mode=5,hybrid=2,vfrDec=1,input="E:\comic\dvd\seiya\03\ep1-tdec.txt",mkvOut="E:\comic\dvd\seiya\03\ep1-timecodes.txt").assumefps(24000,1001)+trim(40512,43187).MCBob().assumefps(24000,1001)+tfm(d2v=d2vpath,input="E:\comic\dvd\seiya\03\ep1-tfm.txt",ovr="ovr.txt",clip2=nnedi()).trim(43188,44148).tdecimate(mode=5,hybrid=2,vfrDec=1,input="E:\comic\dvd\seiya\03\ep2-tdec.txt",mkvOut="E:\comic\dvd\seiya\03\ep2-timecodes.txt").assumefps(24000,1001)
  4. spline36resize(640,480,8,0,-7,-2)
  5. KenKunNR(threshold=2)
  6. limitedsharpenfaster(strength=15)
  7. WarpSharp(26,3,86,-0.6)
复制代码
主要是trim使用的顺序,肯定不能放在tfm之前使用,tgm.txt是1pass对全篇扫描的一个结果,如果放在tfm之前trim的话,帧应该就对不上了吧?所以我把trim放在了tfm和tdecimate之间,tdecimate应该是根据tdec.txt这个文件进行砍帧的吧?所以我想把trim放在tdecimat前面应该不会造成因为trim后帧数发生了变化而造成了砍帧错误。

高手来指点指点,感觉tivtc砍帧比较麻烦,为了砍帧我在tdecimate时删掉了tfmIn="ep1-tfm.txt“这句,毕竟tfm.txt是全篇的扫描,用在trim后肯定不合适,不过我看官方说明文档,tfmIn应该是起到加速作用的,删掉似乎也没什么影响。

不知还有什么更好的写法? 我对写代码是苦手~达人快来指点吧。

[ 本帖最后由 52wy 于 2008-9-16 08:50 编辑 ]
 楼主| 发表于 2008-9-16 11:20 | 显示全部楼层
发现这样的trim写法也不行,压出来的东西本来横向移动很平滑的场景反而会有顿挫感了,头大ing。。。
 楼主| 发表于 2008-9-16 12:04 | 显示全部楼层
  1. d2vpath="03.d2v"
  2. #pass=nnedi()
  3. a=mpeg2source(d2vpath).tfm(d2v=d2vpath,input="ep1-tfm.txt",ovr="ovr.txt").tdecimate(mode=5,hybrid=2,vfrDec=1,input="ep1-tdec.txt",tfmIn="ep1-tfm.txt",mkvOut="ep1-timecodes.txt")
  4. b=mpeg2source(d2vpath).trim(40512,43187).McBob()
  5. c=a.trim(0,35644).assumefps(24000,1001)+b.assumefps(24000,1001)+a.trim(38005,38883).assumefps(24000,1001)
  6. d=c.spline36resize(640,480,8,0,-7,-2).KenKunNR(threshold=2).limitedsharpenfaster(strength=15).WarpSharp(26,3,86,-0.6)
  7. return d
复制代码
改成这样写似乎能解决问题,不过好像clip2函数用不了了。我设定了clip2=nnedi(),结果提示我nnedi是个未知的函数名,dll什么的都加载无误。
发表于 2008-9-16 20:04 | 显示全部楼层
您这个AVS写得我已经看不懂了,我看不出来您最原始的意图是什么,所以也没有办法具体给您建议。
我现在能说的就是,如果要做vfr,与其在avs里面trim,不如全部放在ovr里面完成分段。在avs里面trim,同时又指定ovr,最后只能连自己也绕进去了。

至于nnedi,您加载nnedi.dll了?
 楼主| 发表于 2008-9-16 20:33 | 显示全部楼层
意图很简单,就是头尾用tivtc进行自动vfr处理,ed用mcbob处理。

nnedi.dll自然是加载了=。=

至于那个ovr,是因为有几帧(光线散射的场景),被tivtc误判为交错,进行了PP,画面反而变糟糕了。所以在ovr里提示tivtc不要处理这几帧。。嗯。。。

[ 本帖最后由 52wy 于 2008-9-16 20:34 编辑 ]
 楼主| 发表于 2008-9-19 18:37 | 显示全部楼层
问题解决了。原来没有给nnedi指定一个视频源
a=mpeg2source(d2vpath)
b=a.tfm(d2v=d2vpath,input="ep1-tfm.txt",ovr="ovr.txt",clip2=a.nnedi())

这样就搞定了
发表于 2009-3-7 21:29 | 显示全部楼层
  看不懂  谁教教我
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2025-6-22 18:57 , Processed in 0.338034 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表