<div dir="auto"><div>Hi,<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le jeu. 13 juill. 2023, 22 h 12, Sulthan Amanu <<a href="mailto:sulthan4380@gmail.com">sulthan4380@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Fwd...</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 14, 2023, 01:33 Sulthan Amanu <<a href="mailto:sulthan4380@gmail.com" target="_blank" rel="noreferrer">sulthan4380@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Hi Nicolas,<div dir="auto"><br></div><div dir="auto">Thank you for your response,</div><div dir="auto"><br></div><div dir="auto">I have one query about Gstermer pipeline , Can we able to change webcam video resolution without terminate current pipeline?</div></div></blockquote></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">This is supported by v4l2src, it possible libcamerasrx needs some adjustments. Here's an example application:</div><div dir="auto"><br></div><div dir="auto"><a href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/tests/examples/v4l2/v4l2src-renegotiate.c">https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/tests/examples/v4l2/v4l2src-renegotiate.c</a><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Nicolas</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Can you please share pipeline or code snippet for above requirement.</div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Sulthan </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 14, 2023, 00:40 Nicolas Dufresne <<a href="mailto:nicolas@ndufresne.ca" rel="noreferrer noreferrer" target="_blank">nicolas@ndufresne.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Le jeudi 13 juillet 2023 à 19:46 +0200, Florian Echtler via gstreamer-devel a<br>
écrit :<br>
> Hello Sulthan,<br>
> <br>
> I'm pretty certain this won't be possible without videoscale & friends.<br>
> <br>
> Reason: almost all V4L2 cameras are configured to stream a single resolution at <br>
> the hardware level, and even if the camera would be capable of delivering two <br>
> streams at different resolutions, I'm nearly 100% sure the V4L2-Gstreamer path <br>
> won't be able to deliver that. Your only option, as far as I can tell, is to get <br>
> the larger resolution from the device directly and scale it down.<br>
<br>
With exception of uvch264src, but finding compatible cameras is pretty hard<br>
these days.<br>
<br>
> <br>
> (*) Should you happen to use a Raspberry Pi camera, which can do separate <br>
> preview and main streams, then you might have a shot by using the libcamera <br>
> stack. But for generic V4L2 devices, I don't think you can avoid the software <br>
> scaler.<br>
<br>
Yes, PI can deliver multiple streams, use libcamerasrc for that.<br>
<br>
regards,<br>
Nicolas<br>
<br>
> <br>
> Best, Florian<br>
> <br>
> On 13.07.23 19:37, Sulthan Amanu via gstreamer-devel wrote:<br>
> > Hi Team,<br>
> > <br>
> > I have encountered an issue while<br>
> > creating a GStreamer pipeline with a webcam source and two caps filters using <br>
> > the tee element. The pipeline is designed to apply different resolutions to the <br>
> > video stream. Below is an example of the pipeline:<br>
> > <br>
> > gst-launch-1.0 -e v4l2src device=/dev/video0 ! \<br>
> > tee name=t ! \<br>
> > queue ! \<br>
> > videoconvert ! \<br>
> > capsfilter caps="video/x-raw, width=640, height=480" ! \<br>
> > autovideosink t. ! \<br>
> > queue ! \<br>
> > videoconvert ! \<br>
> > capsfilter caps="video/x-raw, width=1280, height=720" ! \<br>
> > autovideosink<br>
> > <br>
> > <br>
> > However, when executing the pipeline, I encountered the following error message:<br>
> > <br>
> > Setting pipeline to PAUSED ...<br>
> > Pipeline is live and does not need PREROLL ...<br>
> > Setting pipeline to PLAYING ...<br>
> > New clock: GstSystemClock<br>
> > ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data <br>
> > stream error.<br>
> > Additional debug info:<br>
> > gstbasesrc.c(3055): gst_base_src_loop (): <br>
> > /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:<br>
> > streaming stopped, reason not-negotiated (-4)<br>
> > EOS on shutdown enabled -- waiting for EOS after Error<br>
> > Waiting for EOS...<br>
> > <br>
> > <br>
> > I kindly request your assistance in resolving this issue and achieving the <br>
> > desired behavior without utilizing the *videoscale , videoconvertscale, other <br>
> > frame resize element. And I need to orignal data of both resolution.*<br>
> > *<br>
> > *<br>
> > Issue link - <br>
> > <a href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2808#note_1999618" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2808#note_1999618</a> <br>
> > <<a href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2808#note_1999618" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2808#note_1999618</a>><br>
> > *<br>
> > *<br>
> > Regards,<br>
> > Sulthan<br>
> <br>
> -- <br>
> SENT FROM MY DEC VT50 TERMINAL<br>
> <br>
<br>
</blockquote></div>
</blockquote></div>
</blockquote></div></div></div>