我已经写了一个小应用程序来捕捉音频和视频,使用AVCaptureMovieFileOutput,这是一个伟大的工作。它用于在多天内自动收集实验数据,偶尔打开,一次记录10-15秒。
但是在分析数据时,我们发现在音频和视频同步方面似乎存在一些漂移。为了帮助测试这一点,我们设置了一个闪烁LED与音调相结合,并在几天内录制了短片段。到了第五天,音频出现了大约250毫秒的延迟(不是很大,但在观看时很明显)。下图显示了使用相同的AVFoundation库读取的数据(以确保不存在解码媒体的问题)。视频的平均强度被绘制(以显示LED闪光灯),原始音频绘制如下。

这有点神秘,我希望能试图找出导致这一问题的原因,这样我就可以修复它或者绕过它。迄今为止,我的理论是:
我意识到这是AVCaptureMovieFieldOutput使用的一个很小的例子,但是会重视来自其他人的任何反馈。
我怀疑这些都不是特定于代码的,但倾向于提供更广泛的实现细节。代码与AVFoundation文档中的标准电影捕获示例非常相似,具有精确的帧启动时间。这个项目在GitHub上进行。
发布于 2015-10-08 14:57:26
进一步的分析表明,这是我们使用的视频捕获硬件中的一个特定缺陷,它的内部时钟存在某种漂移。从其他硬件捕获几天没有显示出同样增加的延迟。
我目前的工作是,增长的延迟似乎是线性的(~170毫秒/天),因此可以很好地预测。
https://stackoverflow.com/questions/32959940
复制相似问题