[Libav-user] libavformat, RTSP: periodically read last available frame of live stream

Sandro Mani manisandro at gmail.com
Sun Sep 8 19:15:15 CEST 2013


On 08.09.2013 18:32, Alex Cohn wrote:
>
> On Sep 8, 2013 6:17 PM, "Sandro Mani" <manisandro at gmail.com 
> <mailto:manisandro at gmail.com>> wrote:
> >
> > Hello,
> >
> > I would like to periodically (say every second) grab the latest 
> frame from a rtsp live stream of a webcam. I am able to successfully 
> open the stream and read and decode frames, however if I read one 
> frame every second, I am still reading subsequent frames (as opposed 
> to frames which are i.e. one second apart). I guess I need to seek to 
> the last available frame before reading the next frame. Can anyone 
> point out how this can be done?
> >
> > For reference, my code is here: [1] [2].
> >
> > Thanks for any inputs.
> >
> > Sandro
> >
> >
> > [1] http://smani.fedorapeople.org/VideoCapture.hpp
> > [2] http://smani.fedorapeople.org/VideoCapture.cpp
>
> If your webcam has GOP of 1 sec, e.g. GOP length = 30 and FPS = 30, 
> you can skip to next second; otherwize, the correct strategy would be 
> to decode all frames, but throw away all frames that you don't need.
>
> BR
> Alex Cohn
>
>
Thanks for the reply. With skip do you mean by calling av_seek_frame 
with an appropriately computed timestamp? (Sorry if I may be asking the 
obvious, I'm rather a novice in this area.)

Sandro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20130908/8263f594/attachment.html>


More information about the Libav-user mailing list