一、videoToolbox的基本数据
VideoToolbox视频编解码前后需要应用的数据结构进行说明。
CVPixelBuffer:编码前和解码后的图像数据结构。此内容包含一系列的CVPixelBufferPool内容
CMTime、CMClock和CMTimebase:时间戳相关。时间以64-bit/32-bit的形式出现。
pixelBufferAttributes:字典设置.可能包括Width/height、pixel format type、Compatibility (e.g., OpenGL ES, Core Animation)
CMBlockBuffer:编码后,结果图像的数据结构。
CMVideoFormatDescription:图像存储方式,编解码器等格式描述。
(CMSampleBuffer:存放编解码前后的视频图像的容器数据结构。
CMTimebase: 关于CMClock的一个控制视图,包含CMClock、时间映射(Time mapping)、速率控制(Rate control)
采集视频数据可知,我们获取到的数据 (CMSampleBufferRef)sampleBuffer为未编码的数据;
上图中,编码前后的视频图像都封装在 CMSampleBuffer中,编码前以 CVPixelBuffer进行存
储;编码后以 CMBlockBuffer进行存储。除此之外两者都包括 CMTime、 CMVideoFormatDesc。
二、硬编码码基本流程