『漫游』酷论坛>『影音数码技术学习交流』>【讨论】Interlaced H264 ..

【讨论】Interlaced H264的一些问题(外一篇:PSP回放字幕抖动问题)

qyqgpower@2008-07-20 17:05

这几天看了些interlaced压制方面的信息,为了处理两种情况

1. 全篇pulldown和pure interlaced混合,TIVTC的2pass模式无法捕捉到全部的interlaced部分,对double pulldown部分也无法完美处理
2. 30i的credits和背景pulldown结合

第一种情况我想不到什么完美的解决办法
第二种情况传统上bob到60fps,或者用AnimeIVTC或者AAA之类的东西处理成30p,前者非常浪费码率,后者会对源画面进行大幅度的处理,不符合我的压制理念

于是我考虑,第一种情况使用全篇interlaced压制,而第二种情况则只在ED部分使用interlaced压制,并与前面IVTC成progressive的部分进行结合

第一种情况当然没什么问题,但第二种情况,无法成功结合:
1. mkvmerge抛出warning,结合的文件在结合点之后花屏
2. tsMuxeR可以结合,但fps会统一为IVTC部分的23.976,也就是说后面interlaced部分的fps被降低了。且没有保留sar flag,导致无法自动resize到正确比例
3. yamb结合后,播放时会出现神奇的景象:同时打开了两个播放窗口,同时播放前后两个部分[/KH]

不知道这里的各位大虾、高手有没有空来研究一下这种问题:D


下面是一些个人理解和实验的信息
H264的Interlaced模式一般分两种,field based的PAFF和macroblock based的MBAFF(据说还有一种frame based的PAFF,我硬是看不懂都被weave成frame了还怎么interlaced)

x264的interlaced模式是后者,但没有实现自适应(这是MBAFF的最重要特性之一),不支持umh以上的me,不支持temporal的directi-b,没有正确的interlaced flag(需要hrd_pulldown_interlace的patch,并配合--nal-hrd参数,否则解码器无法识别该文件是否为interlaced)

mainconcept的interlaced模式支持field和MBAFF,但field模式压出来的东西无法被ffdshow正确解码(同样基于libavc的DGAVCIndex却可以,不知为何),其他没什么特别的问题


外一篇:PSP回放与字幕抖动问题

简单的说,PSP对任何源,无论是progressive还是MBAFF interlaced,都以bob方式进行回放
那么,对于IVTC后的24p动画,bob后只有48fps,字幕和文字当然会有抖动的感觉
同样,由于PSP支持MBAFF interlaced,所以在压制DVD时,甚至可以全篇不进行任何IVTC处理,直接以MBAFF形式压成interlaced的H264,PSP上回放效果流畅干净,文字也不会抖动
对于已经IVTC的那些源(例如TVrip之类的),可以尝试使用--pulldown 32参数,不过这种情况我没有实验过

而且由于PSP的这种特性,甚至那种错以progressive方式压的interlaced废片,也能在一定程度上正确回放(这种片子在PSP上逐帧前进的话可以看到特定帧被deinterlace的痕迹,说明PSP可能还有某种自适应的deinterlacer)
引用

kzhou@2008-07-20 19:23

感谢大大发片~
话说,为什么progressive的图象,24fps的bob后文字会抖动?
24p->48fps和30p->60fps有什么区别。。:confused:
引用

qyqgpower@2008-07-20 19:26

bob后两帧之间的像素是不对齐的,帧率(刷新率)不足就会闪动
引用

Galaxy001@2008-07-23 18:45

x264 隔行编码 和 逐行编码 的视频,应该不能合并为一个的吧?
引用

kzhou@2008-07-23 23:13

根据这个rp现象产生的原理,
用笔画粗大而且纯水平线条比较少的字体有助于减少抖动感。。。
横线太平,又设置得比较细小的字体容易抖
引用

qyqgpower@2008-07-23 23:16

理论上当然可以,规格上没有不允许,tsmuxer可以成功合并并保留interlaced flag就是最好的证据,问题在于现在几个mux工具多多少少都有问题,因为根本没有考虑过处理这种情况

最简单的一个例子,如果把interlaced的H264保存成raw形式,mkvmerge就根本无法做到添加interlaced flag以让解码器正确识别
引用

大虾@2008-07-24 19:20

对于qyq大大的第一个提问,对于垃圾DVD最好的保存方法,就是保留DVDISO,播放的时候对自己说1000遍“这是好片这是好片”,然后在自己的大脑里完成去残影、去光环、降噪、锐化的过程……囧……
引用

绿叶之砚@2008-07-24 19:51

关于PSP字幕回放,我很早就测试过,苦于没有UMDDVD的ISO,无法测试源,只能用AVS进行标准3:2pulldown过带……

不过后果一样,还是抖动,于是放弃[/KH]

也可能是我的AVS有误,期待qyq进行测试……

PS:倘若不进行IVTC而直接内嵌,不知道会不会有问题
引用

qyqgpower@2008-07-24 21:36

移除
引用

kzhou@2008-07-24 23:55

这短片就是传说中直接压interlaced的264?
在coreavc里设置bob或blend的deinterlacing看credits效果都不好。。。

avs看也不知道为什么不正常
DirectShowSource("D:\pspinterlacesub.mp4")
bob()
引用

暗影翔@2008-07-25 01:28

同上

avs看,一顿一顿的,不知是否机子性能问题,添加的字幕变得很糟糕

另外psp播放不能
引用

绿叶之砚@2008-07-25 08:08

可惜最近洋葱不在,我以前测试用的AVS也扔了……
引用

su_xinling@2008-07-25 08:43

关于ffdshow无法正常解mainconcept的field模式,个人测试的结果是要把容器帧速double后就正常,double过的用coreavc解也还是正常,渲染器显示的帧速是正常的,并没有double变快。就好像sony psp那个压制软件做30i的一样,看到容器帧速也是double。
另外用timecode方式作vfr的mkv也能正常把一个frame coding的和field coding结合起来。我试验的是分辨率一样,帧速一个是23.976p另一为29.97i(59.94),ffdshow和coreavc都能正常播。
引用

uc0083@2008-07-25 17:50

最好的方法就是用电视机看。。。。。。。
引用

qyqgpower@2008-07-25 20:11

那是没有hrd_pulldown_interlace patch的x264压出来的东西,PC上当然不能被正确回放,解码器根本识别不出来这是interlaced H264,所以不管你设成blend还是bob都是没有任何效果的

至于说PSP不能放的,请检查RP(我要检查一下自己的RP,赫尔
引用

«12»共2页

| TOP