[gst-devel] V4lsrc customization (looking for dev for hire)

Florent fthiery at gmail.com
Thu Feb 25 09:08:08 CET 2010


> I'm a developer/manager involved with an open source project
> (www.opencastproject.org) that relies on gstreamer for some of our base
> functionality.  We're using a vga capture device with the v4lsrc element to
> record the desktop of faculty, and send this along with other video for
> processing for the web.  The device we have, the Epiphan VGA2USB, doesn't
> have a driver that pads frames when there is no signal.

I have experience with using this very device with gstreamer, and in
effect you are getting errors if you have no signal. However, note
that this is also the case with other v4l capture devices (ex: osprey
analog capture cards), so what your application needs to do is probe
for signal: try getting data, if you got none, then your signal is
offline. If you're getting packets, then it's connected and serving

> This is a pretty big problem, as it causes recording of all streams (we bin
> a bunch together) grinds to a halt.

- you could choose to separate the VGA capture part from the video/audio capture
- alternatively, you may use input-selector to feed your pipeline with
fake data (from videotestsrc); during that, probe your v4lsrc device;
whenever you're getting data, set your v4lsrc branch to playing and
switch inputselector to the other source. It might be tricky with
segments, but could work. However, you need in all cases to normalize
the input resolution and framerates using videoscales and videorate.
- using videorate which will duplicate the last frame in case of
signal loss to keep the stream seamless

Are you using videomixer to mix the signals ?

>  Turns out that our domain (academic
> lectures) often has this kind of issue (picture faculty unplugging vga from
> one laptop into another).  To this end, we've been encouraging users of our
> system to use it with a DA scaler to ensure there is always a vga signal
> being sent to our capture hardware.

This won't always work, as many hardware scalers/switchers do not
realize a real seamless switching. So, you're right to look after a
better solution :)

> Our system lives in the java/flex/html/css world, so developers with lower
> level C skills are rare

You can do this in python.

>, and gstreamer is a big toolkit.  As we're an OSS
> project, I thought I would see if there was anyone who would be willing to
> help out adding a "pad frame" feature to the v4lsrc element to handle this
> kind of issue.

IMHO, i don't think it would be a needed feature for all v4lsrc
devices (since most of them are webcams, they always have signal).
Higher level approaches would solve your issues.

Might not be what you were looking for, but i hope it helps,



More information about the gstreamer-devel mailing list