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

Nicolas Dufresne via gstreamer-devel <[email protected]>
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <CAKQmDh_Y=Fv=sdYajuseUNJfMTuJs_mGzdFif_DKZ-XezDLsZg@mail.gmail.com>
Hi,

Le jeu. 13 juill. 2023, 22 h 12, Sulthan Amanu <[email protected]> a
écrit :

> Fwd...
>
> On Fri, Jul 14, 2023, 01:33 Sulthan Amanu <[email protected]> wrote:
>
>> Hi Nicolas,
>>
>> Thank you for your response,
>>
>> I have one query about Gstermer pipeline , Can we able to change webcam
>> video resolution without terminate current pipeline?
>>
>

This is supported by v4l2src, it possible libcamerasrx needs some
adjustments. Here's an example application:

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/tests/examples/v4l2/v4l2src-renegotiate.c


For HDMI/SDI like receivers, v4l2src internally have code to detect and
adjust accordingly. Though not for UVC as this is missing in the UVC spec.


Nicolas


>> Can you please share pipeline or code snippet for above requirement.
>>
>> Regards,
>> Sulthan
>>
>> On Fri, Jul 14, 2023, 00:40 Nicolas Dufresne <[email protected]>
>> wrote:
>>
>>> Le jeudi 13 juillet 2023 à 19:46 +0200, Florian Echtler via
>>> gstreamer-devel a
>>> écrit :
>>> > 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.
>>>
>>> With exception of uvch264src, but finding compatible cameras is pretty
>>> hard
>>> these days.
>>>
>>> >
>>> > (*) 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.
>>>
>>> Yes, PI can deliver multiple streams, use libcamerasrc for that.
>>>
>>> regards,
>>> Nicolas
>>>
>>> >
>>> > 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
>>> >
>>>
>>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.