v4l2src support for multi channel video capture cards

Nicolas Dufresne nicolas.dufresne at collabora.com
Fri Mar 6 07:59:22 PST 2015


Le 2015-03-06 10:30, anno domini a écrit :
> We have been using various video capture cards running under linux 
> (Fedora) for quite a while now with gstreamer and it has been very 
> successful - so thanks!
> We used the older Kodicom type BT878 cards with 8 separate video 
> inputs, each with its own dedicated chip. These are now no longer in 
> production but have been replaced by cards that claim to support up 
> either 4,8 or 16 video inputs. We have tried these out but it appears 
> that they only have 4 dedicated chips and only show up as 4 individual 
> video devices i.e.
>
> /dev/video0
> /dev/video1
> /dev/video2
> /dev/video3.
>
> It looks like there is a concept of channels with these cards whereby 
> each video device can in fact support 4 logically independent inputs. 
> Software like zoneminder and i think possibly VLC and ffmpeg can 
> support these channels but from what i can see gstreamer does not.
>
> Can anyone confirm if gstreamer can support these cards.
> If it doesn't are there any plan to do so.
> Lastly can anyone suggest a way in which we could hook gstreamer into 
> the channels by some other means?
Do you have links to documentation on how these "channels" works. Do you 
have links to the driver source code ? V4L2 output device are not 
supposed to be multi-instance by V4L2 SPEC. Did you expect to use 4 
instances per device nodes ? Note that v4l2sink has been rare, hence it 
is likely that some options are only available through extra-controls 
property, or by opening and configuring the device yourself. Gst will 
then follow what has been configured.

Gst should support valid V4L2 Output device (by valid I mean drivers 
that pass (or at least mostly pass) the v4l2-compliance test). Can you 
verify that ? If it does, and it fails in GStreamer, this is a bug. Bugs 
should be filed with as much details as you can provide in 
bugs.gnome.org. Always specify the version you are using. For V4L2, 
trace with GST_DEBUG="v4l2*:7" are usually appropriate. Attach these as 
files, not in the comment please.

Nicolas


More information about the gstreamer-devel mailing list