NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 13972|回复: 40

[AVS技巧] [请教]比较莫名其妙的一个问题

[复制链接]
发表于 2009-7-6 21:59 | 显示全部楼层 |阅读模式
本帖最后由 whitestone 于 2009-7-10 23:50 编辑

rip iso,avs这样写的

  1. a=mpeg2source("C:\Users\shun\Desktop\12.d2v").trim(44925,48283).AAD().changefps(24000,1001)
  2. b=mpeg2source("C:\Users\shun\Desktop\12.d2v").trim(48284,48869).Assumefps(24000,1001)
  3. c=mpeg2source("C:\Users\shun\Desktop\12.d2v").trim(48870,49051).AAD().changefps(24000,1001)
  4. d=mpeg2source("C:\Users\shun\Desktop\12.d2v").trim(49052,50979).Assumefps(24000,1001)
  5. e=mpeg2source("C:\Users\shun\Desktop\12.d2v").trim(50980,85070).AAD().changefps(24000,1001)
  6. f=mpeg2source("C:\Users\shun\Desktop\12.d2v").trim(85071,87033).Assumefps(24000,1001)
  7. g=mpeg2source("C:\Users\shun\Desktop\12.d2v").trim(87034,87485).AAD().changefps(24000,1001)

  8. final=a+b+c+d+e+f+g
  9. final=final.crop(8,0,-8,0)

  10. return final
复制代码
预览这段avs发现c部分开始一段有两帧interlace没去掉,很明显的两帧。折腾了好一会儿偶然发现单独输出c看ivtc是正确的……a+c+d+e+f+g也是正确的……但只要c一接到b后面,那两帧interlace就出来了。

然后就尝试a+b单独压,c-g单独压,之后在mmg里append。单独压出来的c-g是正确的,但append出来以后那两帧interlace又出来了!@#¥%……

完全无法理解,求助

==============================

囧……发现是自己手抽trim帧数打错了…………
发表于 2009-7-7 03:05 | 显示全部楼层
从楼主的代码来看,我猜片源是film和30i交替的pulldown类型?

这种情况如果在dgindex里强制film了的话,到AVS里也就没必要再IVTC了,有错误是肯定的。

楼主应该在dgindex里选择遵循下拉变换旗标(Honor Pulldown Flags),再用AVS导入D2V,再进行IVTC。

如果楼主一定要使用film旗标的话,必须出2个D2V才能实现。
 楼主| 发表于 2009-7-7 03:19 | 显示全部楼层
凉宫的dvd 02话,dgindex里我选的是honor pulldown,我看的结果感觉是op之前24p,op里有一段是24p,其他30p,正片24p,ed 30p,预告24p

出问题的就是op里的那一小段24p,但01话同样的处理方式,op部分就完全没问题,03话刚才看好像也没问题,就02话这儿多出来2帧交错……
发表于 2009-7-7 03:36 | 显示全部楼层
我听说过凉宫的DVD很缠人,但自己并没有看过。

不知道楼主所说的30p是不是打字失误,30p的话是不需要IVTC的。

片源做得比较差的话,本来场匹配就很困难了,再来回trim的话更容易出错。

据说凉宫的ED是pulldown和纯30i两种形式overlay出来的畸形品,如果是我的话,我宁可选择interlaced编码。
 楼主| 发表于 2009-7-7 03:57 | 显示全部楼层
30部分我没有做ivtc,是assume的fps最后准备vfr的。因为好像没看到交错的样子,而且00话朝比奈冒险带滚动字幕的ed,明显可以看出来是30i,但其他集的ed(无滚动字幕)和00话比较看着感觉是不一样的,所以判断是30p

