Skip to content

OpenHD/QOpenHD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

21bb13d · Mar 2, 2025
Mar 2, 2025
Oct 17, 2024
Mar 11, 2024
Mar 2, 2025
Dec 13, 2019
Jul 23, 2020
Aug 5, 2020
Mar 2, 2025
Oct 9, 2019
Jan 21, 2025
Apr 5, 2024
Feb 18, 2024
Nov 25, 2020
Sep 19, 2022
Dec 9, 2021
Jun 15, 2024
Sep 2, 2023
Mar 11, 2024
Feb 20, 2025
Dec 29, 2024
Dec 26, 2023
Dec 29, 2024
Mar 23, 2024
Jun 23, 2020
Sep 9, 2023
Jun 25, 2024
Mar 1, 2024
May 15, 2023
Jul 14, 2024
Jan 23, 2023
Feb 26, 2024
Mar 1, 2024
Sep 19, 2022
Mar 2, 2025
Aug 14, 2023
Apr 7, 2023
Jan 15, 2023
Jul 22, 2022

Repository files navigation

QOpenHD

QOpenHD is the default OpenHD companion app that runs on the OHD Ground station or any other "external" devices connected to the ground station.

It is responsible for displaying the main video stream to the user, composed with the OSD, and changing OpenHD settings.

As the name suggests, it is based on QT (5.15.X) and will not run on older versions.

temporary_screenshot

Developer Design Overview (incomplete)

  1. QOpenHD is not OpenHD (main). It can communicate with a running OpenHD main instance (ground and/or air) via Mavlink and receives the (primary / secondary / ++) video streams.
  2. While QOpenHD is the default companion app, OpenHD MUST NOT assume there is a QOpenHD instance somewhere that initiates voodoo settings / setup processes. This is in contrast to OpenHD/QOpenHD releases before the "evo" series. As a result of this limitation, both OpenHD and QOpenHD can be developed independently from each other, making debugging easier.

Installing

Like every OpenHD app or module, we publish packages into our Cloudsmith Repository. There are Packages for X86 (ubuntu 22.04,23.04), armhf (rpi, arm64 rockchip). Android releases are available on the Playstore and can be downloaded from there.

Compiling

We have a CI setup that checks compilation on Ubuntu. You can review the steps it performs to build and run QOpenHD. Other platforms than Linux are not supported at the moment.

Building QOpenHD Locally in QT (CURRENTLY UNDER DEVELOPMENT)

Mac

  1. Install Xcode from the Mac App Store.

  2. Install Qt using the Qt online installer.

  3. Download Qt 5.15.0+ for Mac and Qt Creator using the Qt Installer.

  4. Clone the source code:

    git clone --recurse-submodules https://github.com/OpenHD/QOpenHD.git
    

    If you use a GUI git client, ensure you update the submodules or QOpenHD won't build properly.

iOS

  1. Install Xcode from the Mac App Store.
  2. Install Qt using the Qt online installer.
  3. Download Qt 5.15.0+ for iOS and Qt Creator using the Qt Installer.
  4. You'll need an Apple developer membership to install directly on an iOS device.
  5. Clone the source code as mentioned earlier.

Windows (CURRENTLY UNDER DEVELOPMENT)

  1. Install Visual Studio 2019 (free).
  2. Install Qt using the Qt online installer.
  3. Download Qt 5.15.0+ and Qt Creator using the Qt Installer.
  4. Download the GStreamer development kit for Windows, both the Runtime and Development packages (32-bit MinGW packages, version 1.14.4). QT will look for gstreamer in c:/gstreamer/1.0/x86.
  5. Clone the source code as mentioned earlier.

Linux

QTCreator

  1. Install Qt using the Qt online installer.
  2. Have it download Qt 5.15.0+ for Linux.
  3. Install GStreamer development packages from the package manager (e.g., on Ubuntu, run apt install gstreamer1.0-gl libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev gstreamer1.0-plugins-good libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-qt libxcb-cursor0).
  4. Clone the source code as mentioned earlier.

Manual via qmake

  1. Clone the source code.
  2. Run 'bash install_build_dependencies.sh ARCHITECTURE' (ARCHITECTURE can be X86, rpi, rock5).
  3. Run 'build_qmake.sh'.
  4. Find the binary under build/releases/QOpenHD.

Android

  1. Install Android Studio.
  2. Install Android SDK level 28 and NDK r18b using Android Studio.
  3. Install Qt using the Qt online installer.
  4. Download Qt 5.15.0+ for Android (not for the OS you're building on).
  5. Clone the source code as mentioned earlier.

Building QOpenHD

Step 1) clone this repository with --recurse-submodules Step 2) install all dependencies Step 3) recommended - open in QT creator. Otherwise, you can build QOpenHD via the command line:

mkdir build
cd build
qmake ..

Contributing

Thanks to all the people who have contributed !

Contributors