rosbag2video icon indicating copy to clipboard operation
rosbag2video copied to clipboard

converts image sequence in ros bag files to video files

rosbag2video

rosbag2video.py
rosbag to video file conversion tool
by Maximilian Laiacker 2020
[email protected]

with contributions from Abel Gabor 2019
[email protected]

For use with ROS2 bags, please refer to the foxy branch.

For use with ROS1 bags, please proceed with the instructions below.

Install:

ffmpeg is needed and can be installed on Ubuntu with:

sudo apt install ffmpeg

ros and other stuff

sudo apt install python3-roslib python3-sensor-msgs python3-opencv

Usage:

rosbag2video.py [--fps 25] [--rate 1] [-o outputfile] [-v] [-s] [-t topic] bagfile1 [bagfile2] ...

Converts image sequence(s) in ros bag file(s) to video file(s) with fixed frame rate using ffmpeg
ffmpeg needs to be installed!

--fps   Sets FPS value that is passed to ffmpeg
        Default is 25.
-h      Displays this help.
--ofile (-o) sets output file name.
        If no output file name (-o) is given the filename '<prefix><topic>.mp4' is used and default output codec is h264.
        Multiple image topics are supported only when -o option is _not_ used.
        ffmpeg  will guess the format according to given extension.
        Compressed and raw image messages are supported with mono8 and bgr8/rgb8/bggr8/rggb8 formats.
--rate  (-r) You may slow down or speed up the video.
        Default is 1.0, that keeps the original speed.
-s      Shows each and every image extracted from the rosbag file (cv_bride is needed).
--topic (-t) Only the images from topic "topic" are used for the video output.
-v      Verbose messages are displayed.
--prefix (-p) set a output file name prefix othervise 'bagfile1' is used (if -o is not set).
--start Optional start time in seconds.
--end   Optional end time in seconds.

Example Output:

./rosbag2video.py camera_and_state.bag

rosbag2video, by Maximilian Laiacker 2020 and Abel Gabor 2019

############# COMPRESSED IMAGE  ######################
/image_raw/compressed  with datatype: sensor_msgs/CompressedImage

frame=   77 fps= 13 q=28.0 size=    1280kB time=00:00:00.96 bitrate=10922.2kbits/s speed=0.156x