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 >>> > >>> >>>