嗨,各位前輩好
小弟目前正在利用ios8 videoToolBox進行H.264 stream decode
由於網路上的相關資源實在真的太少了,不知道有沒有前輩也有作相關研究
小弟目前的狀況是要解析的是AnnexB的h.264 stream
根據在WWDC和stackoverflow所爬的文,進行下列動作
每一個動作都有確認OSStatus
1. 抓出h264的SPS,PPS產生CMFormatDescription(status == noErr)
2. 產生VTDecompressionSession(status == noErr)
3. 將每個NAL unit的statr code 轉成length code,
然後產生CMBlockBuffer(status == noErr)
4. 產生CMSampleBuffer(status == noErr)
5. 最後利用VTDecompressionSessionDecodeFrame的callback function取回
解碼後的結果。但這時回傳error code -8969(simulator), -12909(device)
我不太清楚是哪裡作錯了? 但我在猜有可能是在step 3出錯,因為我不太確定所謂
的length code是指什麼,我只是單純照WWDC 2014 seseeion video513中所提到
將每個NAL unit的statr code 00 00 00 01 轉成 00 00 80 00。
不知道版上有前輩可以指導或提供debug方向嗎,謝謝。