Skip to content

Configure a Camera

Goal: Configure cameras on the robot so an operator can see live teleop video.

Before you begin

  • The agent is installed and enrolled (see Install the Agent).
  • One or more V4L2 cameras attached to the robot.
  • You can edit the agent config and restart the service as root.

How video works

The agent discovers V4L2 cameras and streams them to operators over WebRTC. By default it can auto-pick cameras; you configure cameras when you want to pin specific devices or override the defaults. For the discovery heuristic, supported source formats, and the GStreamer/VP8/WebRTC pipeline, see the Cameras reference.

Steps

  1. List the V4L2 devices the system sees:

bash v4l2-ctl --list-devices

(Install v4l-utils if v4l2-ctl is missing.) Note the /dev/video* nodes for the cameras you want.

  1. Check the formats a device supports:

bash v4l2-ctl -d /dev/video0 --list-formats-ext

The pipeline accepts raw, MJPEG, and H.264 sources (see the Cameras reference for the exact formats). Pick a device/format the camera advertises.

  1. Set the camera selection in the agent config. A reference for the exact config section and field names for selecting devices for each of the two video tracks is coming soon.

  2. Restart the agent:

bash sudo systemctl restart rover-agent

  1. Start a teleop session from the web app and confirm video appears. Operators can switch the camera on each track live during the session.

For how frames are normalized, encoded, and tuned for low latency, see the Cameras reference.

Next steps