0.8.14290.0 MB
BSD-3-Clause
strict
core24
ROS 2 driver for V4L2 USB cameras (Logitech C920 and others)
Snap of the ros-drivers/usbcam ROS 2 node.
The snap runs usb-cam node as a daemon,
sharing the ROS 2 Jazzy runtime from the
Camera configuration always goes through a ROS params YAML file, matching
upstream usbcam's own
seeded at $SNAPCOMMON/config/usbcam.yaml on install, including
This can be edited directly for full
control, or use the
of just pointing at a camera:
General ROS environment (ROSDOMAINID, RMWIMPLEMENTATION,
FASTDDSDEFAULTPROFILESFILE, ...) is set via the env-injector
extension, e.g.:
For anything beyond the video-device path (resolution, framerate, pixel
format, brightness, camerainfourl, ...), edit
$SNAPCOMMON/config/usbcam.yaml directly, or hand the snap a completely
separate file/URL, which takes precedence over the default file:
To discard local edits and restore the packaged default config, run the
reset-config app (this also unsets the
reset sticks), then restart:
Run a second camera on the same host with snapd parallel installs
(experimental snapd feature; each instance gets its own configuration):
The snap publishes the standard usbcam topics (
is not part of the topic path -- upstream only uses it for camera
metadata (
The snap runs usb-cam node as a daemon,
sharing the ROS 2 Jazzy runtime from the
ros-jazzy-ros-base.Camera configuration always goes through a ROS params YAML file, matching
upstream usbcam's own
--params-file interface. A managed default isseeded at $SNAPCOMMON/config/usbcam.yaml on install, including
videodevice: "/dev/video0" by default.This can be edited directly for full
control, or use the
video-device key as a shortcut for the common caseof just pointing at a camera:
snap install ros2-usb-cam
snap connect ros2-usb-cam:camera
snap set ros2-usb-cam video-device=/dev/video4 namespace=/staticcameraGeneral ROS environment (ROSDOMAINID, RMWIMPLEMENTATION,
FASTDDSDEFAULTPROFILESFILE, ...) is set via the env-injector
extension, e.g.:
snap set ros2-usb-cam env.ros-domain-id=42
snap set ros2-usb-cam env.rmw-implementation=rmwfastrtpscppFor anything beyond the video-device path (resolution, framerate, pixel
format, brightness, camerainfourl, ...), edit
$SNAPCOMMON/config/usbcam.yaml directly, or hand the snap a completely
separate file/URL, which takes precedence over the default file:
snap set ros2-usb-cam config-file=https://example.com/usbcam.yamlTo discard local edits and restore the packaged default config, run the
reset-config app (this also unsets the
video-device shortcut so thereset sticks), then restart:
ros2-usb-cam.reset-config
snap restart ros2-usb-camRun a second camera on the same host with snapd parallel installs
(experimental snapd feature; each instance gets its own configuration):
snap set system experimental.parallel-instances=true
snap install ros2-usb-camwrist
snap set ros2-usb-camwrist video-device=/dev/video2 namespace=/wristThe snap publishes the standard usbcam topics (
imageraw, imageraw/compressed,
camerainfo), scoped by the ROS namespace. The cameraname parameteris not part of the topic path -- upstream only uses it for camera
metadata (
CameraInfo).Update History
0.8.1 (4)5 Nov 2026, 10:30 UTC
13 Aug 2026, 14:36 UTC
5 Nov 2026, 09:46 UTC
5 Nov 2026, 10:30 UTC