Its based on both the image_tools cam2image demos for ROS2 as well as the libuvc and usb_cam project for ROS1.
There might be major changes to the code as it is a WIP.
/camera_info - topic for camera info
/image_raw - topic for raw image data
Make sure to run setup.bash and local_setup.bash for all dependencies or symlink them into the repo.
ros2 run usb_camera usb_camera __ns:=/<your namespace> __params:=config.yaml
To use the camera info functionality you need to load a file from the camera_calibration (https://github.com/ros-perception/image_pipeline/tree/ros2/camera_calibration) library and put it in/name it
To get compressed images (works seamlessly with web streaming) republish the topic using image_transport which is available for ROS2.
ros2 run image_transport republish raw in:=image_raw compressed out:=image_raw_compressed
Make sure to link/install https://github.com/ros-perception/image_transport_plugins/tree/ros2 before to enable compressed image republishing using image_transport since its not included in the base package. More information here http://wiki.ros.org/image_transport, here http://wiki.ros.org/compressed_image_transport and here https://answers.ros.org/question/35183/compressed-image-to-image/