Skip to content

Error: Missing Argument for Option '-i' When Using ros2 run ffmpeg_image_transport_tools bag_to_file #11

@luigicampanaro

Description

@luigicampanaro

Hi,

I recorded a ROS bag containing joint information and a camera stream compressed with FFMPEG (Type: ffmpeg_image_transport_msgs/msg/FFMPEGPacket), as shown below.

root@Minerva:/colcon_ws#   ros2 bag info /colcon_ws/data/default_task/trajectory_1/trajectory_1_0.db3

closing.

closing.
[INFO] [1755790423.358078619] [rosbag2_storage]: Opened database '/colcon_ws/data/default_task/trajectory_1/trajectory_1_0.db3' for READ_ONLY.

Files:             /colcon_ws/data/default_task/trajectory_1/trajectory_1_0.db3
Bag size:          69.0 MiB
Storage id:        sqlite3
Duration:          38.624818217s
Start:             Aug 21 2025 13:54:40.812579199 (1755784480.812579199)
End:               Aug 21 2025 13:55:19.437397416 (1755784519.437397416)
Messages:          2046
Topic information: Topic: /piper/joint_states | Type: sensor_msgs/msg/JointState | Count: 773 | Serialization Format: cdr
                   Topic: /leader_arm/joint_states | Type: sensor_msgs/msg/JointState | Count: 345 | Serialization Format: cdr
                   Topic: /camera1/image_raw/ffmpeg | Type: ffmpeg_image_transport_msgs/msg/FFMPEGPacket | Count: 928 | Serialization Format: cdr

I’m trying to convert the compressed data to an .mp4 file, but I encounter the following error:

root@Minerva:/colcon_ws# ros2 run ffmpeg_image_transport_tools bag_to_file -b /colcon_ws/data/default_task/trajectory_1/trajectory_1_0.db3 -t /camera1/image_raw/ffmpeg -r
 10 -o /colcon_ws/data/default_task/trajectory_1/output.mp4

opening bag: /colcon_ws/data/default_task/trajectory_1/trajectory_1_0.db3
topic:       /camera1/image_raw/ffmpeg

closing.

closing.
[INFO] [1755790403.425892824] [rosbag2_storage]: Opened database '/colcon_ws/data/default_task/trajectory_1/trajectory_1_0.db3' for READ_ONLY.
writing to raw file: .h264
messages processed: 928
total time for processing: 0.05703
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Missing argument for option 'i'.
Error splitting the argument list: Invalid argument
rm: missing operand
Try 'rm --help' for more information.

Did I make any mistake in using the library? What would be the correct way to fix this?

For context, the data stream is saved correctly; after decompressing it, I can visualize the recorded data and confirm it is not corrupted.

Thank you very much for your help! :)

Environment Information

Operating System:
**-** Distro: Ubuntu 22.04.5 LTS

  • Release: 22.04

Kernel Version:

  • Linux Minerva 6.14.0-27-generic #27~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 17:38:49 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

ROS 2 Distribution:

  • ROS 2 Humble

Image Transport Plugins:

  • image_transport/compressed
  • image_transport/compressedDepth
  • image_transport/ffmpeg
  • image_transport/raw
  • image_transport/theora

FFmpeg Version:

  • ffmpeg version 4.4.2-0ubuntu0.22.04.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions