Camera Signal Isolation and Compression

Hi! New here, and new to using the BlueRov2. For my application, I was hoping to isolate and compress the video signal from the camera before it is sent to the ground control computer. The video would then be decompressed at the ground control computer, but QGroundControl would not necessarily be needed to view the signal. (Essentially I’d like to decouple the video signal from the rest of the signals being sent to QGroundControl).

HI @marshall_lee, welcome to the forum :slight_smile:

The video stream is already compressed (using H264 compression), and is already sent on its own UDP port (5600 by default), independently of the telemetry and other signals. There are a few different ways of receiving it outlined here.

Feel free to ask follow ups if something isn’t clear, although it would likely be helpful if you specify what you’re actually trying to achieve (the end goal), rather than just the step you’re currently stuck on (which may not be on the best path to achieving the end goal).

Hi Elliot,

Thanks for the response. Here is the larger scope: I’m trying to establish control of a BlueRov using a satellite link, rather than a hardwire connection. The goal would be to have the person in control of the ROV on land, while the ROV was deployed to a buoy/etc somewhere in the ocean. So the signal flow would look like this:

[ROV] <–>[Tether]<–> [Fathom board on surface]<–>[Additional small computer (?)]<–>[Satellite Uplink/Downlink]<–>[Topside Computer]

The main issue here is the video signal. The bandwidth for the satellite link is on the order of kilobytes/sec, so I’m presuming that the video signal will need to be additionally compressed in order to be transmitted. If you knew the bitrate for the existing compressed signal, I could re-evaluate the need for additional compression, but I’m currently expecting to have to take this step.

Thanks!

Our Low-Light HD USB Camera does the H264 compression onboard, and we unfortunately don’t have direct control over the bitrate. From previous investigation the firmware tries to maintain the bitrate (presumably while increasing quality) until very small frame sizes and low frame rates, and even then it’s still in the Mbps range.

You’ll likely need either a different camera (with fine-grained bitrate control and/or more efficient compression (H265?)) and/or a custom streaming system.

It’s worth noting that compression only goes so far, and at some point you can’t send information without significant losses of data (H264 is already quite lossy compression).