Я использовал ffmpeg для декодирования каждого кадра, который я получил с моей IP-камеры. Краткий код выглядит так:
-(void) decodeFrame:(unsigned char *)frameData frameSize:(int)frameSize{
AVFrame frame;
AVPicture picture;
AVPacket pkt;
AVCodecContext *context;
pkt.data = frameData;
pat.size = frameSize;
avcodec_get_frame_defaults(&frame);
avpicture_alloc(&picture, PIX_FMT_RGB24, targetWidth, targetHeight);
avcodec_decode_video2(&context, &frame, &got_picture, &pkt);
}
Код работает нормально, но это программное декодирование. Я хочу повысить производительность декодирования с помощью аппаратного декодирования. После многих исследований я знаю, что это может быть достигнуто с помощью фреймворка AVFoundation. Класс AVAssetReader может помочь, но я не могу понять, что будет дальше. Может ли кто-нибудь указать мне следующие шаги? Любая помощь будет оценена по достоинству.