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:
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.