想我一楼那样的trim的操作会造成错误吗?是什么原因呢?
发表于 2009-7-7 08:52 | 显示全部楼层
正好我也压haruhi了,向楼主分享一下我的脚本(的不完全版)。因为当时压完之后脚本本来打算存档保留的,结果一不小心都删除了……我的心在滴血啊……看到楼主提问,就又提了一话的ISO,重新写了一个只呈现分段+IVTC效果的脚本,稍微有些粗糙,不过大致概念相信楼主能理解。因为tivtc对haruhi的判断不够正确,默认参数会出现大量的误匹配和pp误判,正式出片的时候需要先跑一遍log后,再手写ovr纠正tivtc的错误判断和匹配。
此外楼主分段的时候不够细心,haruhi是需要分9段的,因为OP和ED里面各自隐藏了一段pulldown需要单独分出来IVTC,特别是ED中mikuru把一盘绿色液体泼到阿虚身上那个镜头,不注意就错了。
  1. loadplugin("d:\gk\dgmpgdec\DGDecode.dll")
  2. loadplugin("d:\gk\AviSynthPlugins\TIVTC.dll")
  3. loadplugin("d:\gk\AviSynthPlugins\nnedi.dll")

  4. s = MPEG2Source("haruhi.d2v")

  5. #A part
  6. s1 = s.trim(0,2427)
  7. s1_deint = s1.nnedi()
  8. s1 = s1.tfm(mode=3, pp=4, slow=2, chroma=true, clip2 = s1_deint).tdecimate(mode=1).assumefps(s.framerate)

  9. #OP 30p
  10. s2 = s.trim(2428,3003)

  11. #OP Pulldown
  12. s3 = s.trim(3004,3195)
  13. s3 = s3.tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1).assumefps(s.framerate)

  14. #OP 30P
  15. s4 = s.trim(3196,5125)

  16. #B + C Part Pulldown
  17. s5 = s.trim(5126,40178)
  18. s5_deint = s5.nnedi()
  19. s5 = s5.tfm(mode=3, pp=4, slow=2, chroma=true, clip2 = s5_deint).tdecimate(mode=1).assumefps(s.framerate)

  20. #ED 30p
  21. s6 = s.trim(40179,40526)

  22. #ED Pulldown
  23. s7 = s.trim(40527,40664)
  24. s7 = s7.tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1).assumefps(s.framerate)

  25. #ED 30p
  26. s8 = s.trim(40665,42109)

  27. #次回预告
  28. s9 = s.trim(42110,0)
  29. s9_deint = s9.nnedi()
  30. s9 = s9.tfm(mode=3, pp=4, slow=2, chroma=true, clip2 = s9_deint).tdecimate(mode=1).assumefps(s.framerate)

  31. s = s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9
  32. s = s.crop(8,0,-8,0)
  33. return s
复制代码
 楼主| 发表于 2009-7-7 10:22 | 显示全部楼层
晕了,ed里竟然还有一段……那00话的ed那段就应该是diseac说的pulldown+30i的了

感谢大虾提供的脚本 其实我还是比较白的,这是我弄的第一个dvd,而且直到一星期前关于ivtc我只是知道deocomb这么个东西……最近才发现aad,tivtc什么的,tivtc也还没有详细看过,大虾贴的代码关于tivtc的部分说实话那些具体参数我现在还不是很明确,手写ovr现在也不清楚,之后得详细看看~

顺便问下像我那样pulldown的地方直接挂个aad会有什么大问题吗?感觉aad真是很棒,这里再多谢谢diseac了
发表于 2009-7-7 12:05 | 显示全部楼层
aad约等于tfm+tdecimate的效果。不过diseac在后处理上下了功夫,比tfm不写ovr的效果好很多,对于不熟悉tfm使用的用户和懒得使用tfm高级功能的用户来说是一大福音。

我处理00话的方法比较特殊。
00话的ED是30i滚动字幕+看不出是pulldown还是30p的画中画。
30i滚动字幕我直接nnedi了,效果非常好。
画中画比较难弄。不但画本身模糊,而且边缘都是锯齿,有些线条还发虚。首先用黑色把原画面中的画中画用overlay盖掉,然后,把后面映像特典里的特别版ED和无字幕ED的纯30p画面剪出来,缩小之后,overlay到00话的ed中去。
haruhi的脚本里面,这个脚本丢掉是最可惜的……
 楼主| 发表于 2009-7-7 12:22 | 显示全部楼层
