ef78f19e72
Plus a little freshen up of the readme's
Camera Publisher
ROS 2 node that captures frames from a V4L2 USB camera using GStreamer and publishes them as sensor_msgs/Image messages.
Architecture
USB Camera → v4l2src (GStreamer) → sensor_msgs/Image → /camera/image_raw
No OpenCV or cv_bridge required. Frames are captured via v4l2src and passed directly into the ROS 2 message.
Published topics
| Topic | Type | Description |
|---|---|---|
/<CAMERA_NAMESPACE>/image_raw |
sensor_msgs/Image |
Raw camera frames |
Environment variables
| Variable | Default | Description |
|---|---|---|
VIDEO_DEVICE |
/dev/video0 |
V4L2 device path |
WIDTH |
640 |
Capture width in pixels |
HEIGHT |
480 |
Capture height in pixels |
FPS |
30 |
Capture frame rate |
CAMERA_FORMAT |
raw |
Capture format (raw or mjpeg) |
CAMERA_NAMESPACE |
/camera |
ROS 2 namespace (topic becomes /<ns>/image_raw) |
Finding your camera device
v4l2-ctl --list-devices
v4l2-ctl -d /dev/video0 --list-formats-ext