Inspection got easier.
MCAP is easier to inspect, validate, and move between tools than a lot of older recording setups. That is why it keeps showing up in robotics stacks.
MCAP is becoming the default recording format in modern robotics workflows because it is portable, indexed, and easier to work with than the old pile of bag formats. But the tooling gap is still real: inspect the recording, yes; turn it into a mapped point cloud, not always.
MCAP is easier to inspect, validate, and move between tools than a lot of older recording setups. That is why it keeps showing up in robotics stacks.
Once you have the file, you still need to answer the hard question: do you need raw frames from one topic, or do you need a mapped output from the full run?
Start by summarizing the file and confirming the topics you care about.
mcap info demo.mcap mcap cat demo.mcap --topics /velodyne_points
Foxglove is excellent for opening the file and visually inspecting the data stream.
foxglove-studio /path/to/your/file.mcap
Great for playback and debugging. It is not a SLAM-to-map service.
If you want to inspect or filter ROS1 messages inside MCAP, the upstream Python helpers get you there quickly.
from mcap_ros1.reader import read_ros1_messages
for msg in read_ros1_messages("demo.mcap"):
print(f"{msg.topic}: {msg.ros_msg}")Start by confirming the topics, message types, and duration are what you expect.
LidarFlow scans the MCAP and proposes the LiDAR, GNSS, IMU, and TF topics for the run.
GLIM runs the SLAM step. When GNSS is available FlexCloud aligns the result to real-world coordinates.
Preview the mapped output in the browser, then download PCD, PLY, and metadata.
The CLI, Foxglove, and Python libraries are exactly what you want when the job is “tell me what is inside this file.” They are not the full answer when the job is “hand me back one mapped point cloud from the run.”
Upload the MCAP, let the product validate the topics, run LiDAR SLAM, georeference the result when GNSS exists, and download the mapped artifacts from the browser.
MCAP works today regardless of which stack recorded it, because the pipeline reads the PointCloud2 messages rather than the ROS distribution. ROS2 .db3 bags are the one gap, and the reindex workaround is written up on the ROS2 .db3 status page.
Related reading: rosbag to PCD, what LiDAR SLAM is, free URDF viewer.
Not quite. MCAP is a format-agnostic container for timestamped messages with a built-in index, and it is the default recording format for modern ROS2 setups. A ROS1 .bag is an older ROS-specific container. Both hold the same kind of message stream, but MCAP seeks and indexes faster and is not tied to ROS.
No. LidarFlow reads the sensor_msgs/PointCloud2 messages out of the file directly, so nothing needs to be installed locally. It also does not matter whether the MCAP was recorded from a ROS1 or ROS2 stack.
One LiDAR topic publishing sensor_msgs/PointCloud2 is required. IMU, GNSS, and TF topics are optional and are detected automatically. IMU improves motion compensation and GNSS enables georeferencing to WGS84.
Yes, free while we are testing. Create an account, upload a recording, and download the results. No card required.