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

关于硬字幕的提取

起因是我有几部老的dvdrip的动画,收的是高质量的rip,但是关于中文字幕只有一个国内字幕组发的内嵌硬字幕的低码率。因为前段时间正好在学习masktool,然后就想到,假设我拿到有字幕和无字幕的两个rip,片源,帧率一样,且都未做对画面改动比较大的处理,IVTC和deint的方式也类似,然后通过人工的剪辑,应该可以对一段区间的帧,找到另一个源里按帧精确的区间,用masktool灵活的设置下threshold就可以得到字幕的mask了,然后通过avs2bdnxml就可以得到可用的,并且时间轴正确的sup字幕了。

有一个问题是,对于低码率的片源,得到的mask对于连续的帧无法合并的话,或者有ASS特效的情况下,SUP字幕会很大。

我接触avisynth大概只有1个月,所以在动手之前,想先问下板上的大大这个方法是否可行,或者有没有类似的成熟手段。

不知大家怎么看?
头像
feisty2
帖子: 274
注册时间: 2012-08-05 10:03

Re: 关于硬字幕的提取

基本没有可能做到2个clip除了字幕部分完全一样 只要有一点不一样就会rp...所以此法个人感觉不可行...
另外这种设计只对画面局部进行处理的我感觉在非编里完成比较方便...
bjin
帖子: 3
注册时间: 2013-02-10 7:04

Re: 关于硬字幕的提取

feisty2 写了:基本没有可能做到2个clip除了字幕部分完全一样 只要有一点不一样就会rp...所以此法个人感觉不可行...
另外这种设计只对画面局部进行处理的我感觉在非编里完成比较方便...
如果再加上threshold以及spatial上的一些启发,我觉得至少把字幕区域轮廓搞出来是可行的,因为字幕区域和非字幕区域肉眼感观上就差异巨大了。

如果不加上这些,mask相当于个clip的diff,sup字幕也就只是把高码率的片源弄成低码率罢了

因为最后是要弄成sup的,加上可能要对片源做处理,所以倾向于在avisynth里搞
bjin
帖子: 3
注册时间: 2013-02-10 7:04

Re: 关于硬字幕的提取

或者换种方式,有没有滤镜或者脚本,能对除了局部(字幕部分)基本相同,但是做差会有很多噪点的一对clip做处理,在spatial上找连续的大区域去噪,在temporal上对连续基本相同的mask帧去重。
头像
darkangel0224
帖子: 23
注册时间: 2012-01-24 18:18

Re: 关于硬字幕的提取

不小心Google进来的,如有挖坟,请勿殴打
想法是好,然而可行性很低:诚如2L所言,这种做法对片源的要求极高。一般列举一下,会遇到如下几种可能(特效字幕这种低可复制性的东西就论外了):
1. 黑科技出来的RIP,比如120fps和vfr,要想办法弄齐帧数
2. 不同分辨率的RIP,选择upscale还是downscale(个人认为downscale的难度要低一些),要不要裁剪画面,还可能有bt601和bt709的问题
3. 做了不同画面处理的RIP 基本无解
4. RIP欠码…… 就算是h264也救不了你,绝对是方块满天飞
……
所以,到最后倒腾半天,事倍功半基本可以预见。还是老实回来玩类似esrXP的chroma key提取,再塞给ocr识别手工校正的把戏吧ry
Come with the wind...
头像
galaxy
帖子: 7
注册时间: 2013-03-28 19:29

Re: 关于硬字幕的提取

要说还是可行的。都提到“threshold以及spatial上的”了,把时间上的也加上就是了。
两条视频可以在时间轴上作alignment。

可以预处理阶段就把字幕条区域低动态的帧合并。
考虑到字幕有10fps就够了,即使是有变化的帧,规定最小时间精度为0.1秒,在0.1秒前后范围内挑alignment后SSIM最大的一对,其余画面无视。

120fps多的是标记为Drop的帧,对应的画面就是NULL,播放时是直接拷贝前一个正常的帧,这里无视就好了。

回到 “AviSynth”