ros2 unbag - fast and flexible ROS 2 bag export for any format

Hello everyone,

We’re excited to announce ros2 unbag, a new open-source ROS 2 CLI and GUI tool for flexible export of bag data to formats like CSV, JSON, PCD, images, and more.

  • CLI: ros2 unbag <args> or fully interactive GUI
  • Exports any topic to any format using pluggable export routines
  • Optional custom processors to filter/transform/enrich messages
  • Time-aligned resampling (last | nearest)
  • Multi-process export with adjustable CPU usage
  • Reusable JSON configs for reproducibility
  • Fully extensible: add your own export formats and processors
  • Available via pip (pip install ros2-unbag)


:package: GitHub: https://github.com/ika-rwth-aachen/ros2_unbag
:e_mail: Maintained by: ika, RWTH Aachen University
:wrench: Contributions and feedback welcome!

Check our other projects, too:

docker-ros – Automated Containerization of ROS Apps
ros2-pkg-create – Powerful ROS 2 Package Generator
mqtt_client - Bridge ROS messages with MQTT seamlessly.

7 Likes

Thanks for sharing the repo. This is really cool. Starred it already.

Can you export images to a .mp4 file for video inspection? I didn’t find it in the README.md.

Hi Shouheng,

Thanks for your interest! I’ve just merged the branch that enables video export.

The initial implementation supports only 30fps, regardless of the actual image timestamps. However, since the ros2 unbag allows custom export routines (via ros2 unbag --use_routine custom_video.py), you can adapt the default video routine to suit your needs and ingest without touching the rest of the code.