[Libav-user] Disappearing / missing frames from h264 source

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Libav-user] Disappearing / missing frames from h264 source

Daan

Hi,

I have a problem that has been driving me crazy for a day.

At this moment I can't post source code; for that I have to write a
small test program tomorrow,


The problem:

===========

I receive packages from a h268 webcam using:

if( av_read_frame(this->pFormatContextIn, pPacket) < 0 ) break;

Normally those packages have an increasing dts and pts with an increment
of 3600.

Timebase is 1/ 90000 fps is 25 -> So this is perfect.

But at some moments this starts to flip up to the point where the dts
and pts have an increment of 90000 ( one second ).

I repeatedly call the openH264 decoder but only get one frame.

If I look at the video I encode the time is correct; the movie stalls,
skips some frames and continues.
( I use the input pts and that means the input pts is correct. )

The problem is where did the frames go ...


Investigations:

=============

Both AVCONV and VLC MEDIA PLAYER play the same stream with almost no
problem.

I tried both:

avcodec_encode_video2

and the new:

avcodec_send_packet
avcodec_receive_frame

and I have read the source code of avconv.c

If I just copy the packages I also have a correct video stream.

So I miss something at the moment I get the frames using:

avcodec_send_packet
avcodec_receive_frame ( repeated )

I don't even mangle with the pts and dts ... I have a movie of a clock;
the pts I receive seems perfect.

The dial sometimes just stops for a while and then jumps over the gap.


Does someone know if there is some setting or some small thing that
would make my frames disappear?


Thank you,

Daan


















_______________________________________________
Libav-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".