[{"id":22291,"web_url":"https://patchwork.libcamera.org/comment/22291/","msgid":"<bae9ee5c-ba84-8d6a-e323-5b88f33e72e8@ideasonboard.com>","date":"2022-03-16T18:06:30","subject":"Re: [libcamera-devel] [PATCH] README: Extend gstreamer examples","submitter":{"id":97,"url":"https://patchwork.libcamera.org/api/people/97/","name":"Nicolas Dufresne via libcamera-devel","email":"libcamera-devel@lists.libcamera.org"},"content":"Hello Kieran,\n\nOn 3/16/22 19:43, Kieran Bingham via libcamera-devel wrote:\n> There have been many reports of facing difficulties with the gstreamer\n> element and getting the libcamerasrc to successfully negotiate with\n> other gstreamer elements.\n>\n> This is often due to the current limitations on colorimetry and frame\n> rate support in the element, and can usually be worked around by\n> specifying those explicitly in the caps.\n\n\nYes, I was going to take a look at it earlier but alas didn't any \ntime-slot. Colorimetry is a low-hanging fruit between the two it seems.\n\n>\n> Provide a tested example to capture, encode, and stream images as jpeg\n> to a remote device in the gstreamer section of the getting started\n> readme.\n>\n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n>\n> Technically this pipeline will stream without specifying the colorimetry\n> but the purpose is to add an example with both framerate, and\n> colorimetry explicitly listed to help people debug their pipelines\n> themselves.\n\n\nYes, great.\n\n>\n>   README.rst | 19 +++++++++++++++++++\n>   1 file changed, 19 insertions(+)\n>\n> diff --git a/README.rst b/README.rst\n> index ca8a97cbd71b..7abbc9e7a9ae 100644\n> --- a/README.rst\n> +++ b/README.rst\n> @@ -139,6 +139,25 @@ the video device provider) and libcamerasrc (for the operation of the camera).\n>   All corresponding debug messages can be enabled by setting the ``GST_DEBUG``\n>   environment variable to ``libcamera*:7``.\n>   \n> +Presently to prevent element negotiation failures it is required to specify the\n\n\ns/Presently/Presently,/ maybe?\n\n> +colorimetry and framerate as part of your pipeline construction. For instance\n\n\ns/instance/instance,/\n\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n> +to capture and encode as a JPEG stream and receive on another device the\n> +following example could be used as a starting point:\n> +\n> +.. code::\n> +\n> +   gst-launch-1.0 libcamerasrc ! \\\n> +        video/x-raw,colorimetry=bt709,format=NV12,width=1280,height=720,framerate=30/1 ! \\\n> +        jpegenc ! multipartmux ! \\\n> +        tcpserversink host=0.0.0.0 port=5000\n> +\n> +Which can be received on another device over the network with:\n> +\n> +.. code::\n> +\n> +   gst-launch-1.0 tcpclientsrc host=$DEVICE_IP port=5000 ! \\\n> +        multipartdemux ! jpegdec ! autovideosink\n> +\n>   .. section-end-getting-started\n>   \n>   Troubleshooting","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C4142BDE17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 16 Mar 2022 18:06:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2F517604EA;\n\tWed, 16 Mar 2022 19:06:38 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EE8B860475\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 16 Mar 2022 19:06:36 +0100 (CET)","from [192.168.1.106] (unknown [103.251.226.55])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B011E3E4;\n\tWed, 16 Mar 2022 19:06:35 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1647453998;\n\tbh=0uXdea5CmsvHYX0q2SPnDrp8Zwm3buejeKequRtPDlM=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=w85QDOMhLLs9YWN9imbUzAkUVldhxg/IvVmIlpEft7hcjppq+nzBTezx4MXq/rKxB\n\ti7sqIGKXU5H4wJWi/NEaes/Lyg1lcokV+W1qOxrAbDJxc7JMFCMlYcSjL1Q1j++AWT\n\tRFjzsw+66rJDofc2FlFwhHxpaFEuUiCbyIHdfBDD0X5NOeurhYfgbpJMoewUY4GjT7\n\tlf01ZMj83LZIvuiQ22faZ8hJBwXwlAxNhxjp8KU64lTfQg6a0m5s8A0XhTZ1zWjlAb\n\t+VcX2wFgAih66qJECTjZjTJcv+OGWmoId+RRgT6tVUZyPbSOTtHwe0N+7dFr+RBkfo\n\tHrIi8wZMLgnzQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1647453996;\n\tbh=0uXdea5CmsvHYX0q2SPnDrp8Zwm3buejeKequRtPDlM=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=DH92Fh5HdpKCe/sffOMCGGf81UHMYkk101aP5CSvne6Y1Xk9dF97NRqnJBntvsiWg\n\tD/OXUTJp187brBd6wa1Cn2nBANffLsUfbTJCKbZHFD17Bmoi8wvVwPrH/qp6g/RF/g\n\t9+rr6+sK7+FZz+NH26McW1rLzSpjWQnN4HRVA0xw="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"DH92Fh5H\"; dkim-atps=neutral","Message-ID":"<bae9ee5c-ba84-8d6a-e323-5b88f33e72e8@ideasonboard.com>","Date":"Wed, 16 Mar 2022 23:36:30 +0530","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101\n\tThunderbird/91.4.1","Content-Language":"en-US","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tlibcamera devel <libcamera-devel@lists.libcamera.org>","References":"<20220316141316.926035-1-kieran.bingham@ideasonboard.com>","In-Reply-To":"<20220316141316.926035-1-kieran.bingham@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] README: Extend gstreamer examples","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Umang Jain via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Umang Jain <umang.jain@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":22296,"web_url":"https://patchwork.libcamera.org/comment/22296/","msgid":"<YjLuVRUETZnH5Ukr@pendragon.ideasonboard.com>","date":"2022-03-17T08:16:21","subject":"Re: [libcamera-devel] [PATCH] README: Extend gstreamer examples","submitter":{"id":97,"url":"https://patchwork.libcamera.org/api/people/97/","name":"Nicolas Dufresne via libcamera-devel","email":"libcamera-devel@lists.libcamera.org"},"content":"On Wed, Mar 16, 2022 at 11:36:30PM +0530, Umang Jain via libcamera-devel wrote:\n> On 3/16/22 19:43, Kieran Bingham via libcamera-devel wrote:\n> > There have been many reports of facing difficulties with the gstreamer\n> > element and getting the libcamerasrc to successfully negotiate with\n> > other gstreamer elements.\n> >\n> > This is often due to the current limitations on colorimetry and frame\n> > rate support in the element, and can usually be worked around by\n> > specifying those explicitly in the caps.\n> \n> Yes, I was going to take a look at it earlier but alas didn't any \n> time-slot. Colorimetry is a low-hanging fruit between the two it seems.\n> \n> > Provide a tested example to capture, encode, and stream images as jpeg\n> > to a remote device in the gstreamer section of the getting started\n> > readme.\n> >\n> > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > ---\n> >\n> > Technically this pipeline will stream without specifying the colorimetry\n> > but the purpose is to add an example with both framerate, and\n> > colorimetry explicitly listed to help people debug their pipelines\n> > themselves.\n> \n> Yes, great.\n> \n> >   README.rst | 19 +++++++++++++++++++\n> >   1 file changed, 19 insertions(+)\n> >\n> > diff --git a/README.rst b/README.rst\n> > index ca8a97cbd71b..7abbc9e7a9ae 100644\n> > --- a/README.rst\n> > +++ b/README.rst\n> > @@ -139,6 +139,25 @@ the video device provider) and libcamerasrc (for the operation of the camera).\n> >   All corresponding debug messages can be enabled by setting the ``GST_DEBUG``\n> >   environment variable to ``libcamera*:7``.\n> >   \n> > +Presently to prevent element negotiation failures it is required to specify the\n> \n> s/Presently/Presently,/ maybe?\n> \n> > +colorimetry and framerate as part of your pipeline construction. For instance\n> \n> s/instance/instance,/\n> \n> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nWe may want to move documentation for the GStreamer element to a\nseparate file at some point.\n\n> > +to capture and encode as a JPEG stream and receive on another device the\n> > +following example could be used as a starting point:\n> > +\n> > +.. code::\n> > +\n> > +   gst-launch-1.0 libcamerasrc ! \\\n> > +        video/x-raw,colorimetry=bt709,format=NV12,width=1280,height=720,framerate=30/1 ! \\\n> > +        jpegenc ! multipartmux ! \\\n> > +        tcpserversink host=0.0.0.0 port=5000\n> > +\n> > +Which can be received on another device over the network with:\n> > +\n> > +.. code::\n> > +\n> > +   gst-launch-1.0 tcpclientsrc host=$DEVICE_IP port=5000 ! \\\n> > +        multipartdemux ! jpegdec ! autovideosink\n> > +\n> >   .. section-end-getting-started\n> >   \n> >   Troubleshooting","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id A7D40BDE17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 17 Mar 2022 08:16:40 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 14E3F604E7;\n\tThu, 17 Mar 2022 09:16:40 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C3E6A604DB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 17 Mar 2022 09:16:38 +0100 (CET)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 31EFC493;\n\tThu, 17 Mar 2022 09:16:38 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1647505000;\n\tbh=QLyWxeW4mr4y+C8Ttns/MYTl5f57P0nyI/nXnFNn1Ao=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=i90CqoFJRuRUOOsqBY3iLBysFRV8kHMWKNT4Z+/mUTKpO/7xJoWGOHwuRgCpGoagG\n\thtnQF9TAueZbIPv7y4kXYooCJYWauOaigGi4HvOTAEx/s5zJwNIlmRwbVZvTtGU4fj\n\t3Xk3KuzGJi0Dc9mKWrRa3aKc06jwE2vbc0wSx4rc7eHIfdDjw+xCZ61i8wrIwKNoFN\n\tsmg6Reia4+1JVImAF+LTwqTV9eEvrxMlehROdWzol1sfsP5sb7836XdeB0+qru5q7U\n\tIxHr38WVH4zTOgD2zpUW2eixvVYyxDKqriqx/MtQAr+p0qIGmkO6BGfo364qTpjS/C\n\tug1+rTqcwXHZg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1647504998;\n\tbh=QLyWxeW4mr4y+C8Ttns/MYTl5f57P0nyI/nXnFNn1Ao=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=N4938HuhhZVv3QTfudJ5rqaG9RFVwtyia2gM87Z+kAzChRgAJotzNE8m1qLPq20w9\n\tY8F2BM97A3X1PoDr4fH05H55baXqrzfzB0mRcQ5yf2y5ikO4N3lczAaPHaQ/T1EEzC\n\t/zX4BQwurUtR4oWOCBdoIg4dZwKwWuIlBmQjNoAU="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"N4938Huh\"; dkim-atps=neutral","Date":"Thu, 17 Mar 2022 10:16:21 +0200","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<YjLuVRUETZnH5Ukr@pendragon.ideasonboard.com>","References":"<20220316141316.926035-1-kieran.bingham@ideasonboard.com>\n\t<bae9ee5c-ba84-8d6a-e323-5b88f33e72e8@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<bae9ee5c-ba84-8d6a-e323-5b88f33e72e8@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] README: Extend gstreamer examples","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]