关于延迟和拉伸数据获得方法的讨论
413吧
全部回复
仅看楼主
level 13
云梓峰 楼主
2014年10月31日 11点10分 1
level 13
云梓峰 楼主
音、视频同步调整是一个技术上的难点,需要耐心并熟悉播放器性能及操控,根据个人个人经验,首先寻找视频与音频时间差,继而确定延迟和/或拉伸调整方案,方法:
1. 粗调:在片头位置找对话,动嘴时暂停,记录时间;找发音位置,再暂停,计算两者时间差值,得到大致数据,做播放器的正、负延迟调整,重复播放此段看是否粗调成功(误差控制在±1秒以内),记下这个时间差值。
2. 精调:再到上述对话播放位置,选10秒左右长度,设置反复播放,注意观察同步状况,从0.5s、0.1s甚至0.05s(此时已接近逐帧调节,通常0.04s/帧)调整播放器,直到完美同步。记下这个时间差,也就是最终延时数值。
3. 确定调整方案:完成上述工作后,到片尾找一段对话,观察是否同步,如完美同步则可对影片进行延迟操作并封装处理,可使用MKVtoolnix完成。如不了解该软件可参见【MKV封装之新手指南】
4. 通过延时对准片头但片尾仍不同步是怎么回事?这就如同电视中有PAL制和NTSC制一样,是因为它们的帧率不同(25fps和30fps),而我们下载的影片也存在不同的帧率,常见的有23.976fps、24.000fps、25.000fps、29.970fps、30.000fps等,它的含义是每秒多少画幅的意思。这里最多见的是23.976fps,圣城(包括许多压制小组)的MKV都用这个帧率。但我们下载的音轨或字幕有时可能是另外的帧率,如直接匹配就会不同步,如果牵涉到不同片源(常见BluRay、HD DVD、HDTV、DVD等),那么这种机率就更大。该怎么办呢?这里就牵涉到拉伸了,拉伸数据的由来就在于此。有一个前提,既资料必须是影片公司发行版的全长,片头加点什么无所谓(台标啦,广告啦),可通过延时解决,如片中有删节就失去调整意义了。
5. 拉伸数据的获得:一部完美匹配的影片,它的视频、音频及字幕的帧率都是一致的,意味着知道视频帧率也就知道音频及字幕的帧率,视频帧率获得比较容易。问题是从别处拿来的音轨、字幕(其时间轴取于何RIP不知)与自己的影片不匹配,且帧率不明时(下载资源未给出帧率信息)怎么办?没有专业测试条件(我就没有)情况下,就要靠自己去找。本人方法是通过延时对准片头,然后到90分钟处(长于90分钟亦是此处),找一段对话,观察视频、音频的时间差,方法同粗调,这个精度要求不很高,误差±1秒以内便可。用公式来计算:视频的帧率×时长(秒)÷(视频时长±时间差值)=音频帧率。例如已知影片帧率23.976fps,时长90分钟,音频的时间差是5秒而且是提前的,那么就是23.976×5400÷(5400-5)=23.998,可以推定音频帧率是24.000fps,这样拉伸参数(或拉伸系数)就是24000/23976。根据网友提供实践经验表明,其实这个参数也就是个比值,那么直接输入5395/5400行不行?估计也可以。鉴于本人手头目前尚无可试验拉伸的资料(以前拉伸过就删掉了),故不敢定论。封装用MKVtoolnix,很方便的。
字幕延时调整的方法同上,不同点在其主要参照物是音频信息(影片资料介绍除外,它是要参照视频的),只是要求可以低一些,大致匹配既可,有些字幕时间轴也抓得不很准。拉伸方法亦同上不再赘述。
2014年10月31日 11点10分 2
1