NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 11061|回复: 18

DVDRIP的衮动字幕有横纹.

  [复制链接]
发表于 2010-3-10 10:17 | 显示全部楼层 |阅读模式

这是我弄出来的DVDRIP.

这是别人弄的.
为啥我压的字幕处那么模糊呢.
视频信息.

AVS:
   
LoadPlugin("C:\Program Files\megui\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("D:\0.d2v", info=3).trim(38816,41720)
LoadPlugin("C:\Program Files\megui\tools\avisynth_plugin\ColorMatrix.dll")

LoadPlugin("C:\Program Files\megui\tools\avisynth_plugin\TIVTC.dll")
LoadPlugin("C:\Program Files\megui\tools\avisynth_plugin\EEDI2.dll")
LoadPlugin("C:\Program Files\megui\tools\avisynth_plugin\TDeint.dll")
edeintted = AssumeTFF().SeparateFields().SelectEven().EEDI2(field=-1)
tdeintted = TDeint(edeint=edeintted,order=1)
ColorMatrix(d2v="d:\0.d2v")
tfm(order=1,clip2=tdeintted).tdecimate(hybrid=3).changefps(23.976)
crop( 4, 0, -2, 0)
undot()#
sharpen(0.4)
tweak(0,1.1,5,1.1)

LanczosResize(1024,576) # Lanczos (Sharp)
#denoise

怎么处理这种情况.
发表于 2010-3-10 10:43 | 显示全部楼层
30i打上去的字幕,所以最好分段deinterlace。根据背景可以做30p或者60p。如果想要锐利一点的,用nnedi,如果想要模糊、朦胧点的就fielddeinterlace,根据个人口味选择。
还有,你那个changefps(23.976)是怎么回事,tdecimate出来本身就应该是23.976了啊……
发表于 2010-3-10 14:02 | 显示全部楼层
soraoto的tv,ed部分的制作比较混乱。单从背景来看,我经历过30t、30i和30p三种情况,前提字幕全部是30i的。所以比较好的制作方法,对于30t只能一起ivtc了,30i选用eedi3或者nnedi2做same framerate,30p干脆不动好了>_<
发表于 2010-3-10 15:27 | 显示全部楼层
说话来,crossgame的ED2跟这个的30p情况是一个类型的,30p背景上叠加30i字幕。我把字幕部分截取出来nnedi2之后再overlay回去的。
 楼主| 发表于 2010-3-10 20:02 | 显示全部楼层
头儿.
能给个AVS的语句不.
我还是新手.你们说那么专业的语句看不懂啊...
发表于 2010-3-10 22:06 | 显示全部楼层
如果背景是30i或者telecine的,就直接加nnedi2就行。
如果背景是30p的,就用下面脚本函数:
  1. function deintoverlay(clip clp, int start, int end, int l, int t, int r, int b){
  2.         clp1 = clp.trim(0,(start - 1))
  3.         clp2 = clp.trim(start, end)
  4.         clp3 = clp.trim((end + 1), 0)
  5.        
  6.         clp2_tel = clp2.crop(l,t,(0-r),(0-b)).nnedi2
  7.         clp2 = overlay(clp2,clp2_tel,l,t)
  8.        
  9.         return clp1 + clp2 + clp3
  10. }
复制代码
使用方法:
deintoverlay(start, end, l, t, r, b)
start: 字幕段落开始帧
end: 字幕段落结束帧
l: 画面上字幕区域距画面左边距离(left)
t: 字幕区域距上边距离(top)
r: 字幕区域距右边距离(right)
b: 字幕区域距下边距离(bottom)
再次申明,只有30p背景才用这个方法。而且前提是该段落不能做IVTC。
 楼主| 发表于 2010-3-10 23:33 | 显示全部楼层
谢谢老大的指点.
不过那个ED是衮动字幕.由下往上跑的.
左右还能确定.
上下如何确定呢?
还有,我加载D2V之后.直接trim出来那一段.
这样弄行不行?
function deintoverlay(clip clp(这句如果在trim后.还有用么?), int 0, int 2907, int l, int t, int r, int b){      
crop(l,t,(0-r),(0-b)).nnedi2
overlay(clp2,clp2_tel,l,t)
}
发表于 2010-3-11 13:49 | 显示全部楼层
回复 7# owvqckk
是我不好,没有提前给出例子。function结构内部的代码不用动,你只需要像用插件一样就行了。比如:
deintoverlay(1000, 2000, 308, 0, 60, 15)
会对第1000帧到第2000帧范围内,画面左侧308、右侧60、上0、下15的区域进行deinterlace。
滚动字幕一般都有一个固定的区域,找出最宽的区域,截图,用photoshop之类计算范围就行。或者用AviUtl可以一边切边一边看范围,比较方便。
 楼主| 发表于 2010-3-12 00:14 | 显示全部楼层

老大.照你说的那样处理之后.字体处是没问题了.
但是画面问题又大了....
LoadPlugin("C:\Program Files\megui\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("D:\0.d2v", info=3).crop( 4, 0, -2, 0).LanczosResize(1024,576)
function deintoverlay(clip clp, int start, int end, int l, int t, int r, int b){
        clp1 = clp.trim(0,39058)
        clp2 = clp.trim(39059,41662)
        clp3 = clp.trim(41063, 0)
        
        clp2_tel = clp2.crop(148,0,-148,0).nnedi2
        clp2 = overlay(clp2,clp2_tel,l,t)
        
        return clp1 + clp2 + clp3
}

ColorMatrix(d2v="d:\0.d2v")
trim(38816,41720)
undot()#
sharpen(0.4)
tweak(0,1.1,4,1)

我改成这样了.不管加不加IVTC,画面都跟上面那张图一样....怎么回事啊.
发表于 2010-3-12 07:53 | 显示全部楼层
我在6楼强调了两次这个脚本函数只能用在背景30p的情况……
在2楼和6楼都说了,背景不是30p,就做成60fps(背景动态大)或者30fps(背景动态小),可以单独用nnedi2(既可以30也可以60),也可以用TempGaussMC_beta1mod这类的脚本函数(非常慢,但效果非常好,只能60)。根据效果和具体情况自己选择。

此外,您根本没有读我8楼的说明贴,都告诉您了不要修改function段里的内容,要像用插件一样调用。您非但改了function里的内容,而且只是把函数粘贴到了脚本里面,根本没有调用。
您在解除交错之前就crop和resize,这样相当于把交错固定在了画面上,一切deinterlace和ivtc都没用了。
在提问之前请先仔细阅读别人的回答。对于您在什么都不知道的情况下就来挑战rip的勇气我表示钦佩,但您好歹学点基础知识再弄好不……
 楼主| 发表于 2010-3-12 11:39 | 显示全部楼层
我在6楼强调了两次这个脚本函数只能用在背景30p的情况……
在2楼和6楼都说了,背景不是30p,就做成60fps( ...
dgwxx 发表于 2010-3-12 07:53


- -  
我有好好看你们的解说.
只是没有理解正确了...
的确,,我什么都不知道.
只知道什么叫AVS,,,就这样了..
老大你能指下去哪学基础知识么.
我表示.现在会弄MEGUI已经相当不容易了.TVT
发表于 2010-3-12 15:24 | 显示全部楼层
S6AH(DK(S(1DIYAXQ2SC$WE.jpg
您真的有在看我的说明么,我一而再再二三地强调:不是30p背景别用这个脚本。结果您依旧在锲而不舍地试图用这个脚本,这是一种什么精神?基础不会就去看置顶帖。

好吧,既然语言交流不管用,那么我就用身体教楼主怎么写好了:
  1. LoadPlugin("C:\Program Files\megui\tools\dgindex\DGDecode.dll")
  2. LoadPlugin("C:\Program Files\megui\tools\avisynth_plugin\TIVTC.dll")
  3. LoadPlugin("C:\Program Files\megui\tools\avisynth_plugin\nnedi2.dll")

  4. DGDecode_mpeg2source("D:\0.d2v", info=3)

  5. s1 = last.trim(0, 39058)
  6. s1_deint = s1.nnedi2()
  7. s1 = s1.tfm(order=1,clip2=s1_deint).tdecimate(mode=1)

  8. s2 = last.trim(39059, 41662).nnedi2().assumefps(s1.framerate)
  9. s3 = last.trim(41063, 0).tfm(order=1).tdecimate(mode=1)

  10. s1 + s2 + s3

  11. LanczosResize(1024,576,4,0,-2,0)
  12. ColorMatrix(d2v="d:\0.d2v")
  13. trim(38816,41720)
  14. undot()
  15. sharpen(0.4)
  16. tweak(0,1.1,4,1)
复制代码
片尾字幕的部分,没有做IVTC,而是用nnedi2做了deinterlace,因为片尾部分是30fps,所以封装mkv的时候需要加入timecode才行。
timecode写法是:
  1. # timecode format v1
  2. Assume 23.976
  3. 111111,222222 29.97
复制代码
把111111改成片尾开始的帧,把222222改成片尾结束的帧。因为前面部分做过IVTC所以帧号变了,自己开VDM看去。
这个地步,您再不会的话,给您两个选择:
1.好好学习。
2.老老实实当看片党。
 楼主| 发表于 2010-3-12 17:45 | 显示全部楼层
本帖最后由 owvqckk 于 2010-3-12 17:46 编辑

感谢老大.
不过那个有nndi2的文本.
用VDM.MEGUI,ERP等工具打开的时候就会出现.
XXX停止工作的现像.
KMP播AVS的时候也是这样.
把那个nnedi2语句去掉,就能压.
这是怎么回事....
发表于 2010-3-12 18:17 | 显示全部楼层
我就用身体教楼主怎么写好了 ...
dgwxx 发表于 2010-3-12 15:24


纯引。。。
发表于 2010-3-12 19:01 | 显示全部楼层
回复 13# owvqckk
用这个nnedi2.dll替代:
http://bengal.missouri.edu/~kes25c/nnedi2.dll
 楼主| 发表于 2010-3-12 20:20 | 显示全部楼层
本帖最后由 owvqckk 于 2010-3-12 20:34 编辑

经过老大的指点.
发现后面 31088-34375
这些帧中.有一段视频反复播放了.
实际上不重复的帧为(31088,33850)(34331,34375)这二段.
怎么为这二段进行
# timecode format v1

Assume 23.976

11111111,22222 29.97

这段语句啊.
还有阿老大.
为什么视频中会多出来一个重复的片段.
还有那个AVS出来的ED部分一卡一卡的.好像丢帧一样.
不过字幕跟画面相当好.
能解说下不.- -
不要生气啊.
生气对身体不好XD
发表于 2010-3-12 20:32 | 显示全部楼层
那么我就用身体教楼主怎么写好了 ...
dgwxx 发表于 2010-3-12 15:24
发表于 2010-3-12 21:06 | 显示全部楼层
回复 16# owvqckk
AVS我教你可以,数数自己试着数吧,我没有片源,你跟我说那些数字我也不知道是多少帧。还是那句话,没有金刚钻别揽瓷器活,有多少能力做多少活。与其你现在弄得乱七八糟,不如先把该学的先学了。有在这折腾的功夫不如把置顶帖里的东西多看两遍,到时候自然什么都明白了。就算知其然不知其所以然蒙混过去,下次遇到问题照样两眼一摸黑,总不能每次都我帮你写吧。

回归问题本身。不流畅是正常的,因为你背景是3:2 pulldown的,前景是30i的。想流畅可以用TempGaussMC_beta1mod代替nnedi2,不过这个出来是60fps,timecode里的29.97也要跟着变成59.94。
 楼主| 发表于 2010-3-12 21:22 | 显示全部楼层
紧记老大教导.
不过置顶里的好像全是教怎么做的.
没有解说每一步是什么意思.还是看不懂啊.
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

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

GMT+8, 2025-6-22 09:58 , Processed in 0.218536 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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