[gst-devel] controlling framerate for custom src plugin

Roland Hermans gstreamer-devel at omroepvenray.nl
Sun Dec 27 17:44:45 CET 2009


Hi,

For a local public radio station a few years ago I have setup a live Ogg
Theora/Vorbis stream. The current solution is based on a Python script that
grabs the frames of an Intellinet IP camera and is used together with ffmpeg
to overlay an image and text messages, and gstreamer to add live alsa audio
capture and create the Ogg stream and Icecast2 to stream. Problems with this
setup are that audio and video are not synchronized, and that the latest
version of ffmpeg no longer supports vhooks.

Therefore I'm looking for a completely gstreamer based solution to implement
the live stream. I could not find a plugin to capture the images from the IP
camera and I started implementing my own plugin based on gsttcpclientsrc.c.

It is able to capture the JPEG images from the IP camera and send them as
buffers to jpegdec (the next element in the pipeline) but for some reason
I'm not able to control the framerate. It is always capturing images at the
highest possible speed.

After some more reading of the manuals and checking sources of e.g.
videotestsrc and v4lsrc I added timestamps to the buffers but that did not
help: the stream was freezing at the first frame but capturing is still done
at high speed. I also tried forcing a framerate 1 fps with caps. Images now
appear between 3 and 4 seconds, but capturing remains at high speed.

The pipeline I currently use for testing:

gst-launch ipcamsrc host=HOST port=8080 username=USER password=PASS !
jpegdec ! ffmpegcolorspace ! timeoverlay ! ximagesink

>From the following debug output I conclude that this pipeline is operating
in push mode:

0:00:00.910443729  ...:<ximagesink0> Trying pull mode first
0:00:00.910471532  ...:<ximagesink0> pull mode disabled
0:00:00.910498350  ...:<ximagesink0> Falling back to push mode

A current development snapshot is available via

    http://www.omroepvenray.nl/gst/ipcam.tar.gz

Any idea what might be wrong/missing here?

Best regards,

Roland Hermans

________________________________________________
Message sent using UebiMiau 2.7.10






More information about the gstreamer-devel mailing list