Choppy Video and Connection issues

Hello. I have set up a BlueROV2 with Heavy Configuration Kit. It has been running nicely for about a week, but today I have faced some problems regarding the camera and some connection issues.

The video feed is very choppy. It runs with good resolution and framerate for about half a second, before freezing for multiple seconds. I have tried adjusting settings in BlueOS, but I haven’t seen any noticable difference in performance despite any changes in settings. When I first set it up, the camera was a bit choppy/laggy but usable, but today it is very poor.

In addition to the choppy video feed, it seems like the connection is broken for a brief moment every 5 seconds and I can see that the heartbeat message is not received. The ROV also constantly disarms.

Earlier today, I was performing some indoor testing, and the ROV was connected indoors for about 2 hours with the valve plugged in. This seems to have caused the CPU to overheat, and I clocked the temperature at 70 degrees. Heating in such an environment seems to be expected based on this thread: Overheating issue BlueOS - #2 by Sakthivelj

Could the overheating be the issue? Even after cooling down, the constant disconnecting persists. Is it possible that it can have caused permanent damage? If not, what else could cause this behaviour and how do I fix it?

Hi @Zukane -
Welcome to the forums!
Sorry for the issue…
You should definitely avoid running your ROV sealed on the bench for very long, overheating can be an issue for an underwater vehicle on land!

It sounds like your system may be suffering from a damaged camera. When was it purchased? It could be affected by technical bulletin 12…

Performing a network test is a good idea to verify the tether is ok, and installing the tether diagnostic extension and sharing a screenshot of the extension page showing the tether connection health is also a good troubleshooting step!

Can you share what version of BlueOS and ArduSub you’re running?

@tony-white coming to this thread because I am having similar issues with my video feed.

Hi @andrewkwolek -
Have you followed the advice given? Do you have a screenshot of a network test and the tether diagnostic extension? Have you verified your camera is affected by Technical Bulletin 12?
The video looks ok, but it’s hard to tell with your map as the larger size. I would guess the occasional pauses could be a result of your computer not being powerful enough - can you share its specifications?

Trying Cockpit may be better to, it improves video performance significantly, especially if you change the stream to RTSP (instead of UDP)

@tony-white Understood. I think I have a pretty powerful computer, but maybe I’m running too many apps. I ran a network test and it seemed to be fine. I don’t have an exact number, but can get you one. I have not tried the tether diagnostic extension.

We ended up fixing it by downgrading to an older version of BlueOS (not entirely sure which) and changing the video encoder to directx11

But looking at the video you shared, your camera feed looks completely fine. In our case, we sometimes had still frames for multiple seconds

1 Like

Hi @Zukane -
Downgrading BlueOS should not be necessary - 1.3.1 is the best option currently.

I would guess QGround Control was not properly using your GPU!

I also have had the issue of the video freezing for about 5 seconds every 20 seconds or so. I replaced the camera itself a few months ago and the problem seems to have disappeared, but I have only used it 5 or 10 times since then. The video also seems to be a little sharper with the new camera.

Hi, I’m also facing the same issues. Currently I’m developing my own monitoring dashboard (integrating optical from H264 USB camera + sonar fromPing360 livestream). I’m developing it using OpenCV2 library with Python programming language.

Currently I set up the camera stream to RTSP to establish a connection between the camera & my dashboard app (Another issue is I couldn’t open Cockpit from BlueOS).

I also configured a UDP communication link to export the MAVLink reading into my dashboard app to get ‘depth‘ reading.

Based on suggestion from above discussion Network Test, I have done the Local Network Speed and Latency Test.

I wanted to try use the ‘tether diagnostic‘ extension mentioned from Tether Diagnostic extension, but it seems that I couldn’t find it on my BlueOS (This is another issue which I couldn’t search any extension from my BlueOS).

Other than that, I got an error notification on my BlueOS upon accessing it right after I connected the BlueROV2 with my laptop.

I also got some kind of error notifications on my QGroundControl while the ROV is connected.

Here are the versions of software that I’m using:

  • ArduPilot: 4.5.3
  • BlueOS: 1.4.2
  • QGroundControl: v5.0.8 64bit

Really need your assistance at the earliest! Thank you in advance!

p/s: Since I’m a new user, I couldn’t share related pictures and videos to help you understand my issue clearer. Really appreciate if we can schedule a virtual meeting session.

