RidgeRun Linux Camera Drivers/Examples/RB5: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 220: Line 220:


== RidgeRun Product Use Cases ==
== RidgeRun Product Use Cases ==
RidgeRun provides a suite of tools to enhance your multimedia projects using GStreamer. Below are some practical examples showcasing the capabilities of '''GstRtspSink''' and '''GstSEIMetadata'''. These pipelines are designed to stream video with embedded metadata over RTSP, offering an overview into how you can leverage these tools in your applications. To obtain these or any other product evaluations free of charge, please feel free to [[RidgeRun_Linux_Camera_Drivers/Contact_Us | contact us]].
=== Use Case Examples ===
'''GstRtspSink'''
* '''Surveillance Systems''': This product can be used to stream video to multiple monitoring stations simultaneously.
* '''Live Broadcasting''': For live events like sports, concerts, or webinars, GstRtspSink can stream the live video feed to multiple viewers.
* '''Remote Monitoring in Industrial Applications''': GstRtspSink enables streaming of video feeds from cameras monitoring the production line or remote sites.
* '''Video Conferencing''': In video conferencing systems, GstRtspSink can be used to stream the video feed from one participant to others.
* '''Smart City Infrastructure''': GstRtspSink can stream video feeds from cameras to control centers, allowing operators to monitor multiple locations effectively.
'''GstSEIMetadata'''
* '''Drone Surveillance''': The GstSEIMetadata element allows embedding the location data directly into the H264/H265 video frames.
* '''Sports Broadcasting''': In live sports broadcasts, data such as player statistics, game scores, or timing information can be embedded directly into the video stream using GstSEIMetadata.
* '''Medical Imaging''': The GstSEIMetadata element enables embedding data such as patient ID or procedure details into the video, ensuring that it stays synchronized with the visual information.
* '''Augmented Reality (AR) Applications''': In AR scenarios, additional information like object coordinates, scene descriptions, or environmental data can be embedded into the video stream using GstSEIMetadata.
* '''Video Analytics''': In security or retail environments where video analytics are performed, the GstSEIMetadata element can be used to inject data such as object detection results or motion tracking information into the video stream.
To install the test evaluation, make sure to follow this [[GstRtspSink_-_Evaluating_GstRtspSink#Testing_the_Binary | section]] to install '''GstRtspSink''', to install '''GstSEIMetadata''' you can follow the same steps with the corresponding <code>.tar</code> file.
This example streams the video using the available hardware accelerators and from a MIPI CSI camera:
<pre>
gst-launch-1.0 qtiqmmfsrc ! "video/x-raw(memory:GBM),format=NV12,width=1920,height=1080,framerate=30/1" ! queue leaky=2 max-size-buffers=5 ! qtic2venc control-rate=3 target-bitrate=3000000 idr-interval=15 ! "video/x-h264,mapping=/stream1" ! h264parse config-interval=-1 ! seimetatimestamp ! seiinject ! rtspsink service=8000
</pre>
To receive the stream and display the video, use the following pipeline (Please note that you need to run the command on the board, as it is using the local host):
<pre>
gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8000/stream1 ! queue ! rtph264depay ! video/x-h264 ! h264parse ! queue max-size-buffers=1 ! h264parse ! qtivdec ! xvimagesink
</pre>
To extract and analyze the embedded SEI metadata from the RTSP stream, use the following pipeline:
<pre>
GST_DEBUG=*seiextract*:MEMDUMP gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8000/stream1 ! queue ! rtph264depay ! video/x-h264 ! h264parse ! seiextract ! fakesink
</pre>
You should see output messages displaying the transmitted metadata. An example of these messages is shown below:
<syntaxhighlight lang=bash>
0:00:03.042074730 14884  0x55a9a900c0 MEMDUMP          seiextract gstseiextract.c:299:gst_sei_extract_extract_h264_data:<seiextract0> ---------------------------------------------------------------------------
0:00:03.042123273 14884  0x55a9a900c0 MEMDUMP          seiextract gstseiextract.c:299:gst_sei_extract_extract_h264_data:<seiextract0> The extracted data is:
0:00:03.042169367 14884  0x55a9a900c0 MEMDUMP          seiextract gstseiextract.c:299:gst_sei_extract_extract_h264_data:<seiextract0> 00000000: 55 84 e5 b2 2b 16 00 00                          U...+...       
0:00:03.042204056 14884  0x55a9a900c0 MEMDUMP          seiextract gstseiextract.c:299:gst_sei_extract_extract_h264_data:<seiextract0> ---------------------------------------------------------------------------
</syntaxhighlight>
{{Colored box|background-content-color=#EDF1F7|background-title-color=#98CEFF|title-color=#FFFFFF|title='''Note'''|icon=notice-icon-white.png
  |style=overflow:hidden;
  |content=
Discover more practical examples of using GstRtspSink on this [[GstRtspSink_-_Simple_Examples | page]].
For additional examples of how to utilize GstSEIMetadata, check out the details on this [[GstSEIMetadata/Examples | page]].
}}


<noinclude>
<noinclude>
{{RidgeRun Linux Camera Drivers/Foot|Examples/i.MX8|Expert_Camera_Driver_Services}}
{{RidgeRun Linux Camera Drivers/Foot|Examples/i.MX8|Expert_Camera_Driver_Services}}
</noinclude>
</noinclude>
823

edits