Repository navigation
Conversation
Replace CAMERA_APP_VIDEO_ADDRESS with [network] video_ip_address, the IPv4 address advertised in VIDEO_STREAM_INFORMATION RTSP URIs. Blank keeps the automatic choice. It applies without a restart. Adds an RPi host build to test it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Show the new setting on host-OS targets and hide the interface and address fields the camera app ignores there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Previous review (2026-10-16)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Thanks Randy. This looks good: the new tests pass for me, and the live-reload test fails correctly when the One small upgrade issue. Not tested: real Pi/libcamera hardware with a GCS, and the full |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Thanks for the review, my AI and I have added a comment regarding the removal of CAMERA_APP_VIDEO_ADDRESS. As the AI Reviewer mentioned though the removal is low-severity because it's only been in there for 10 days and we haven't done a release since then. Also I'm the only user of the cm4 backend so far. I'd love more, but for now, it's just me. |
|
Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Thanks Randy. The README note at packaging/rpi_libcam_caddx/README.md:123 (https://github.com/ArduPilot/AP_CameraGimbal/pull/52/files#diff-57a13d56b565ab46e64820b7f564b4fe3925995aedb46c54c76dd0c32be481ccR123) covers the I re-checked at 701aec0. The RPi unit cases, Not tested: real Pi/libcamera hardware with a GCS, and the full camera_app |
This adds the ability on the RPI target for the user (or person configuring the vehicle) to override the IP address that is sent in the VIDEO_STREAM_INFORMATION messages' URI thus making it easier for users to select the video they want displayed on the GCS.
The underlying problem on the RPi is the camera app sits behind mavlink-router, so MAVLink messages reach it from 127.0.0.1 and it cannot tell which of the Pi's IP addresses the GCS can reach.
In these cases, the RTSP URI sent in VIDEO_STREAM_INFORMATION comes from a fixed rule codified in route_local_ipv4() and interface_ipv4(). The rule is: prefer an address on 192.168.144.x, otherwise use the numerically lowest IPv4 address on the Pi. On my setup this results in rtsp://192.168.144.20:8554/video1 appearing in the video-stream-information but this is not actually accessible by the GCS. Instead we need to use either the WifiAP IP address (e.g. 10.0.2.1) or the VPN's (e.g. 10.147.17.100)
This PR adds a "Video stream IP address" setting (
[network] video_ip_address) on the web interface's Network tab. When set, it is used in the RTSP URI; when blank, the existing automatic choice is kept. It applies without restarting the camera app.Other changes:
CAMERA_APP_VIDEO_ADDRESSenvironment variable which was only used on the RPI backend. This was added recently to resolve the same problem this PR fixes so we don't need it any moreThis PR doesn't affect other targets.
Testing:
Claude helped me greatly in creating this PR