Hello,
i'm using ffmpeg to decode a video frame and compute a digital signature
(1 frame -> 8 bytes)

When i compare video duration and number of signatures (i.e frames), i
miss some frames (100 frames for 24 hours) so i've a delay with my
results.

I think it's due to some errors in my stream :
[mpeg2video @ 0xb7d8f9d0]concealing 1530 DC, 1530 AC, 1530 MV errors
[mpeg2video @ 0xb7d8f9d0]ac-tex damaged at 37 26=256424.1 bitrate=


How can i detect these frames to keep the right number of frame ?

Thanks for any help.

Sebastien

PS : here is my code :

while (av_read_frame (pFormatCtx, &packet) >= 0) {
  if (packet.stream_index == videoStream) {

    avcodec_decode_video(pCodecCtx, pFrame, &frameFinished,packet.data,
packet.size);

     if (frameFinished) {
        sws_scale(img_convert_ctx, pFrame->data, pFrame->linesize, 0,
pCodecCtx->height, pFrameYUV->data, pFrameYUV->linesize);

        signature = sig->compute(pFrameYUV->data[0]);

        fseek (outputfile, (pCodecCtx->frame_number-1)*8 , SEEK_SET );

        fwrite(&signature,8,1,outputfile);
      }
    }
  }


_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to