版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
anaheim
帖子: 53
注册时间: 2010-11-06 22:35

画中画与clipslice脚本

2011-03-12 12:51

之前处理的PSG BD中ghost爆炸的特典中有画中画,蛋疼的是画中画部分竟然没交错
第1卷用TempGaussMC 3个特典都正常,画中画也正常,第2卷开始画中画部分会出现抖动,然后直接用eedi3处理后,画中画部分不抖动了,但是单独用eedi3后反交错能力肯定悲剧…
在提问时被告知可以使用clipslice脚本来局部处理
现在遇到个问题是……我该如何确定画面中画中画的位置,看到的参数是2个方向来切像素,请问有什么工具可以帮助我来确认位置或者是像素位置么……

头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: 画中画与clipslice脚本

2011-03-12 12:53

avspmod
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。

anaheim
帖子: 53
注册时间: 2010-11-06 22:35

Re: 画中画与clipslice脚本

2011-03-12 15:03

AVS脚本:
LoadPlugin("D:\MeGUI\tools\dgavcindex\DGAVCDecode.dll")
LoadPlugin("D:\MeGUI\tools\avisynth_plugin\nnedi3.dll")
LoadPlugin("D:\MeGUI\tools\avisynth_plugin\mvtools2.dll")
LoadPlugin("D:\MeGUI\tools\avisynth_plugin\mt_masktools-25.dll")
LoadPlugin("D:\MeGUI\tools\avisynth_plugin\RepairSSE3.dll")
LoadPlugin("D:\MeGUI\tools\avisynth_plugin\RemoveGrainSSE3.dll")
LoadPlugin("D:\MeGUI\tools\avisynth_plugin\VerticalCleanerSSE3.dll")
Import("E:\Rip Works\TempGaussMC_beta2z.avsi")

