NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 15612|回复: 58

关于交错的解决方法

  [复制链接]
发表于 2009-12-10 16:17 | 显示全部楼层 |阅读模式
请问Deinterlace,IVTC什么的要怎么用?可是要在AVS里写相应的参数吗?要怎么写?有没有详细的教程?
现在我就知道这几个

Crop
切边:为了保持比例或切除黑边,参数是整数,顺序是左、上、宽、高。
例:
Crop(8,0,704,480)
左右各切去8像素。

LanczosResize
缩放滤镜:LanczosResize是BicubicResize的替代者,提供更精准、更锐利的画质。在日本普遍使用,欧美大多使用BicubicResize。本来是日本人开发的第三方滤镜,自AviSynth 2.05版本开始吸收为内置滤镜。
例:
LanczosResize(640,480)
把分辨率改变为640*480

②Trim
截取:可以截取某段影片。参数为整数,表示需要编辑的开始帧和结束帧。
例:Trim(240,480)
截取240~480帧这一片断
发表于 2009-12-10 17:14 | 显示全部楼层
本帖最后由 264768502 于 2009-12-10 17:16 编辑

建议先学判断影片类型(http://www.nmm-hd.org/bbs/thread-119-1-1.html)

虽然有点老,但这片文章也可以参考(http://www.nmm-hd.org/bbs/thread-36-1-1.html)
发表于 2009-12-10 17:18 | 显示全部楼层
首先说下,这帖子是不是发在综合讨论好一点呢?
TIVTC
http://www.nmm-hd.org/bbs/thread-684-1-1.html

隔行转逐行的时候为了正确匹配场,需要做IVTC 但是有些特殊情况需要做Deinterlace 也就是混合场(不是直接混合)

这些一般情况需要调用其他外部函数实现,TIVTC就是很常见的一种。还有不同情况不同用法的各种函数
可以在论坛用关键字搜索一下 咱也不是很懂


另外 如果LZ是 4:3的视频 建议拉伸成704*528 这样可以保持横向不变,损失可能小一点,有利于线条看起来更舒服

(咱也素小白,目前只能谢这点
 楼主| 发表于 2009-12-10 22:13 | 显示全部楼层
这是我用DGIndex检测出来的结果
Stream Type: MPEG2 Program
Profile: main@main
Frame Size: 720x480
Display Size: [not specified]
Aspect Ratio: 4:3 [2]
Frame Rate: 29.970030 fps
Video Type: NTSC
Frame Type: Interlaced

http://www.nmm-hd.org/bbs/thread-119-1-1.html帖子中节选
c)30i型
这种类型的影片,常出现在NTSC摄像机拍摄的影片中。比如演唱会、电视节目等等。这种类型在DGIndex中要选择None,只能做Deinterlace,并且不能Decimate
d)不得不说的NTSC Interlaced
说到NTSC Interlaced,是最令人头痛的。事实上,NTSC Interlaced不是任何类型,但却可以是任何类型。如果DGIndex报告片源是这种类型的话,那么你可要小心了。你最好用AVS直接载入片源不做任何处理,直接拿VDM看看情况。
这种片源可能是3:2Pulldown的片子,也有可能是30P的片子,也有可能是………………总之,造成这种状况的通常原因就是在制作DVD的时候,没有正确标记旗标。通常小日本都会这样不按规矩办事……

使用如下AVS扔VDN看效果
loadplugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\DGDecode.dll") #DGIndex软件包带的一个dll文件。
mpeg2source("1.d2v") #你的d2v文件名

个人感觉,交错不规则
2 1 1 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 1 2
1=没有交错
2=有交错

然后用MEGUI加载D2V,切黑边,固定分辨率,再用自带的检测检测下交错类型,生成AVS,如下
---------------------------------------------------------
DGDecode_mpeg2source("F:\临时片源\1.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
tfm(order=1).tdecimate(hybrid=3)
crop( 6, 0, -8, 0)
LanczosResize(640,480) # Lanczos (Sharp)
#denoise
--------------------------------------------------------------
国人软件自动检测的都不准吗?

我想问,反交错滤镜要怎么写?
telecide(guide=1)?
Decimate(Cycle=5)?
怎么用?



求个VOB分割软件,上传片段
发表于 2009-12-11 00:59 | 显示全部楼层
应该优先保证纵向不变来着
 楼主| 发表于 2009-12-11 07:57 | 显示全部楼层
这是我用DGIndex检测出来的结果
Stream Type: MPEG2 Program
Profile: main@main
Frame Size: 720x480
Display Size: [not specified]
Aspect Ratio: 4:3 [2]
Frame Rate: 29.970030 fps
Video Type: NTSC
Frame Type: Interlaced

http://www.nmm-hd.org/bbs/thread-119-1-1.html帖子中节选
c)30i型
这种类型的影片,常出现在NTSC摄像机拍摄的影片中。比如演唱会、电视节目等等。这种类型在DGIndex中要选择None,只能做Deinterlace,并且不能Decimate
d)不得不说的NTSC Interlaced
说到NTSC Interlaced,是最令人头痛的。事实上,NTSC Interlaced不是任何类型,但却可以是任何类型。如果DGIndex报告片源是这种类型的话,那么你可要小心了。你最好用AVS直接载入片源不做任何处理,直接拿VDM看看情况。
这种片源可能是3:2Pulldown的片子,也有可能是30P的片子,也有可能是………………总之,造成这种状况的通常原因就是在制作DVD的时候,没有正确标记旗标。通常小日本都会这样不按规矩办事……

