Skip to content

ffmpeg_encoder_decoder

  • Software
  • Perception
  • Library

A ROS 2 package that encodes and decodes ROS images with FFmpeg (libav), including hardware-accelerated codecs such as H.264 and HEVC, meant to be used by image transport plugins.

Made by ros-misc-utilities.

Source on GitHub: github.com/ros-misc-utilities/ffmpeg_encoder_decoder (opens in a new tab). Facts read at commit da09f5d (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 da09f5d (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Encodes ROS images to codecs like H.264 and H.265/HEVC using FFmpeg, using hardware acceleration when available.
  • Decodes the encoded packets back into ROS images, reproducing the original encoding where possible.
  • Provides Encoder and Decoder classes with configurable pixel formats, encoder choice and AV options.
  • Includes a hack for single-channel images such as mono8 and Bayer, adding and removing an empty colour channel.
  • Is intended to back the ffmpeg image transport and foxglove compressed video transport packages.
  • Can be built against a custom FFmpeg install, and documents enabling NVMPI-based encoding on NVIDIA Jetson.

Written by Robotheca from the project's README (opens in a new tab) at commit da09f5d.

Getting started

Difficulty
Advanced

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
20 Jul 2026 on master
Latest release
None published on GitHub

Checked on GitHub on 16 Oct 2026.

Robots that can run 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.