0

我有一个直播,并CMSampleBufferGetSampleTimingInfo给出了CMTime(value=0, timescale=0)视频的持续时间。

对于音频,我一次获得 1024 个样本,但为样本CMSampleBufferGetSampleTimingInfo(sampleBuffer, index, &timingInfo)中的每个索引提供完全相同的presentationTimeStamp。

如何在视频帧的实时流中准确获取持续时间信息,以及如何获取音频样本的实际时间CMSampleBufferRef

4

1 回答 1

1

你只能依赖presentationTimeStamps,所以直到下一帧到来,你才能知道当前视频帧的持续时间。这对于实时流来说是有意义的,因为捕获帧速率是可变的并且取决于照明等,但是当样本缓冲区来自文件时,这似乎也是正确的。

持续时间可以这样计算:

CMTimeSubtract(timingInfoNext.presentationTimeStamp, timingInfoCurrent.presentationTimeStamp)
于 2015-11-22T22:00:35.037 回答