Skip to content

converts image sequence in ros bag files to video files

License

Notifications You must be signed in to change notification settings

petrapa6/rosbag2video

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

rosbag2video

rosbag2video.py
rosbag to video file conversion tool
by Abel Gabor 2019
baquatelle@gmail.com

based on the tool by Maximilian Laiacker 2016
post@mlaiacker.de

install:

avconv or ffmpeg is needed and can be installed on Ubuntu with:

sudo apt install libav-tools
or
sudo apt install ffmpeg

usage:

rosbag2video.py [--fps 25] [--rate 1] [-o outputfile] [-v (verbose messages)] [-s (show video)] [-t topic] bagfile1 [bagfile2] ...

Converts image sequence(s) in ros bag file(s) to video file(s) with fixed frame rate using avconv or ffmpeg.
One of avconv or ffmpeg needs to be installed!
If no output file (-o) is given the filename '<topic>.mp4' is used and default output codec is h264.
Multiple image topics are supported only when -o option is _not_ used.
avconv/ffmpeg will guess the format according to given extension.
Compressed and raw image messages are supported with mono8 and bgr8/rgb8/bggr8/rggb8 formats.

-t topic
only the images from topic "topic" are used for the video output

example output:

>rosbag2video.py -r 50 -o test.mp4 peng_2015-12-14-13-*.bag
using  50.0  FPS
/cam_peng/color_rect/image_raw/compressed  with datatype: sensor_msgs/CompressedImage
############# USING ######################
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
  built on Mar 16 2015 13:20:58 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[mjpeg @ 0x8a92ee0] Estimating duration from bitrate, this may be inaccurate
Input #0, mjpeg, from 'pipe:':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: mjpeg, yuvj420p, 1620x1220 [PAR 1:1 DAR 81:61], 50 fps, 50 tbr, 50 tbn
[libx264 @ 0x8aa27e0] using SAR=1/1
[libx264 @ 0x8aa27e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x8aa27e0] profile High, level 4.2
[libx264 @ 0x8aa27e0] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.25 aq=1:1.00
Output #0, mp4, to 'test.mp4':
  Metadata:
    encoder         : Lavf54.20.4
    Stream #0.0: Video: libx264, yuvj420p, 1620x1220 [PAR 1:1 DAR 81:61], q=-1--1, 50 tbn, 50 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> libx264)
Press ctrl-c to stop encoding
frame=   44 fps=  4 q=0.0 Lsize=     365kB time=0.84 bitrate=3558.5kbits/s    s/s    

About

converts image sequence in ros bag files to video files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%