使用如下AVS扔VDN看效果
loadplugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\DGDecode.dll") #DGIndex软件包带的一个dll文件。
mpeg2source("1.d2v") #你的d2v文件名

个人感觉,交错不规则
2 1 1 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 1 2
1=没有交错
2=有交错

然后用MEGUI加载D2V,切黑边,固定分辨率,再用自带的检测检测下交错类型,生成AVS,如下
---------------------------------------------------------
DGDecode_mpeg2source("F:\临时片源\1.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
tfm(order=1).tdecimate(hybrid=3)
crop( 6, 0, -8, 0)
LanczosResize(640,480) # Lanczos (Sharp)
#denoise
--------------------------------------------------------------
果然软件自动检测的都不准吗?

我想问,反交错滤镜要怎么写?
telecide(guide=1)?
Decimate(Cycle=5)?
怎么用?



求个VOB分割软件,上传片段
发表于 2009-12-11 11:28 | 显示全部楼层
用DVD Decrypter提取一小段章节来看看吧
发表于 2009-12-11 12:24 | 显示全部楼层
本帖最后由 ssnake 于 2009-12-11 16:57 编辑

你先要确定类型啊……

如果是24t(AnimeIVTC的提法,一般叫3:2Pulldown更多嗯)为主你又不太会的话直接AAD吧 = =
发表于 2009-12-11 14:47 | 显示全部楼层
回复 6# cxp_1985
个人感觉,交错不规则
2 1 1 2 1 2 1 1 2 2 2 1 2 1 2 2 1 2 1 2
1=没有交错
2=有交错

请找一段有连续动态地方(画面推拉摇移之类的连续动作)看看是不是还是这个结果。你观察到不规则的交错,很可能是因为部分本应交错的帧由于没有动态,看上去和非交错帧一样。
此外,是否方便透露一下您正在压的片子,说不定这里有处理过同一段片子的朋友能够帮您。这几年不规则的片子少很多了,已经基本上见不到了。90年代之前的片子一般才有这个问题的。
发表于 2009-12-11 15:33 | 显示全部楼层
楼主你最好还要确定一下dgindex有没有选forced film
 楼主| 发表于 2009-12-11 16:24 | 显示全部楼层
http://mail.qq.com/cgi-bin/ftnEx ... d&code=afb9d453
我在做92年的甜心战士OVA,传上来个片头,个人观看的是片头270-290帧
dgindex里选的是Honer pulldown Flage
发表于 2009-12-11 16:52 | 显示全部楼层
看了一下,这就是典型的老片Double hard telecine了。片源就已经烂成这个德行,通常手段基本没什么解决办法。
Doom9有一个AnimeIVTC解决的非常好,但是这个脚本很难以调试(需要的滤镜太多了,光是搭建运行必要的环境就很麻烦)、参数也很多,而且速度非常非常的慢。我用这个脚本做过一个装甲猎兵的OP(跟你这个片子是一个毛病),效果很漂亮,不过1分30秒的OP压了半个多小时才压好。
地址给你参考:http://forum.doom9.org/showthread.php?t=138305

还有一个方法就是用本论坛用户diseac写的AAD来做IVTC,好处就是参数相对较少(全部默认就可以),速度比较快一些,但效果不如AnimeIVTC好。

如果衡量速度/难度/效果比的话,我个人推荐AAD。
发表于 2009-12-11 16:57 | 显示全部楼层
本帖最后由 264768502 于 2009-12-11 16:58 编辑

看了下...后半部大致还是3:2pulldown
只是画面有些抖动,所以有些帧看上去也有交错

前半部就比较混乱了.鄙人才疏学浅,没找到什么规律

如果正片都像OP前半部分那样...LZ只能自求多福了.
发表于 2009-12-12 00:41 | 显示全部楼层
本帖最后由 diseac 于 2009-12-12 00:46 编辑

不好判断匹配顺序的解决办法 その1
TIVTC ovr里随便敲一个ccppc进去,还有问题就捣鼓一下pp,看不见交错了就OK,如果什么顺序都不对的话,说明是bad edit
 楼主| 发表于 2009-12-12 09:52 | 显示全部楼层
那个AAD看了1晚上也没看明白要怎么写
能否帮我写个带AAD的AVS例句,我再对比着看下,也许能搞明白
发表于 2009-12-12 10:37 | 显示全部楼层
Import("X:\AAD.avs")
DGDecode_mpeg2source("X:\X\X.d2v")
AAD()
发表于 2009-12-12 11:16 | 显示全部楼层
楼上正解!
 楼主| 发表于 2009-12-12 15:49 | 显示全部楼层
我研究了下,这么写是否正确
Import("C:\AAD_v0.1.5a\AAD_015a.avs")#读取下载的AAD
DGDecode_mpeg2source("F:\临时片源\1.d2v", info=3)#读取做好的D2V文件
ColorMatrix(hints=true, interlaced=true, threads=0)#不知道
tfm(order=1).tdecimate(hybrid=3)#不知道
crop( 6, 0, -8, 0)#切边

LanczosResize(640,480) # Lanczos (Sharp)#固定分辨率


LoadPlugin("C:\AAD_v0.1.5a\TIVTC\TIVTC.dll")
LoadPlugin("C:\AAD_v0.1.5a\TDeint\TDeint.dll")
LoadPlugin("C:\AAD_v0.1.5a\a60224\a60224.dll")
LoadPlugin("C:\AAD_v0.1.5a\nnedi2\nnedi2.dll")
LoadPlugin("C:\AAD_v0.1.5a\TMM\TMM.dll")
LoadPlugin("C:\AAD_v0.1.5a\vinverse\Release\vinverse.dll") #读取需要的DLL文件

AAD()
以上

顺便问下,上面部分是MEGUi生成的
DGDecode_mpeg2source("F:\临时片源\1.d2v", info=3)#读取做好的D2V文件
info=3是什么意思?
ColorMatrix(hints=true, interlaced=true, threads=0)#不知道
tfm(order=1).tdecimate(hybrid=3)#不知道
这些又是什么意思?
发表于 2009-12-12 16:01 | 显示全部楼层
我研究了下,这么写是否正确
Import("C:\AAD_v0.1.5a\AAD_015a.avs"#读取下载的AAD
DGDecode_mpeg2sourc ...
cxp_1985 发表于 2009-12-12 15:49

在AAD前面不能用tivtc(tfm和tdecimate)

megui生成的一些东西纯粹就是走个形式
info的意义:info: 0 to 3 (default: 0)

      Debug Information.
      - 0: Do not generate debug information
      - 1: Overlay debug information on the video
      - 2: Output debug information via OutputDebugString()
      - 3: Output hints in the video (as defined in utilities.cpp/utilities.h)

高清视频和标清视频对于颜色转换成rgb的定义略有不同,所以有必要的时候可以用colourmatrix来调整颜色。
DVDRIP如果不插值到高分辨率的话应该是不会用上的。
 楼主| 发表于 2009-12-12 16:42 | 显示全部楼层
Import("C:\AAD_v0.1.5a\AAD_015a.avs")#读取下载的AAD
DGDecode_mpeg2source("F:\临时片源\1.d2v", info=3)#读取做好的D2V文件
crop( 6, 0, -8, 0)#切边
LanczosResize(640,480) # Lanczos (Sharp)#固定分辨率
LoadPlugin("C:\AAD_v0.1.5a\TIVTC\TIVTC.dll")
LoadPlugin("C:\AAD_v0.1.5a\TDeint\TDeint.dll")
LoadPlugin("C:\AAD_v0.1.5a\a60224\a60224.dll")
LoadPlugin("C:\AAD_v0.1.5a\nnedi2\nnedi2.dll")
LoadPlugin("C:\AAD_v0.1.5a\TMM\TMM.dll")
LoadPlugin("C:\AAD_v0.1.5a\vinverse\Release\vinverse.dll") #读取需要的DLL文件
AAD()

这样对吗?删除这两段
ColorMatrix(hints=true, interlaced=true, threads=0)#不知道
tfm(order=1).tdecimate(hybrid=3)#不知道
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

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

GMT+8, 2024-3-29 22:57 , Processed in 0.110194 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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