Я использовал 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);
}
Код woks отлично, но это программное декодирование. Я хочу улучшить производительность декодирования с помощью аппаратного декодирования. После многих исследований я знаю, что это может быть достигнуто с помощью системы AVFoundation. Класс AVAssetReader может помочь, но я не могу понять, что следующий. Может ли кто-нибудь указать на следующие шаги для меня? Любая помощь будет оценена.