Additional external camera

Get it touch if you run into any issues and please feel free to share your build when it is done!

Is it a native IP camera or are you planning to use a DSLR or similar?

Not a native IP camera, I have a SONY action camera (a good one) available.

If your tether is shorter than 50m, I’d use an HD-SDI camera and send the signal over a twisted pair using Muxlab baluns. You can do all the live processing on the surface.

Many Thanks but I will use a 300m long tether, the target of the hob is at 80m depth.

Interesting! I’ve done more or less the same thing, but using a GoPro 7 Black.

I’m using a Febon video capture card, like this one: USB2.0 FEBON168 UVC driver free HDMI capture card

Using “mjpeg streamer” on a Raspberry pi, the power consumption is very low and the CPU usage on the Rpi is 1-2 %. This means the battery powering the camera and Rpi lasts for several hours. Mjpeg streamer outputs the video stream on a separate network, like you’ve built.

However, I’ve run into some problems:

  • I’ve tried several ways of controlling the camera via the Rpi, but have had no success so far. The GoPro doesn’t seem so willing to connect to the Rpi’s wifi- or bluetooth network, and even if it does, it often breaks connection. Also, finding some software to control the camera wasn’t too easy either.

  • The camera stream has a delay of around 2 seconds. This means it’s almost impossible to use the camera stream for composing shots and flying the ROV in any sensible way. I’ve also run into networking issues, where having the camera-network and the standard ROV-network on the same switch and then connected to the mac I’m using to control the ROV would lead to both networks not working. In other words I was unable to connect to the ROV and couldn’t connect to the camera stream. Having the two networks connected directly to the mac via ethernet to thunderbolt-connectors works, however.

  • Changing the quality in mjpeg streamer on the Rpi (in the hope of lowering video latency and bandwith usage) does nothing. I guess the program just outputs whatever is put in.

thank you very much for sharing your project. it will be very useful for me, I’m not able to use the usb/ip project and I will try with the jpeg streamer solution. I will think about control the camera in another occasion.

A pleasure! If you try mjpeg-streamer, please report back how it works. As I said, I’m getting quite a lot of delay, so I’m trying to find another solution. I’ve tried this: Low Latency Raspberry Pi video transmission - Altax US Consultancy - but since I’m not using the rpi-camera, I’ve not succeeded so far — probably because I’m not good enough with the rpi and shell commands.

Oh, and by the way: I said I had som trouble with the dual pair of Fathom X-networking boards not wanting to talk via the same switch: I found this thread which helped with that: Dual Fathom-X Crosstalk

The solution was to have just one Fathom X-board receiving the data from two boards: i.e. two Fathom X-boards in the ROV talking over the same single twisted pair can be read by a single Fathom X-board topside. I didn’t know that.

Just to bring an update to this.

Instead of mjpeg-streamer I tried using Dicaffeine for Raspberry pi:

This sets up an NDI stream over a local network, which can be viewed by for instance VLC or NDI Viewer on your control PC — or even another Raspberry Pi connected to a monitor.

This gave me very low latency video when I tested it on my desk, but once I connect it all via the ROV network, the delay is back to 2-2.5 seconds, i.e. not really useable.

… edit…
I then tried with a different camera: the GoPro Hero 8, instead of 7. This gave me more or less delay free video!

In other words there is something about the Hero 7 that makes the video output lag. The trouble is that the Hero 8 needs a cumbersome “media mod” to have HDMI out, which makes it a tight squeeze to fit it in the ROV’s 4’’ tube.

Was stabilization turned off on the Hero 7? The onboard processing adds delay to the video feed (on any of the GoPro cameras with this feature)

Maybe I’m not right person to make twist in project but if you are doing photogrammetry project maybe you should consider 2x gopro with domes and continous video recording.

1 Like

Thanks a lot for the hint on the delay induced by having stabilisation active on the GoPro! We find the stabilisation absolutely crucial for getting usable footage. However, the GoPro 8 seems to work fine even with stabilisation turned on.

As for the media mod, I’ve modded it — so that it is now much smaller. All one needs in the ROV is the HDMI out and USB power in, so one can really get rid of the rest of the plastic.

As for the photogrammetry we haven’t yet had the chance to test this via the ROV. We suspect it might be better using the timelapse mode on the GoPro, especially since this might give faster shutter speeds. However, we’re open to suggestions - and your results look very good, Vectrino!


@Skredfare I’m new to BlueROV2s but I’m interested in using them to film wildlife at 4k, I was wondering what your thoughts were on modifying and using the Hero9, or even mounting something like a GH5S (in a housing) on the skids.

1 Like

Well, seems like we’re in the same business, Ed!

GoPro is just an interim solution for us, to test the best methods of video transfer etc. The Hero 9 seems like a very nice camera, and I’m particularly fond of the pre-roll recording setting, which is very useful for wildlife filming. Since the camera still uses the Media Mod, I guess you’ll be able to do like I’ve done: tear it apart and thereby shrinking the overall size to fit inside the 4’’ tube.

As for the Gh5 or other such cameras I guess a Nauticam housing for the camera can be mounted, but they’re expensive and will, I guess, create a lot of drag. Another solution is to use a 6’’ tube, provided the camera will fit. This is something I’m working on for getting a Blackmagic Design Pocket Cinema 4k camera mounted to the ROV.

1 Like

@Skredfare Thanks for the reply, very much appreciated. You’re not, by chance, working on housing the Blackmagic with a chap called Espen are you?

Happy to be of service!

By chance, yes I am! :slight_smile: you know him then, I take it?

Ha! Very small world, I spoke to him last week. Perhaps it might be worth looking if there is a solution to the Blackmagic issue. We’re looking for a ROV drone next year for some shoots.

Having done a bit more testing, I can confirm that adding hypersmooth to the mix greatly increases delay from the GoPro hero 8 as well if the camera is recording video.

However: the GoPro hero 7 has a 2-2,5 second delay, even if the camera is not recording. The Hero 8 has a 2-3 second delay when hypersmooth is enabled AND the camera is recording.

If the Hero 8 is merely on, and hypersmooth is enabled, the output from the HDMI-port has low latency.

I have built something along these lines. I had some of the same requirements as you guys for a GoPro that can be viewed live on the surface while it is recording to monitor the status, and also to fully control the camera (on/off/start/stop/change modes/etc…) remotely via rs-232 or 485.
I know its old tech now, but I heavily modified the Hero4 black to reposition the image sensor to be inline with the enclosure, make all controls available remotely, live video out (CVBS), add heat-sinking to the camera, powered externally (7-32vdc), internal battery backup (UPS) in case there is power loss it will gracefully shut down, and a compact housing designed for well over 2000’ depth.
I made a number of these for different projects and plan to make about 15 more at the end of the year.
They can run a user defined script to operate however you want. For example it can power up/down with the ROV power and automatically start/stop recording for simple hands off operation. It can be manually controlled from the surface controller, or it can perform more complex routines, such as power up take a photo and then record a video for 5 minutes, then power down, and repeat that every hour for as long as the SD card lasts.
I have put seacon connectors and BR penetrators on them, and just built one with the Blue Trail connector, which works well.
The next version may also include a small plug to remove the SD card without opening the housing.
The overall dimensions are about 6.5" x 3" x 3".
These work great for science, and I also use them on my towed camera sleds, as well as some other very deep water applications.
If anyone is interested in more info let me know.


Or you could buy one of these…

Live video out, low latency (ms), 4K recording on SD card.

1 Like