[libcamera-devel,v2] README.rst: Update gstreamer element guidance
diff mbox series

Message ID 20210825195338.185663-1-kieran.bingham@ideasonboard.com
State Accepted
Headers show
Series
  • [libcamera-devel,v2] README.rst: Update gstreamer element guidance
Related show

Commit Message

Kieran Bingham Aug. 25, 2021, 7:53 p.m. UTC
The Gstreamer gstlibcamerasrc element operates better with the
glimagesink, as it can perform direct renders or hardware accellerated
image format conversion.

Further extend the sample commands to demonstrate how to specify a fixed
width and height parameter to the pipeline.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

---
 README.rst | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

Comments

Laurent Pinchart Aug. 25, 2021, 8:02 p.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Wed, Aug 25, 2021 at 08:53:38PM +0100, Kieran Bingham wrote:
> The Gstreamer gstlibcamerasrc element operates better with the
> glimagesink, as it can perform direct renders or hardware accellerated
> image format conversion.
> 
> Further extend the sample commands to demonstrate how to specify a fixed
> width and height parameter to the pipeline.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> 
> ---
>  README.rst | 21 ++++++++++++++++++---
>  1 file changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/README.rst b/README.rst
> index fcf0f47f14c5..d5b36e21dec6 100644
> --- a/README.rst
> +++ b/README.rst
> @@ -94,17 +94,32 @@ Using GStreamer plugin
>  ~~~~~~~~~~~~~~~~~~~~~~
>  
>  To use GStreamer plugin from source tree, set the following environment so that
> -GStreamer can find it.
> +GStreamer can find it. This isn't necessary when libcamera is installed.
>  
>    export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
>  
>  The debugging tool ``gst-launch-1.0`` can be used to construct a pipeline and
>  test it. The following pipeline will stream from the camera named "Camera 1"
> -onto the default video display element on your system.
> +onto the OpenGL accelerated display element on your system.
>  
>  .. code::
>  
> -  gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! videoconvert ! autovideosink
> +  gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! glimagesink
> +
> +To show the first camera found you can omit the camera-name property, or you
> +can identify the camera and capabilities using:

Maybe "can list the cameras and their capabilities using:" ?

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> +
> +.. code::
> +
> +  gst-device-monitor-1.0 Video
> +
> +This will also show the supported stream sizes which can be manually selected
> +if desired with a pipeline such as:
> +
> +.. code::
> +
> +  gst-launch-1.0 libcamerasrc ! 'video/x-raw,width=1280,height=720' ! \
> +        glimagesink
>  
>  .. section-end-getting-started
>
Paul Elder Aug. 26, 2021, 3:51 a.m. UTC | #2
Hi Kieran,

On Wed, Aug 25, 2021 at 08:53:38PM +0100, Kieran Bingham wrote:
> The Gstreamer gstlibcamerasrc element operates better with the
> glimagesink, as it can perform direct renders or hardware accellerated
> image format conversion.
> 
> Further extend the sample commands to demonstrate how to specify a fixed
> width and height parameter to the pipeline.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> 
> ---
>  README.rst | 21 ++++++++++++++++++---
>  1 file changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/README.rst b/README.rst
> index fcf0f47f14c5..d5b36e21dec6 100644
> --- a/README.rst
> +++ b/README.rst
> @@ -94,17 +94,32 @@ Using GStreamer plugin
>  ~~~~~~~~~~~~~~~~~~~~~~
>  
>  To use GStreamer plugin from source tree, set the following environment so that
> -GStreamer can find it.
> +GStreamer can find it. This isn't necessary when libcamera is installed.
>  
>    export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
>  
>  The debugging tool ``gst-launch-1.0`` can be used to construct a pipeline and
>  test it. The following pipeline will stream from the camera named "Camera 1"
> -onto the default video display element on your system.
> +onto the OpenGL accelerated display element on your system.
>  
>  .. code::
>  
> -  gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! videoconvert ! autovideosink
> +  gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! glimagesink
> +
> +To show the first camera found you can omit the camera-name property, or you
> +can identify the camera and capabilities using:
> +
> +.. code::
> +
> +  gst-device-monitor-1.0 Video
> +
> +This will also show the supported stream sizes which can be manually selected
> +if desired with a pipeline such as:
> +
> +.. code::
> +
> +  gst-launch-1.0 libcamerasrc ! 'video/x-raw,width=1280,height=720' ! \
> +        glimagesink
>  
>  .. section-end-getting-started
>  
> -- 
> 2.30.2
>

Patch
diff mbox series

diff --git a/README.rst b/README.rst
index fcf0f47f14c5..d5b36e21dec6 100644
--- a/README.rst
+++ b/README.rst
@@ -94,17 +94,32 @@  Using GStreamer plugin
 ~~~~~~~~~~~~~~~~~~~~~~
 
 To use GStreamer plugin from source tree, set the following environment so that
-GStreamer can find it.
+GStreamer can find it. This isn't necessary when libcamera is installed.
 
   export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
 
 The debugging tool ``gst-launch-1.0`` can be used to construct a pipeline and
 test it. The following pipeline will stream from the camera named "Camera 1"
-onto the default video display element on your system.
+onto the OpenGL accelerated display element on your system.
 
 .. code::
 
-  gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! videoconvert ! autovideosink
+  gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! glimagesink
+
+To show the first camera found you can omit the camera-name property, or you
+can identify the camera and capabilities using:
+
+.. code::
+
+  gst-device-monitor-1.0 Video
+
+This will also show the supported stream sizes which can be manually selected
+if desired with a pipeline such as:
+
+.. code::
+
+  gst-launch-1.0 libcamerasrc ! 'video/x-raw,width=1280,height=720' ! \
+        glimagesink
 
 .. section-end-getting-started