Hi @amadeusz -
Welcome to the forums!
From the sound of it, your BlueOS installation has an issue and can’t reach the internet, or the WiFi network you’re connecting BlueOS to (via the WiFi icon in the upper right) isn’t providing it internet. If you think you are connected correctly, then your best bet is to re-flash the SD card with BlueOS, this should resolve the issue and let you install the Tether Diagnostic extension.

You did not share the results of your network test? You also mention errors, but do not provide screenshots or their text - this makes it basically impossible to assist!

The errors you see in QGC are likely because you are using a newer version than Blue Robotics has tested or recommends - we ceased considering QGC after version 4.2.8 as mentioned in the Technical Reference.

I’m interested in why you’re developing your own dashboard - Cockpit was designed from the ground up to be as customizable as possible, and in terms of dashboards the plotter widget (and many others) can be quite useful. It’s also possible to visualize the Ping360 data in Cockpit with a widget from the PingViewer Next extension.

If you’d like to talk with a member of the support team, the forums are not the way to go about that. Report a problem with a product in the help center !

I tried to attach photos & videos, but I got this response: ‘An error occurred: Sorry, new users can only put one embedded media item in a post.‘ For the results of my network test, I got ‘55.68 Mbps’ on download and ‘56.74 Mbps’ on upload.

Continuing our discussion, I was also suspecting with the internet connection issue. But when I looked at the WiFi icon in the upper right, it showed ‘connected‘.

In addition with that, on Network Connection, I enabled ‘‘Allow other network users to connect through this computer’s internet connection” and select the ROV’s ethernet on “Home Networking Connection” from the WiFi that I’m currently using. This resulted in the change of BlueOS’s IP Address from 192.168.2.2 to 192.168.137.1. After that, I couldn’t open the BlueOS thru ‘192.168.2.2’ and even ‘192.168.137.1’. The solution that I managed to discover is by using ‘blueos.local’ to access the BlueOS (and this time I could access the ‘Extension’ module, downloaded ‘Cockpit Lite‘ and launch it without lagging issue).

To answer your question on why I’m building my own dashboard, it is because currently I’m trying to integrate ‘rope detection’ functionality using OpenCV2 and Underwater Object Detection AI Model (by the way, I’m a final year student and this project is for my final year project). If you know better approaches to achieve my goals, feel free to share!

Thank you.

Hi @amadeusz
Glad you resolved your networking issue, albeit in a strange way. The bandwidth you’re getting seems nominal. You’ve shared your computers Internet connection over the Ethernet interface to the vehicle, and changed the default IP address as well. I’d suggest adding a static IP for the default address so you don’t have issues when using- you can do this in the upper right corner of BlueOS by clicking on the network icon, add static IP, and 192.168.2.2 .

Cockpit Lite has limitations around video recording and control of the system when the browser tab is not in focus. Most users prefer the standalone version…

For your application, you could develop a BlueOS extension that runs your opencv code, and makes a web dashboard. You can embed this dashboard in Cockpit via a iframe widget. You may find the Pi doesn’t have sufficient CPU to effectively run the model, typically a video stream is processed on the topside computer as a result- you could run your software there and still embed the dashboard in Cockpit, without the development overhead of a BlueOS extension…

1 Like

Hi @tony-white
I’m using BlueOS version 1.4.3. On Extension, there’s only Cockpit Lite, but I want to use the standalone version. Kindly assist me!

Thank you.

You can download the relevant version for your system from the installation page in the documentation :slight_smile:

Hi Eliot,

I managed to download and launch Cockpit standalone (for BlueROV2 navigation) alongside with my app. During deployment of my app (Cockpit is running on background, BlueROV2 is deployed underwater and connected on RTSP stream), I noticed that:

  1. the stream is sometimes a bit lagged
  2. communication between my Xbox controller and Cockpit was having latency issue (late response when piloting the BlueROV2)
  3. BlueROV2 sometimes disarmed automatically

But when I open both of Cockpit and my app in split screen (side-by-side), all mentioned issues happened seldomly. Is there any solution to ensure that the RTSP stream and BlueROV2 connection reach a stable state when running Cockpit standalone on background?

p/s: I couldn’t upload the footage since I’m new user. Appreciate if we can communicate through other mediums like email for better understanding of my situation.

Thank you!