No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
Repository Summary
Description | Adds H264 decoding to ROS2 image transport |
Checkout URI | https://github.com/clydemcqueen/h264_image_transport.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-07-01 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | h264 ffmpeg v4l2 ros2 |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
h264_image_transport | 0.1.0 |
h264_msgs | 0.1.0 |
README
h264_image_transport
Adds H264 decoding to ROS2 image transport.
Also includes a simple node to copy H264 packets from a video4linux
camera.
Possible future work: add H264 encoder
Example usage
Command line:
ros2 run image_transport republish h264 raw --ros-args -r in/h264:=/image_raw/h264 -r out:=/repub_raw
Launch file:
ros2 launch h264_image_transport example_launch.py
h264_cam_node parameters
Parameter | Type | Default | Notes |
---|---|---|---|
input_fn | string | /dev/video2 | Can be any ffmpeg format |
fps | string | 30 | Desired frame rate |
size | string | 800x600 | Width by height |
frame_id | string | camera_frame | Camera frame ID |
camera_info_path | string | info.ini | Path to camera info file |
h264_cam_node topics
Topic | Message | Notes |
---|---|---|
image_raw/h264 | h264_msgs::msg::Packet |
H264 packet |
camera_info | sensor_msgs::msg::CameraInfo |
Camera info message |
Requirements
Tested on ROS2 Foxy, Galactic and Humble.
Requires libavdevice
, libavformat
, libavcodec
, libavutil
, libswscale
.
Here’s one way to satisfy these requirements:
sudo apt install libavdevice-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev
Note: rosdep
won’t find keys for most of these libraries so package.xml
declares
dependencies on ffmpeg
and libavdevice-dev
. Strictly speaking ffmpeg
is not required.
CONTRIBUTING
Any contribution that you make to this repository will be under the BSD license 2.0, as dictated by that license.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.