我之前也试了一些,最后还是觉得TempGaussMC_beta1mod().Selecteven()文字部分看起来效果最好,绿水那段画面直接aaa感觉效果就很不错,这样overlay弄一起应该差不多了感觉。

还有就是我这贴一楼描述的状况有什么想法吗……我总是觉得比较理解不能……
发表于 2009-7-7 18:53 | 显示全部楼层
从结果上将,AAA对于微动交错产生的“看上去像锯齿一样的交错”或许会有一定的效果,不过我极端不推荐您这么做。无论是从结果上讲还是从出发点上讲AAA都不是一个好的选择。
对于00话那部分的处理,我是采用只TFM不decimate的方法,因为是微动,就算有重复帧,图像看起来一样不会停顿。这样做线条的边缘会比AAA做法清晰很多。

至于您在一楼描述的问题我不太清楚。AVS有时确实会出现一些莫名的问题。
此外,希望您以后不要用changefps来统一fps(尽管这种做法可能并不一定会出现明显的问题)。assumefps(s.framerate)这种做法是正确的。
 楼主| 发表于 2009-7-7 20:12 | 显示全部楼层
嗯嗯,之前因为判断成30i所以尝试了一些deinterlace,效果都比较有问题,尝试了一次aaa后发现比做deinterlace效果来的好。不过既然是pulldown的话那确实这里做场匹配但不删帧应该是更好和正确的方法。

如果用assumefps(s.framerate)的话后面timecode应该怎么写呢?aad的话好像必须要手写个timecode才行,tivtc看了些帖子好像可以自动vfr
发表于 2009-7-8 04:03 | 显示全部楼层
tivtc可以自动生成timecode。
assumefps只是设置一个祯率,既不删祯也不加祯,而changefps和convertfps会改变影片的总祯数。
比如你可以把30p的地方做assumefps(24000/1001),然后在timecode中重设为30。
我以前用过一个PHP程序来生成TCv2,后来找不到了,v1的话比较简单,下面是格式:
  1. # timecode format v1
  2. Assume 23.976024
  3. 0,1000,23.976024
  4. 1001,2000,29.970030
  5. ...
复制代码
timecode里面的Assume表示设置一个默认fps,时间表内未注明祯率的地方将使用这个默认fps。
 楼主| 发表于 2009-7-8 06:47 | 显示全部楼层
那比如说我用assumefps(s.framerate)的写法来统一fps以后,写timecode的时候就是pulldown部分设置成23.976,30i/p部分就设置成29.970,这样?
发表于 2009-7-8 08:02 | 显示全部楼层
我一般都是直接写23.97600、29.970、59.940之类的。应该不会引起不同步……
 楼主| 发表于 2009-7-8 10:30 | 显示全部楼层
明白了,多谢两位了
 楼主| 发表于 2009-7-9 07:52 | 显示全部楼层
今天又试了下00话pulldown那边,我也同意dgwxx说的,无论是出发点还是什么的方面看aaa不是个好的选择,但就这段压出来结果看aaa真是非常不错,我感觉好过tfm……
发表于 2009-7-9 11:43 | 显示全部楼层
其实楼主没必要纠结于这种问题,片子做出来就是为了给眼睛看的,看着舒服就可以了。

不过从理论上我也不赞成用AAA来解除微动交错-_-||

楼主如果有空的话能不能共享一下你觉得不好处理的片源部分?
 楼主| 发表于 2009-7-9 19:37 | 显示全部楼层
8张iso档案都在megaupload里有保存,我上传比较方便的网盘只有megaupload,zshare这样的一些网盘,不知道diseac下起来还方便
发表于 2009-7-10 09:49 | 显示全部楼层
我对网盘比较苦手,所以…
试了一下,share上的HARUHI DVDISO可以拖动,100来K的速度凑合挂着好了。
我很好奇这个片到底做的有多烂
下好后试压一下,顺便测试一下MBAFF和显卡硬解。
 楼主| 发表于 2009-7-10 23:49 | 显示全部楼层
囧……发现是我自己sb了……一楼问题原因是自己手滑trim帧数打错了
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

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

GMT+8, 2024-3-28 21:24 , Processed in 0.075484 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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