ffmpeg_image_transport
- Software
- Perception
- Library
A ROS 2 image transport plugin that encodes and decodes camera frames with FFmpeg/libav, such as H.264 and HEVC packets, to stream images across a network.
Made by ros-misc-utilities.
Source on GitHub: github.com/ros-misc-utilities/ffmpeg_image_transport (opens in a new tab). Facts read at commit cd8bf30 (opens in a new tab).
Licenses
- Code
- Apache-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit cd8bf30 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Publisher plugin encodes image frames into FFmpeg compressed packets; subscriber plugin decodes them, so it must be installed on both sides.
- Supports hardware acceleration such as Nvidia NVENC or VA-API when available, with libx264 as the default CPU encoder.
- Encoding parameters include encoder choice, encoder options, GOP size, bit rate, quantization limit and pixel format.
- Subscriber parameters choose decoders per codec and pixel format, and set decoder options and output encoding.
- Can republish raw images from rosbags as FFmpeg packets, or republish stored FFmpeg packets with full image transport support.
- Troubleshooting notes cover lag from frame buffering, poor quality settings, and decoder pixel format support.
Written by Robotheca from the project's README (opens in a new tab) at commit cd8bf30.
Getting started
- Difficulty
- Intermediate
- Hardware it needs, as the project states it
- Continuous integration is tested on Ubuntu running ROS 2 Humble and later distros; hardware acceleration needs supporting hardware such as an Nvidia GPU, but no specific requirements are stated.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 8 Oct 2026 on master
- Latest release
- None published on GitHub
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.