我有a2 B格式的h264流,并按照此链接here使用iOS8 videoToolBox实现h264解码。
我在每一步都检查OSStatus。
我怀疑我在第3步中做错了什么,我不太清楚长码是什么意思。我只是按照WWDC会话视频替换每个NALUnit开始代码00 00 00 01到00 00 80 00.是不对?或者我应该检查别的东西?谢谢
最后,让它现在运作。所以,我分享了如何使用VideoToolbox解码h.264流数据的细节:
CMFormatDescription
创建CMVideoFormatDescriptionCreateFromH264ParameterSets
。VTDecompressionSession
创建VTDecompressionSessionCreate
。CMBlockBuffer
。CMSampleBuffer
创建一个CMSampleBufferCreate
。VTDecompressionSessionDecodeFrame
并从回调中获取结果。那么,你必须使用dispatch_semaphore_t来控制帧解码和显示。我上传了sample project on my git。希望能帮助别人。