Issue with RTSP Video Stream in QGroundControl: Decoder Warnings and Poor Performance

I am experiencing an issue with RTSP video streaming in QGroundControl. Whenever I move the camera, the video freezes, becomes slow. Additionally, the following warning appears repeatedly in the logs:
“** (QGroundControl:2): WARNING **: [Time]: v4l2h265dec0: Too old frames, bug in decoder – please file a bug”
The issue is consistent whenever there is movement in the video feed.

I understand that QGroundControl utilizes GStreamer for video streaming. To isolate the issue, I tested the RTSP stream independently using the following GStreamer pipeline in the terminal:
“gst-launch-1.0 rtspsrc location=rtsp://192.168.144.25:8554/main.264 ! decodebin ! autovideosink”
With this pipeline, the video quality is smooth, and there are no errors or freezes, suggesting that the problem may be specific to QGroundControl’s handling of the video stream.

Could you please provide guidance on resolving this issue? Specifically:

  1. Is there a way to adjust or override QGroundControl’s GStreamer pipeline to mitigate this problem?
  2. Could this issue be related to the decoder configuration, latency, or format handling within QGroundControl?

Please let me know if you need additional information or logs to help troubleshoot this issue.

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

I’m sorry to hear about the issues you’re experiencing with RTSP video streaming in QGroundControl. Given that your independent GStreamer test runs smoothly, it seems the problem may lie within QGroundControl’s handling of the GStreamer pipeline.

Here are some steps you can take to address this issue:

  1. Adjust GStreamer Pipeline in QGroundControl:

    • QGroundControl uses GStreamer for video streaming, and it might be possible to adjust the pipeline configuration. Check QGroundControl’s settings or configuration files to see if you can modify the GStreamer pipeline parameters. Optimizing the pipeline for your hardware, such as enabling hardware acceleration, could help.
  2. Review Decoder Configuration and Latency:

    • The warning message suggests a potential issue with the decoder. Investigate if QGroundControl allows you to configure decoder settings, such as buffer sizes or latency parameters, which might help mitigate the issue. Reducing latency settings, if possible, could alleviate delays and freezing.
  3. Utilize GStreamer Tools for Debugging:

    • Use tools like gst-inspect-1.0 to examine the properties and capabilities of the GStreamer elements used in QGroundControl. This can help identify any misconfigurations. Testing different pipeline configurations with gst-launch-1.0 outside of QGroundControl might also improve performance.
  4. Ensure Hardware Acceleration:

    • Verify that your setup is using hardware-accelerated decoding, which can significantly enhance performance, especially if you’re using a Toradex module with a Video Processing Unit (VPU).

By following these steps, you should be able to identify and resolve the issues with RTSP streaming in QGroundControl. If the problem persists, further exploration of configuration options or testing with different versions of QGroundControl or GStreamer plugins might be necessary.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Gst-launch-1.0 video playback fail on verdin-am62.

Hi @Abdullah

Sorry for the delay. Were you able to solve this problem?

Well… if it is working as expected with GStreamer, it’s kind of hard for us to help as we are not really familiar with QGroundControl.

One suggestion could be to decouple the control and image streaming, as I understood they are independent of each other right? That way you can use the QGroundControl for Ground Control and the GStreamer pipeline for Streaming.

QGC is using the GStreamer pipeline, and there is no issue with that. I resolved this error by using a newer version of QGC and configuring the GStreamer pipeline in its source code.
Thanks anyway,
Abdullah