mavlink / qgroundcontrol

Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)
http://qgroundcontrol.io
3.34k stars 3.65k forks source link

How does QGroundControl achieve low latency in video streaming? #12069

Open GarudaNCT opened 2 weeks ago

GarudaNCT commented 2 weeks ago

Hi there,

I am working on a Flutter application to stream video from a drone, and I have been using GStreamer to handle the video stream. Specifically, I am using the GStreamerSurfaceView to display the video feed on the Android platform UI. However, I am experiencing noticeable latency, even with relatively high frame rates, and I am trying to understand how QGroundControl is able to achieve such low latency when displaying the video stream.

Could you please share which technologies, libraries, or techniques QGroundControl uses to achieve such low latency in video streaming? Specifically, I am interested in the following:

Are there any specific libraries integrated for video decoding/rendering, such as FFmpeg, GStreamer, or something custom-built for this purpose? What settings or optimizations are applied to minimize latency, especially in terms of buffering or frame rate? Any insights would be greatly appreciated!

Thanks in advance for your time and help!

Best regards, Garuda