Autorun using RPi4 streaming to view with a Windows workstation

Hi guys,
I’ve received the four DWE cameras, and have started to try and figure out how to make this all work. I am not a software developer, but I’m hoping this is possible: Use a dedicated RPi4 with 3, maybe 4 DWE cameras connected. The existing BR RPi3b will continue to just run the ROV control stuff. RPi4/gstreamer auto starts on powerup. Then some kind of Windows app to view the multiple streams. OBS maybe? Although I looked at OBS, and couldn’t figure out how to load gstreamer as a plugin??

I tried the DWE QGround control/BR Companion v1-6. Setup the video streams in the companion, and made the connection in QGC. No video in either the QGC, or the multi view window. Maybe because there isn’t the APM connected?

Thanks, Ken

2 Likes

Hello!

The 2 software we recommend for viewing streams other than are OBS and VLC player. We recommend OBS because it allows you to lay it out and do high quality recording.

To receive multiple streams in OBS, you will need to install gstreamer properly.

Instructions can be found here:
https://docs.rocos.io/prod/docs/gstreamer-on-windows

You will also need to install the gstreamer plugin for OBS by putting the dll in the plugins folder of OBS.

Installation instructions:

The quickest way of automatically running gstreamer on the RPi would be to use ArduSub Companion. The new Companion Beta from BR will allow you to setup multiple streams very easily.

Check it out here:
https://docs.bluerobotics.com/ardusub-zola/software/companion/1.0/

In the future, we will work on our own RPi image that just focuses on streaming to make the latency lower. We found that when we use RPi 3 or lower, we need to make the 2 streams 720p in order to get the lowest latency.

In regards to you not receiving video on the topside computer, can you send us a screenshot of the WebUI in the video streaming settings? The video stream should happen even without the PixHawk connected.

Thanks!

2 Likes

Thanks Joseph,

I was able to load OBS, and the gstreamer plugin. No joy yet. I have attached the BR companion Video screen setting, the OBS gstreamer setting. I have added UDP port 5600 to the McAfee firewall.

Setup is RPI4 with one DWE camera connected. Straight network cable to a Windows11 laptop.


2 Likes

Hi there @kdeboer ,

I noticed in your screenshot of the pipeline in obs you are using the gst-launch command. For the OBS pipeline it is required to use

udpsrc port=5600 ! application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264 ! rtph264depay ! avdec_h264 output-corrupt=false ! videoconvert ! video.

for the pipeline instead, without the gst-launch-1.0 portion. Try this out and let us know how it goes!

2 Likes

Hello @kdeboer,

I also notice another issue! For the WebUI you need to set the port to udp://192.168.2.1:5600. For some reason the default is 0.0.0.0.

Hope that helps!

2 Likes

Thanks guys!
Those two recommendations worked. Now its time to slowly scale up.
Cheers!
Ken

4 Likes

Glad to help! :smiley:

Now that you have verified it working with obs, we recommend for you to try out our fork of QGroundControl. Although it is still in development, it tends to be easier to use since it will work out of the box with multiple cameras and will be seeing some major updates soon. However, it is entirely up to you how you want to proceed, since flexibility is one of the major benefits of the exploreHD!

3 Likes

Happy Holidays!

Since you were discussing about having an external pi with the sole purpose of streaming and potentially using an Ethernet switcher for the other Pi to control the ROV, we thought you may find this useful :slight_smile:

https://docs.exploredeepwater.com/guides/pi_setup.html

Recently, we worked on a step to step guide on how you can setup a fresh Raspberry Pi with the sole purpose of streaming multiple videos with our exploreHD ROV camera. While this was initially designed specifically for MATE ROV teams who may want to use our ROV Camera, we thought you may be interested too! Since this will delicate the Pi to only video streaming, you may get better performance and less latency compared to using ArduSub Companion.

Also, we finished our guide with how to setup OBS that you can check out!
https://docs.exploredeepwater.com/guides/ardusub_companion.html#receiving-multiple-streams

Hope these documentation helps!

3 Likes

Ken, are you in the water yet?
Bob

1 Like

Hello!

Hope everything is going well with your setup! Since you are using multiple camera streams, our recent software may be of interest to you. It allows users to adjust bitrate of multiple streams and installs alongside ArduSub Companion.

Here it is!

Thanks!

1 Like