如何录制使用AVCaptureSession捕获的第一个和最后一个电影帧的确切时间?

时间:2015-12-01 18:04:39

标签: avfoundation avcapturesession avcapture avcapturemoviefileoutput

我使用AVCaptureSession将视频捕捉到电影文件中。我想获得电影的第一帧和最后一帧的确切时间戳。我该怎么做?

AVCaptureFileOutputRecordingDelegate中,方法captureOutput(_:didStartRecordingToOutputFileAtURL:fromConnections:)在电影录制开始时被调用,但对于我的目的来说太不准确了,录制结束时的回调也是如此。我需要帧的确切时间戳。

AVCaptureVideoDataOutputSampleBufferDelegate中,方法captureOutput:didOutputSampleBuffer:fromConnection:每帧被调用,并且可用于访问帧的显式时间戳信息,因此应该足够准确。

不幸的是,您似乎无法将捕获会话配置为同时记录到视频文件并提供原始样本数据,因此我无法使用它来获取帧时间戳,同时还捕获到文件。

或者是否有某种方法可以同时使用它们?或者我错过了我可以使用的另一个API吗?

1 个答案:

答案 0 :(得分:0)

FWIW,我就此问题向Apple提出了开发者技术支持票,以便得到最终答案。

Apple工程师确认无法同时访问这两个API。因此,如果您需要精确的时间戳并记录视频文件,则需要符合l %>% group_by(bowler,wickets,date) %>% slice(1L) 并自行构建文件。