How to change framerate in REALTIME when video is PLAYING?

Olivier Aubert olivier.aubert at liris.cnrs.fr
Thu Mar 10 01:32:45 PST 2011


Hello

Another way is to send an appropriate event (through event_new_seek)
specifying the rate as parameter. See for instance the set_rate() method
in
http://svn.gna.org/viewcvs/advene/trunk/lib/advene/player/gstreamer.py?view=markup

Olivier


On Thu, 2011-03-10 at 09:58 +0100, Andrey Nechypurenko wrote:
> Hi Tom,
> 
> > I use
> > gst-launch filesrc "location=video/1.MPG" ! decodebin ! videorate !
> > video/x-raw-yuv, width=640,height=480,framerate=25/1 ! ffmpegcolorspace !
> > jpegenc ! multipartmux ! tcpserversink host=192.168.2.1 port=$portNumber
> > to stream a video and can change the video frame rate in this way.
> > But in this way the frame rate is fixed (i.e., framerate=25/1 here).
> >
> > I want to change the framerate in REALTIME when video is PLAYING  ---
> > during the streaming of this video, I can change the framerate anytime I
> > want.
> 
> Then you need to modify the pipeline from your application. In
> particular, you need to adjust the caps filter. Here you can find an
> example how to do it:
> http://gitorious.org/veter/veter/blobs/master/src/vehicle/VideoSenderThread.cpp#line264
> It changes width and height property of the named (qos-caps) caps
> filter by pausing the videoscale element in front of it, updating
> width and height properties and then un-pausing the videoscale. So in
> your case you can update the framerate property. However, as Kapil
> pointed out to work properly, the downstream elements should be able
> to re-negotiate the new format.
> 
> HTH,
> Andrey.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list