v1=AVCSource("E:\Rip Works\g4 1.dga")
v2=AVCSource("E:\Rip Works\g4 2.dga")
v3=AVCSource("E:\Rip Works\g4 3.dga")
v4=AVCSource("E:\Rip Works\g4 4.dga")
v5=AVCSource("E:\Rip Works\g4 5.dga")
video=v1+v2+v3+v4+v5
video.ClipSlice(s=1641,e=1943,ep1="TempGaussMC_beta2z(edimode="nnedi3")",ep2="TempGaussMC_beta2z(edimode="nnedi3")",
\ l=729,t=383,r=1049,b=921,sp1="nnedi3()",sp2="TempGaussMC_beta2z(edimode="nnedi3")",
\ cpmode=0,epmode=0,spmode=0,cspmode=1
Spline64Resize(1280,720)

画中画考虑用nnedi3处理,其他部分都还是跟以前一样用TGMC处理,这样写后提示,和(有问题,囧rz……
好像右边有一部分看不到了?看不到的那部分是="nnedi3")",

头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: 画中画与clipslice脚本

2011-03-12 15:06

1. 左右括號都沒對上
2. 引號用法也不對
3. 切割區域sp1和sp2出來的幀率都不一樣

代码: 全选

video.ClipSlice( \ s=1641, e=1943, \ ep1="""TempGaussMC_beta2z(edimode="nnedi3")""", \ ep2="""TempGaussMC_beta2z(edimode="nnedi3")""", \ l=729, t=383, r=1049, b=921, \ sp1="nnedi3(field=-2)", sp2="""TempGaussMC_beta2z(edimode="nnedi3")""", \ cpmode=0, epmode=0, spmode=0, cspmode=1)
另外l/t/r/b沒寫錯麼?
這麼切基本上都沒畫面了吧……
按1920x1080算的話畫面都不夠切= =
ClipSlice裡面的l/t/r/b是邊距不是絕對坐標
上次由 06_taro 在 2011-03-12 15:24,总共编辑 1 次。
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。

cunhan
核心会员
核心会员
帖子: 214
注册时间: 2010-09-20 22:09

Re: 画中画与clipslice脚本

2011-03-12 15:23

可以在clipslice前先获取高宽。

代码: 全选

width = last.Width height = last.Height
然后,右边距和下边距就可以这样写了,不需获取了点坐标后还要自己做减法

代码: 全选

r=width-1049, b=height-921

anaheim
帖子: 53
注册时间: 2010-11-06 22:35

Re: 画中画与clipslice脚本

2011-03-12 16:52

呃,之前没搞明白这个l/t/r/b问题……
video.ClipSlice(
\ s=1641, e=1943,
\ ep1="""TempGaussMC_beta2z(edimode="nnedi3")""",
\ ep2="""TempGaussMC_beta2z(edimode="nnedi3")""",
\ l=729, t=383,
\ width = last.width
\ height =last.height
\ r=width-1049, b=height-921
\ sp1="nnedi3(field=-2)", sp2="""TempGaussMC_beta2z(edimode="nnedi3")""",
\ cpmode=0, epmode=0, spmode=0, cspmode=1)

像这样么…………

头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: 画中画与clipslice脚本

2011-03-12 16:59

如果你切割矩形顶点的绝对坐标是(729,383)和(1049,921)的话
l和t就是729和383
r和b是(宽-1049)和(高-921)
代码如下

代码: 全选

video.ClipSlice( \ s=1641, e=1943, \ ep1="""TempGaussMC_beta2z(edimode="nnedi3")""", \ ep2="""TempGaussMC_beta2z(edimode="nnedi3")""", \ l=729, t=383, r=Width(video)-1049, b=Height(video)-921, \ sp1="nnedi3(field=-2)", sp2="""TempGaussMC_beta2z(edimode="nnedi3")""", \ cpmode=0, epmode=0, spmode=0, cspmode=1)
按照上面村汉的写法的话,应该是

代码: 全选

w = video.Width h = video.Height video.ClipSlice( \ s=1641, e=1943, \ ep1="""TempGaussMC_beta2z(edimode="nnedi3")""", \ ep2="""TempGaussMC_beta2z(edimode="nnedi3")""", \ l=729, t=383, r=w-1049, b=h-921, \ sp1="nnedi3(field=-2)", sp2="""TempGaussMC_beta2z(edimode="nnedi3")""", \ cpmode=0, epmode=0, spmode=0, cspmode=1)
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。

头像
Holy
核心会员
核心会员
帖子: 235
注册时间: 2010-09-24 9:28

Re: 畫中畫與clipslice腳本

2011-03-12 17:21

如果你是要 bob 到 59.94 fps 的話,ClipSlice 內還要加上 fps=60000, Denominator=1001
否則播放時間會變成兩倍
而且如果 s 和 e 是在 TGMC 之前選取出來的話,epmode 要設為 1
否則 TGMC 之後幀數改變會導致選取的段落不對
另外 sp1 的 nnedi3 不用加上 field=-2,你那靜止畫面抖動的問題就是 bob 造成的,加了問題又回來了
上次由 Holy 在 2011-03-12 17:38,总共编辑 1 次。
图片

头像
Yuricon
帖子: 141
注册时间: 2010-09-20 0:19

Re: 画中画与clipslice脚本

2011-03-12 17:34

奇数不怕RP吗...我不保证奇数值的准确性...
简单的来说,这个l t r b分辨是左上右下,意思是左上右下各切去多少,而这个范围就是sp1的

代码: 全选

crop(l, t, -r, -b)
这样去理解这参数的意思就简单了...
一般配合avsp(mod)就能比较好的获取这个范围值,具体怎么做上面几位已经说明了
如果需要调试范围,可以用debug参数

代码: 全选

ClipSlice(l, t, r, b, debug=1)#ltrb自己填#debug参数详细请查看说明文档

代码: 全选

cpmode=1#除了LS所说的这个也是同理的...
还有就是可以在TGMC后面加一个SelectEven

代码: 全选

ClipSlice(s,e, \ ep1="""TempGaussMC_beta2z(edimode="nnedi3").SelectEven""", \ ep2="""TempGaussMC_beta2z(edimode="nnedi3").SelectEven""", \ l, t, r, b, \ sp1="nnedi3", \ sp2="""TGMC(edimode="nnedi3").SelectEven""", \ cpmode=1,epmode=1)
这样就直接是29.97 fps,也不需要改fps参数

anaheim
帖子: 53
注册时间: 2010-11-06 22:35

Re: 画中画与clipslice脚本

2011-03-12 21:54

v1=AVCSource("E:\Rip Works\g4 1.dga")
v2=AVCSource("E:\Rip Works\g4 2.dga")
v3=AVCSource("E:\Rip Works\g4 3.dga")
v4=AVCSource("E:\Rip Works\g4 4.dga")
v5=AVCSource("E:\Rip Works\g4 5.dga")
video=v1+v2+v3+v4+v5
w = video.Width
h = video.Height
Video.ClipSlice(
\ s=1641, e=1943,
\ ep1="""TempGaussMC_beta2z(edimode="nnedi3").SelectEven""",
\ ep2="""TempGaussMC_beta2z(edimode="nnedi3").SelectEven""",
\ l=729, t=383, r=w-1049, b=h-921,
\ sp1="nnedi3",
\ sp2="""TempGaussMC_beta2z(edimode="nnedi3").SelectEven""",
\ cpmode=1,epmode=1)
Spline64Resize(1280,720)

嗯,最后是这样的……然后0.38fps好不容易压完了,看后发现切的位置没问题,sp1爆炸画中画不抖动了,但是sp2画面,却发现还有交错……sp2已经用了TGMC的啊,先前通篇都用TGMC处理时也没见到处理不净的交错,就好像是sp2部分也是被nnedi3处理过一样……

回到 “AviSynth”