[Showcase] QGC custom build extension for iLive video under weak networks

Hi everyone,

We released a QGroundControl custom build extension for receiving and displaying iLive real-time video streams in QGC Flight View.

GitHub:

Demo video:

Current scope:

  • QGroundControl v5.0.8 baseline
  • Linux x86_64 source build
  • 1 to 8 iLive video streams
  • grid and primary-plus-thumbnails layouts
  • decoded BGRA/RGB24 frame rendering through the iLive C player API
  • stream URLs configured through local iLiveVideo.json
  • optional startup selection between iLive and QGC native GStreamer backend
  • upstream QGC checkout remains unchanged; composition happens in a separate worktree

Motivation:

Many UAV systems already use QGroundControl and do not want to maintain a heavily modified ground station. The goal of this project is to provide a cleaner custom-build path for resilient real-time video under weak, unstable, or asymmetric wireless links.

The demo compares RTSP and iLive video playback in QGroundControl under controlled weak-network conditions.

Limitations:

  • this is not a runtime-loadable QGC plugin
  • the proprietary iLive SDK is not included and must be obtained separately
  • current release does not include remote bitrate control, stream-priority control, or iLive data/MAVLink bridging

SDK / integration contact:

iliveio.dev@gmail.com

We would appreciate feedback on:

  • whether this custom build approach aligns with QGC best practices;
  • compatibility concerns around QGC v5.x;
  • better ways to structure multi-stream video display in QGC Flight View;
  • whether there are existing QGC video integration patterns we should align with more closely.

Thanks.