Я получаю изображения H.264 с IP-камеры и хочу сохранить закодированные изображения (без декодирования).Я использую output-example.c из ffmpeg (libavformat / output-example.c) для этой цели.Для сохранения необработанного изображения H.264 я делаю следующее:
AVPacket pkt;
av_init_packet(&pkt);
if (c->coded_frame->pts != AV_NOPTS_VALUE)
pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
if(c->coded_frame->key_frame)
pkt.flags |= PKT_FLAG_KEY;
pkt.stream_index= st->index;
pkt.data= (uint8_t *)ulAddr;//video_outbuf;
pkt.size= out_size;
save_image(pkt.data, out_size);
, где ulAddr - адресный указатель на изображение, а out_size - размер изображения.Вместо того, чтобы сохранять изображения в видеофайле, я хочу сохранить отдельные изображения.Функция save_image просто использует базовые функции fopen и fwrite для сохранения изображений.Если я декодирую кадр, а затем сохраняю, все работает нормально.Но у меня проблема с сохранением закодированных кадров.Закодированные кадры сохраняются с очень маленьким размером, и затем они не могут быть декодированы.Что-то не так?Я буду очень признателен за любую помощь в этом отношении.