Available Formats
MCAP (Modern Capture Format)
- Newer format designed to be a high-performance alternative to
rosbag2
. - More efficient in terms of storage and playback speed.
- Cross-platform & language support (C++, Python, Rust, Go, etc.).
- Better compression support (Zstandard, LZ4, and others).
- Designed for large datasets and works well with sensors like LiDAR, cameras, and IMUs.
- Faster indexing and seeking, improving playback efficiency.
ROSBAG (ROS 1 & ROS 2)
- Originally designed for ROS 1 and adapted for ROS 2.
- Uses SQLite or other storage backends in ROS 2.
- Slower when handling large datasets compared to MCAP.
- Compression support, but not as efficient as MCAP.
- Limited indexing & metadata support, which can slow down seeking.
Which One Should You Use?
- If you are using ROS 2, MCAP is the preferred format because of its speed, efficiency, and better compression.
- If you are working with older ROS 1 systems, you might still need to use
rosbag
.
How to use MCAP in ROS2?
ROS 2 supports MCAP as a storage backend for ros2 bag
. To record using MCAP:
ros2 bag record -a --storage mcap
To play it back:
ros2 bag play