CMSampleBuffer中有多少帧?

时间:2011-12-10 06:48:56

标签: ios avfoundation cmsamplebufferref

这可能是一个愚蠢的问题,但我刚开始学习媒体格式和AVFoundation,所以请耐心等待。

我一直试图弄清楚AVCaptureVideoDataOutput中的CMSampleBuffer是否可以包含多个帧。然而,从文档中可以看出,我看到的大多数示例代码似乎与CMSampleBuffer相似,就好像它是单帧一样。我只是误解了这个吗?

如果每个缓冲区可以有多个帧,是否可以获取各个帧并确定它是否是关键帧?

由于

1 个答案:

答案 0 :(得分:5)

CMSampleBuffer确实可以包含多个样本,其中样本是任意数据。在AVFoundation中捕获视频时,样本缓冲区将只包含一个样本。虽然它可能包含多个,但这在实践中并没有多大意义。如果您正在为基于视频的应用程序实时处理图像,情况尤其如此。对于音频,它将包含多个样本。您可以使用CMSampleBuffer.h中列出的CM *函数进行检查