Internal Data Stream Error Occurs When Adding Two Caps Filters with Different Resolutions in Webcam GStreamer Pipeline Using Tee

Florian Echtler floe at butterbrot.org
Thu Jul 13 17:46:24 UTC 2023


Hello Sulthan,

I'm pretty certain this won't be possible without videoscale & friends.

Reason: almost all V4L2 cameras are configured to stream a single resolution at 
the hardware level, and even if the camera would be capable of delivering two 
streams at different resolutions, I'm nearly 100% sure the V4L2-Gstreamer path 
won't be able to deliver that. Your only option, as far as I can tell, is to get 
the larger resolution from the device directly and scale it down.

(*) Should you happen to use a Raspberry Pi camera, which can do separate 
preview and main streams, then you might have a shot by using the libcamera 
stack. But for generic V4L2 devices, I don't think you can avoid the software 
scaler.

Best, Florian

On 13.07.23 19:37, Sulthan Amanu via gstreamer-devel wrote:
> Hi Team,
> 
> I have encountered an issue while
> creating a GStreamer pipeline with a webcam source and two caps filters using 
> the tee element. The pipeline is designed to apply different resolutions to the 
> video stream. Below is an example of the pipeline:
> 
> gst-launch-1.0 -e v4l2src device=/dev/video0 ! \
>      tee name=t ! \
>          queue ! \
>          videoconvert ! \
>          capsfilter caps="video/x-raw, width=640, height=480" ! \
>          autovideosink t. ! \
>          queue ! \
>          videoconvert ! \
>          capsfilter caps="video/x-raw, width=1280, height=720" ! \
>          autovideosink
> 
> 
> However, when executing the pipeline, I encountered the following error message:
> 
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data 
> stream error.
> Additional debug info:
> gstbasesrc.c(3055): gst_base_src_loop (): 
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming stopped, reason not-negotiated (-4)
> EOS on shutdown enabled -- waiting for EOS after Error
> Waiting for EOS...
> 
> 
> I kindly request your assistance in resolving this issue and achieving the 
> desired behavior without utilizing the *videoscale , videoconvertscale, other 
> frame resize element. And I need to orignal data of both resolution.*
> *
> *
> Issue link - 
> https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2808#note_1999618 
> <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2808#note_1999618>
> *
> *
> Regards,
> Sulthan

-- 
SENT FROM MY DEC VT50 TERMINAL

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230713/8a7b6ebc/attachment.sig>


More information about the gstreamer-devel mailing list