-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Join or stitch together multiple rosbags #668
Comments
If there is further interest, I am wanting to work on this since I am needing this feature. Would love some guidance on direction before I get started. |
Related to #599, but the opposite feature :) |
I think that this feature should be implemented in a few phases : add the core functionality with tests, then add the frontend, e.g. The new verb. I'm thinking that it might make sense for the frontend to be something like As for the implementation, I can see it going something like: open a reader for an existing bag, open a writer for new bag with new options, read from the reader as fast as possible and give to the writer. Might not be the most efficient possible, we may want to consider if storage implementations are able to combine bagfiles whole. But this way would also allow converting from one storage format to another in a generic way too |
@gbiggs is working on an implementation that will handle this use case - when you have a PR can you link it to this issue? |
Description
I am going to be needing to "stitch" or join together multiple rosbags that have been split at 30 second intervals. As you can imagine, this is quite cumbersome to deal with, and I would like a way to point to a directory of rosbags and have it joined together into a ~ 5min rosbag.
Something like
ros2 bag reshape <my_directory>
Maybe present a warning to the user when rosbags have wildly different timestamps. (should this be controlled by a command line argument or parameter?)
Related Issues
Opposite of #599
Completion Criteria
Implementation Notes / Suggestions
Not an expert here ... just need to mainly go into a directory, walk through each bag inside, and write to a new bag.
Testing Notes / Suggestions
The text was updated successfully, but these errors were encountered: