2

IP カメラからの RTSP ストリームを表示しています。avcodec_decode_video2このメソッドを VideoToolbox フレームワークに置き換えたいと考えています。私はビデオデータ処理に慣れていないので、少し迷っています...

ここここの両方のソリューションをテストしましたが、この方法では失敗に終わりVTDecompressionSessionDecodeFrameます。

Error Domain=NSOSStatusErrorDomain Code=-12909 "The operation couldn’t be completed. (OSStatus error -12909.)" - -12909

VTDecompressionSessionCanAcceptFormatDescriptionセッションを作成した直後にこれを呼び出すと、結果がNO.

これが私のセッションの作成方法です:

VTDecompressionOutputCallbackRecord callback;
callback.decompressionOutputCallback = decompressionSessionDecodeFrameCallback;
callback.decompressionOutputRefCon = (__bridge void *)self;
NSDictionary *destinationImageBufferAttributes =[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],(id)kCVPixelBufferOpenGLESCompatibilityKey,[NSNumber numberWithInt:kCVPixelFormatType_32RGBA],(id)kCVPixelBufferPixelFormatTypeKey,nil];
OSStatus status = VTDecompressionSessionCreate(kCFAllocatorDefault, _formatDesc, NULL,
                                                   (__bridge CFDictionaryRef)destinationImageBufferAttributes,
                                                   &callback, &_decompressionSession);

また、使用するデータについてもわかりません。AVPacket.data、AVCodecContext.extradata、AVPacket.buf->data から選択できます。どちらを使用すればよいか教えてもらえますか(別のものがあるかもしれません)?

事前にt​​hx、

PS .: これは私の最初の投稿です。正しく表示/説明されていない場合はお知らせください。

4

1 に答える 1