分页: 1 / 1

关于30p视频中夹杂着30i的反交错问题 (已解决)

发表于 : 2012-12-27 23:46
sammysui
最近压制一个演唱会视频,视频基本上85%以上是30p。其中夹杂着上百段30i的视频。现在的问题是如何用好一点的方式反交错。因为视频比较珍贵。。。
第二个问题是有没有什么方式可以像tfm一样可以自己使用ovr,手工指定哪一段进行反交错。

Re: 关于30p视频中夹杂着30i的反交错问题

发表于 : 2012-12-28 0:01
cunhan
用tfm指定clip2就行了吧。
tfm不会动30p的部分,而30i的部分会被检测出来用你指定的clip2替换。
最后不做decimate保持30p就行了

Re: 关于30p视频中夹杂着30i的反交错问题

发表于 : 2012-12-28 0:37
sammysui
呵呵,非常感谢您的帮助。
现在的问题是,tfm好像把所有的视频重新拆分场匹配。这样的结果就是本来大部内容是30p根本不需要进行c匹配,偏偏tfm全部进行了匹配,压制出来以后看到视频有斜着横线的地方会出现反交错以后的类似锯齿状的抖动波纹。。。看起来感觉不好。。。

Re: 关于30p视频中夹杂着30i的反交错问题

发表于 : 2012-12-28 6:31
06_taro
c匹配本来就是保持原始画面不进行任何处理,TFM之后锯齿要么是clip2/PP的deint用得太烂了,要么是匹配错误了还没ovr,对30i如果确定是c匹配而肯定没误判成p匹配的话问题只可能是前者 = =

有个特殊情况例外:缟缟,或者单场上就有交错或者锯齿的奇葩。这种情况直接deint的话再好的deinterlacer都肯定继续锯齿…

类似tfm但是不匹配的方式应该是这样的:[syntax lang="avisynth"]TDeint(emask=TMM(1), edeint=QTGMC, ovr="ovr")[/syntax]有comb检测,有动态检测,有edeint相当于clip2,还可以ovr。

如果您那么喜欢手动的话[syntax lang="avisynth"]deint=QTGMC(FPSDivisor=2)
diadp=mt_merge(deint, TCombMask(lclinked=True), luma=True)
ConditionalSelect("index", last, diadp, deint)
ConditionalReader("ovr", "index")[/syntax]
然後这种ovr格式:

代码: 全选

Type Int
Default 0 # 默认不处理

R 100 199 1 # 第100~199帧只对画面comb部分deint
R 300 399 2 # 第300~399帧全画面deint
R 600 699 1 # 依此类推
如果是2.5的avs没有ConditionalSelect的话,把它换成[syntax lang="avisynth"]src = last
ConditionalFilter(src, deint, diadp, "index > 1", "==", "True")
ConditionalFilter(src, last, src, "index > 0", "==", "True")[/syntax]或者ConditionalFilter+ScriptClip+Eval的组合也可以(参考以前钻头写的教程或者avs wiki),不过ScriptClip的执行效率可能比较低…

自己根据视频情况调节各种参数/阈值,以及加RemoveGrain/mt_inflate之类的调整CombMask
CombMask不知道怎么调整或者调不到理想效果的话也可以地图炮:
diadp=mt_merge(vinverse, deint, TCombMask(lclinked=True), luma=True)

Re: 关于30p视频中夹杂着30i的反交错问题

发表于 : 2012-12-29 13:34
sammysui
感谢tao大的回复,码字辛苦了,分析的很到位,现在终于知道如何处理这个问题了。。。真的非常感谢。。。nmm果然高手云集。在这里探讨学习的气氛很好。每天到这里逛逛,总能学习到一些知识。。。真的是一个顶尖级的中文论坛。。。
现在唯一的让人困惑的问题是。在vfrhelper进行手工做ovr的时候已经发现30p自动进行了完美的c匹配,而且自动判断为clean frame。
tfm(v01,mode=3,MI=25,pp =1,slow =2,chroma=true)

然后用vfr打开这个语句tfm(v01,mode=3,pp=4,slow=2,chroma=true,input ="log. txt",ovr="ovr.txt ")
用vfr打开发现30p的clean frame被进行了错误的deinterlace然后就会出现斜横线上面出现小的抖动波纹。。。

真的不理解既然是clean frame为什么还要进行deinterlace。。。

最后还有一个基础问题vfr中match=c (sc)。其中这个”sc”是什么意思呢。。。

Re: 关于30p视频中夹杂着30i的反交错问题

发表于 : 2012-12-29 15:23
06_taro
scene change
试试2nd pass删掉input=xxx的参数,据说会影响判定,不过我自己没遇到过,我这里相同clip相同参数output结果始终匹配的…

Re: 关于30p视频中夹杂着30i的反交错问题

发表于 : 2012-12-29 16:17
sammysui
感谢taro大的帮忙。。。每次都能给出新的构思,赞一个。。。。

刚才试了一下,把input xxx删除结果还是一样。看来tfm有时候不一定严格按照匹配结果处理。后来发现凡是有场景转换的地方就有拉丝出现。。。然后在ovr中,强行指定30p为clean frame。指定sc的帧为拉丝帧,工作量巨大,效果良好。tfm终于按照ovr来运行了。

如果不手动指定30p为干净帧,tfm会自动把它当做拉丝帧处理,虽然这些帧都是tfm曾经判定为干净帧。。。这样就会出现斜横线抖动产生波纹的现象。真的很奇怪tfm为什么会这样,不按照常规运行。。。