Git Product home page Git Product logo

h264_image_transport's Introduction

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:

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.