GStreamer Qt Overlay for Embedded Systems - Examples - User Cases

From RidgeRun Developer Wiki

Follow Us in Twitter LinkedIn Email Share this page


Previous: Examples/Jetson Index Next: Performance






You will find multiple demos provided by RidgeRun in the wiki section. The demos try to show you how you can use our element in different scenarios. Such as sports, security, status data, and much more. To have access to this demo and its source code, you will have to buy the product first. Then you will be able to execute the commands shown below in the examples section.

How to create the demos

Once you purchase the QTOverlay element, follow these steps to run the demos:

1. Go to the examples directory

cd examples

2. Run the download script to obtain the videos used for the demos

./download.sh

3. Go to the demo directory you want to run. In this example we use the tenis demo

cd tenis

4. Each demo directory has a pipelines.txt file that provides example pipelines depending on your platform (x86 or Jetson). Each demo might additionally have a script that can be run to exemplify the dynamic aspects of QTOverlay.

Tennis video example

In this case, we show how you can take a video and perform some tasks, such as changing the player's names and scores. The video is a tennis play, and the changes in the overlay can be done using Python, as is the case in this scenario. To run the Python file, you just have to run:

python3 run_tenis_script

Then the script will request the names of the players, and after that, you can change the scores depending on the player. The changes are done using the labels inside the QML file for this and all the examples we show.


Drone video example

This particular case is so important for those who need to stream real-time conditions, such as battery level, radio communication, and geolocalization. This example doesn't have Python code that changes the properties of the QML file, but you can take the reference from a tennis video or de security video to design an algorithm that fits your needs. Or contact us to assist you in your project.


Nature video example

Nowadays, having weather predictions is so important for a wide range of activities. In this example, we show you that you can perfectly update the information that you want to show in the overlay. In this case, using a sliding text to constantly update the user with relevant information. Look how this case can be reimagined as a video with weather predictions, advice, and any other relevant information about your business on a treadmill for public gyms.


Security video example

The main purpose of an overlay is to show relevant information in a stable and safe way. Our GStreamer QTOverlay element is stable and safe to use in critical applications where the data to be shown in the video output will be exactly what you need in your application. This example is a simple video that shows you the date, hour, available storage, and security status in a user-friendly way. Not everything has to be animated by your computer; you can perfectly use GIF animations to show typical blinking signals, for example, the record status.


Vehicle HUD video example

Being able to dynamically interact with GStreamer overlay graphics is a powerful feature in many use cases. QTOverlay can now handle input events in order to provide user interactivity within a flexible, dynamic interface. Its adaptability makes it ideal for monitoring systems, vehicle HUDs, or training applications, especially when integrated with video or sensor data for a more immersive and informative experience.

In this example we show how a user can interact and customize in real time with a vehicle HUD through keyboard and mouse events. To run this example, follow these steps:

  1. Set up the additional dependencies and the additional build configuration in order to build support input event handling.
  2. Follow these instructions to download the demo video
  3. Checkout the example pipelines in examples/dashboard/pipeline.txt. Two pipelines are provided depending on your platform (x86 or Jetson).
  4. Run the demo pipeline from within the examples/dashboard directory. For best results, make sure your device has a connected display, mouse, and keyboard.

To interact with the demo:

  1. You can use your mouse to move the cursor graphic rendered within the video.
  2. You can place the cursor over the Mode button and left click to change the dashboard display between analog and digital modes
  3. You can place the cursor over the Enter logfile name to preview ... text input field and left click. This will allow you to use the keyboard to enter the name of a logfile.



Disclaimer

Support for special keys (such as Shift, Control, Tab, CapsLock, etc.) is currently a work in progress.

If you require assistance regarding this matter, contact us at support@ridgerun.com

Interacting with a Gstreamer Application

We also provide some python scripts to show how users can invoke the QTOverlay qml-notify Gstreamer signal from within the QML source. This signal can be called with a string argument, which allows users to codify and exchange information between the QML and a Gstreamer Application.

From within the examples/dashboard run these commands depending on your platform:

For x86:

python3 dashboard.py

For Jetson:

python3 dashboard.py --nvidia

These scripts run the same dashboard demo, but every time the user changes the dashboard mode, or enters a logfile search query, the QTOverlay qml-notify signal gets emitted and captured from the Python script, which then prints the string argument recieved through the signal.


Previous: Examples/Jetson Index Next: Performance