Difference between revisions of "Overview of GPU Accelerated Motion Detection"

From RidgeRun Developer Connection
Jump to: navigation, search
(Created page with "<noinclude> {{GStreamer Qt Overlay for Embedded Systems/Head|next=GPUMotionDetection Overview/Architecture}} </noinclude> {{DISPLAYTITLE:Overview of GPUMotionDetection |noerr...")
 
(Blanked the page)
(Tag: Blanking)
 
Line 1: Line 1:
<noinclude>
 
{{GStreamer Qt Overlay for Embedded Systems/Head|next=GPUMotionDetection Overview/Architecture}}
 
</noinclude>
 
  
{{DISPLAYTITLE:Overview of GPUMotionDetection |noerror}}
 
 
Many applications require showing information on top of images and videos. Take robots, for example, the operator needs to check the navigation data from the robot's GPS and battery status often. Having the robot status information displayed simultaneously with the robot's video stream makes this task easier. The status information could be sent as metadata with plugins like [[GStreamer_In-Band_Metadata_for_MPEG_Transport_Stream|In-Band Metadata]] or [[GstSEIMetadata]] and have an application in the receiver extract the information and render it to display, or alternatively, the information could be drawn into the video frames on the robot, with plugins like [[Fast_GStreamer_overlay_element|Fast overlay element]] and [https://www.ridgerun.com/gstreamer-qt-overlay GstQtOverlay]. This section provides an overview of GstQtOverlay.
 
 
 
GstQtOverlay is a [https://www.ridgerun.com/gstreamer GStreamer] plug-in created by RidgeRun that renders Qt graphics on top of a video stream. This rendering occurs directly onto the GStreamer video frame buffer, rather than in physical graphics memory, with the resultant video having the Qt graphics image merged into the video image. GstQtOverlay brings together the best of the two worlds:
 
 
* Modularity and extensibility of GStreamer
 
* Beauty and flexibility of Qt
 
 
 
With the RidgeRun GstQtOverlay element, GUIs will be available not only at the video display but also embedded in file recordings and network streaming, for example.
 
 
[https://www.ridgerun.com/gstreamer-qt-overlay GstQtOverlay] makes heavy use of OpenGL in order to achieve high-performance overlay rendering in embedded systems. The pixel blitting and memory transfers are done by GPU and DMA hardware accelerators, allowing real-time operation at HD resolutions. As a consequence, the CPU remains free for other processing.
 
 
 
Graphics are modeled using Qt's [http://doc.qt.io/qt-5/qtqml-index.html QML], which enables fast, powerful, and dynamic GUI implementation. QML is loaded at runtime so there is no need to recompile the GstQtOverlay plug-in in order to change the GUI. Having QML independent of the GStreamer element speeds up development time, eases quick prototyping, and reduces time-to-market without impacting performance. A single GstQtOverlay element is able to handle many different GUIs.
 
 
 
In the following subsections you will find:
 
 
* [[GStreamer Qt Overlay for Embedded Systems/GstQtOverlay Overview/Architecture|GstQtOverlay Architecture]]: An overview of GstQtOverlay's architecture.
 
* [[GStreamer Qt Overlay for Embedded Systems/GstQtOverlay Overview/Supported Platforms|GstQtOverlay Supported Platforms]]: The list of platforms supported by GstQtOverlay.
 
* [[GStreamer Qt Overlay for Embedded Systems/GstQtOverlay Overview/Capabilities|Capabilities]]: The input/output capabilities of GstQtOverlay.
 
* [[GStreamer Qt Overlay for Embedded Systems/GstQtOverlay Overview/Properties|Properties]]: Details of the GStreamer properties of the GstQtOverlay plugin.
 
 
<noinclude>
 
{{GStreamer Qt Overlay for Embedded Systems/Foot||GstQtOverlay Overview/Architecture}}
 
</noinclude>
 

Latest revision as of 08:53, 9 February 2023