Gstreamer QT Overlay: Difference between revisions

From RidgeRun Developer Wiki
(Created page with "= Overview = GstQtOverlay is a GStreamer plug-in that renders QT graphics on top of a video stream. This rendering occurs directly into the image buffer, rather than in phys...")
 
No edit summary
Line 9: Line 9:


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 plug-in in order to change the GUI. This speeds up development time, eases quick prototyping and reduces time-to-market without hurting significantly performance. A single GstQtOverlay is fit for many different GUIs.
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 plug-in in order to change the GUI. This speeds up development time, eases quick prototyping and reduces time-to-market without hurting significantly performance. A single GstQtOverlay is fit for many different GUIs.
__TOC__


= Architecture =
= Architecture =


GstQtOverlay's architecture is summarized in Figure 1.


 
[[File:Qtoverlay-arquitecture|framed|center|GstQtOverlay Architecture]]
= Quick Start Guide =


= FAQ =
= FAQ =


* ''''Can I use external events to interact with my GUI?''''
* '''Can I use external events to interact with my GUI?'''
Yes. See X
Yes. See X


* ''''Is QML enough for my GUI?''''
* '''Is QML enough for my GUI?'''
Yes (most likely). QML support is great, there's a lot of documentation and examples available.
Yes (most likely). QML support is great, there's a lot of documentation and examples available.


* ''''Can I create my own custom QML components?'''
* '''Can I create my own custom QML components?'''
Yes. See [http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html this guide].
Yes. See [http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html this guide].


* ''''Can I use animations?''''
* '''Can I use animations?'''
Not yet. We expect to support this in future releases
Not yet. We expect to support this in future releases


* ''''Does my HW support GstQtOverlay?''''
* '''Does my HW support GstQtOverlay?'''
Check X
Check X


= Examples =
= Examples =

Revision as of 21:23, 7 February 2017

Overview

GstQtOverlay is a GStreamer plug-in that renders QT graphics on top of a video stream. This rendering occurs directly into the image buffer, rather than in physical graphics memory, which brings together the best of the two worlds:

  • Modularity and extensibility of GStreamer
  • Beauty and flexibility of QT

Now, GUIs will be available not only at the video display, but also on file recordings and network streaming, for example.

GstQtOverlay makes heavy use of OpenGL in order to achieve the overlay rendering with high performance. The pixels blit and memory transfers are done by the GPU and DMA accelerators, allowing real time operation at HD resolutions. As a consequence, the CPU remains free for other processing.

Graphics are modeled using QT's QML, which enables fast, powerful and dynamic GUI implementation. QML is loaded at runtime so there is no need to recompile the plug-in in order to change the GUI. This speeds up development time, eases quick prototyping and reduces time-to-market without hurting significantly performance. A single GstQtOverlay is fit for many different GUIs.

Architecture

GstQtOverlay's architecture is summarized in Figure 1.

File:Qtoverlay-arquitecture
GstQtOverlay Architecture

FAQ

  • Can I use external events to interact with my GUI?

Yes. See X

  • Is QML enough for my GUI?

Yes (most likely). QML support is great, there's a lot of documentation and examples available.

  • Can I create my own custom QML components?

Yes. See this guide.

  • Can I use animations?

Not yet. We expect to support this in future releases

  • Does my HW support GstQtOverlay?

Check X

Examples