项目作者: clydemcqueen

项目描述 :
Adds H264 decoding to ROS2 image transport
高级语言: C++
项目地址: git://github.com/clydemcqueen/h264_image_transport.git
创建时间: 2020-05-10T20:32:48Z
项目社区:https://github.com/clydemcqueen/h264_image_transport

开源协议:Other

下载


" class="reference-link">h264_image_transport build status

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:

  1. ros2 run image_transport republish h264 raw --ros-args -r in/h264:=/image_raw/h264 -r out:=/repub_raw

Launch file:

  1. 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:

  1. 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.