V4l2src ancillary data handling questions
nicolas at ndufresne.ca
Thu Feb 23 21:55:58 UTC 2023
Le jeudi 23 février 2023 à 09:38 +0100, Israel Díaz via gstreamer-devel a
> I'm currently working with an SDI video input that includes ancillary data.
> I'm using the v4l2src plugin in my pipeline to capture this video input, but
> I'm unsure whether the plugin will discard the extra data and only output the
> video data. Can anyone confirm whether the v4l2src plugin ignores ancillary
> data, or if it passes it through to the output as well?
While we don't have GStreamer support for these, device maybe be providing a VBI
or a Medata nodes (like UVC camera driver does provide metadata node). A video
node, will only deliver the video.
> For context, here's the pipeline I'm currently using: 'gst-launch-1.0 v4l2src
> device=/dev/video0 io-mode=4 ! video/x-
> raw,width=1920,height=1080,format=NV16_10LE32,framerate=60/1 ! omxh264enc
> target-bitrate=8000 ! video/x-h264, alignment=au ! fakesink'. My ultimate goal
> is to introduce this pipeline into an appsrc element so that I can access both
> the ancillary data and the encoder-encoded data.
> Assuming that the v4l2src plugin does indeed filter out ancillary data, is
> there any way to use the v4l2 driver directly (without using v4l2src) to
> access this extra data? Any suggestions or advice would be greatly
> appreciated. Thank you!
No, v4l2src is not responsible for this. The SDI driver should expose both a
/dev/videoX node for the video frames, and a /dev/vbiX node (the device is
exposed as /dev/mediaX and you can walk its topology to find the associated
memory nodes). I'm guessing this is Xilinx ZynMP (they are the only one
using NV16_10LE32). You should raise this question on their github issue
tracker. Note that vbi and video buffer will share the same sequence, so you can
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel