Hi @rmackay9
Can you share screenshots of your video widget settings, and the cockpit video settings? You should be able to see what streams are available under Cockpit’s video streams configuration, and set the appropriate one for your video widget in the interface configuration of the video widget (gear icon in the screenshot you shared.)
Is the video stream from your camera you’re trying to use H264? It’s interesting your video IP appears to be on a different subnet than the Pi running BlueOS - 192.168.87.28 vs. 192.168.144.20 - this could also be causing issues? Typically both the camera and the Raspberry Pi are on the same subnet (192.168.2.X)
I also notice your CPU is being throttled in your screenshot, from the icon in the upper right… does it have a sufficient voltage supply?
Thanks very much for your help. I’ve got the fake source and Siyi A8 appearing in cockpit now!
What was wrong was that somehow the “Allowed WebRTC remote IP Addresses” field was “192.168.144.20”. Once I cleared that so it’s “Enabled auto-retrieve of allowed IP addresses” the video appeared! I’m not sure if I accidentally filled in the field or if it was set by default. I feel like it was set by default but maybe I’m wrong.
RPI5 CM : 192.168.144.20
Siyi A8: 192.168.144.25
CubeOrange: 192.168.144.15
The RPI5 CM is also connected to my local Wifi router so this is why it also has the 192.168.87.37 IP address. My PC’s local IP is 192.168.87.28.
At some point, I’ve been meaning to ask if BlueOS might be willing to change its default IP address on ETH0 to be 192.168.144.x to make configuration easier. ArduPilot’s default IP address is 192.168.144.14 (or 15) and most ethernet camera gimbals and telemetry systems (herelink, Siyi MKx, etc) also use the 192.168.144.x subnet. Anyway, this is a separate discussion.
Re the power supply, it’s very possible that the Ochin carrier board v2 can’t handle the extra power requirements of the RPI5 CM. It was built for the RPI4 CM .. anyway, I’ll keep an eye on it to see how much of a problem this is.
Hi @rmackay9 -
Ah, the allowed IP would do it! That auto-retrieval is by default not enabled, to avoid video finding its way over slower routes than our typical arrangement via the BlueROV2 tether.
It is very easy to change the default IP of BlueOS, from the network icon in the upper left. Simply add the IP you want (as it seems you already have?), reach BlueOS at the new IP, and delete the old. It’s also possible for BlueOS to be reachable at multiple IP addresses on the ethernet adapter.
If you’re asking if a change to the default IP from 192.168.2.2 to the .144.X, that may be a tougher sell, as this has been our default for almost a decade, and is default for both the BlueBoat and BlueROV2…
Hi @Charles / @rmackay9
I wonder if recording the video would be possible with @williangalvani 's dashcam extension (check the extension manager to install? Records whenever the vehicle is armed, to Pi SD card…)
Good to know, I will try. Although the interesting feature of this camera is the image quality not sure I get it with the dashcam idea.
To have the full quality you need to record on camera sdcard. Triggering the record don’t work except if you use SIYI dedicated app or SIYIcustomQGC.
Well at least this was the case last year. I did not find time to play with this since then and things might have change? I should find some time in the next couple of weeks to get into this once more. Hopefully!
@Charles@rmackay9 does the camera expose an HTTP endpoint where we can request a recording to start/stop? If so, you can create an HTTP Action in Cockpit that calls it.
@rmackay9 certainly know better.
On my side, I can tell from the manual that the camera can be controlled by sending commands over UART/UDP. They call this Siyi gimbal SDK. I never really dig to understand what SDK is but it seems related to android. I never try sending those commands. The manual is not very explicit about this but there are a lot of commands that can be used including those to start/stop the recording but also some related to the gimbal. Accessing this through cockpit would certainly be great!
As for recording locally, try sending a COMMAND_INT with MAV_CMD_DO_AUX_FUNCTION
packet1 is the function, so 166.
packet2 seems to be the desired recording state, and is interepreted as a boolean.
It is now available for all architectures. The default configuration is already trying to relay an rtsp stream. you should only have to change the IP addresses for the target stream.
Thanks very much for that documentation, I’ll give it a try!
@Charles (and all), just to clarify, ArduPilot’s Siyi camera gimbal driver uses the same commands as the Siyi SDK uses to start/stop recording video to the SD card, take pictures, control the gimbal, etc. It can do almost everything that the Siyi dedicated app and custom QGC can do so it’s just a matter of exposing those abilities in Cockpit. ArduPilot also supports many other camera gimbals so they can also be used.
I’m slowly expanding my BlueOS setup instructions (from an AP point of view) here.