Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
jazzy

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
kilted

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
iron

Package Summary

Tags No category tags.
Version 1.2.0
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version iron
Last Updated 2024-04-15
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

ROS Distro
humble

Package Summary

Tags No category tags.
Version 2.1.2
License Apache-2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-misc-utilities/ffmpeg_image_transport_tools.git
VCS Type git
VCS Version release
Last Updated 2025-05-26
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

tools for processing ffmpeg_image_transport_msgs

Additional Links

No additional links.

Maintainers

  • Bernd Pfrommer

Authors

No additional authors.

Tools for the ffmpeg_image_transport

This repository hosts code for handling data streams produced by the ffmpeg_image_transport.

Supported systems

Continuous integration is tested under Ubuntu with the following ROS2 distros:

Build Status Build Status Build Status

How to install

From packages

sudo apt-get install ros-${ROS_DISTRO}-ffmpeg-image-transport-tools

From source

Set the following shell variables:

repo=ffmpeg_image_transport_tools
url=https://github.com/ros-misc-utilities/${repo}.git

and follow the instructions here

Processing rosbags

Extract an mp4 file from a rosbag

The bag_to_file merges the ffmpeg-generated packets from a rosbag into a file:

bag_to_file -b input_bag -t topic -r rate [-o out_file] [-T timestamp_file] [-s start_time] [-e end_time]

The rate determines the fps used by ffmpeg when producing the output. The video is not transcoded, so what you get is the original stream, just in a mp4 container. To get correct playing speed the rate must match the rate at which the stream was originally recorded.

The start_time and end_time is given in seconds since the epoch, like the times you see when using ros2 bag info.

For example the following line produces a file video.mp4 and timestamps.txt from a rosbag:

ros2 run ffmpeg_image_transport_tools bag_to_file -t /cam1/image_raw/ffmpeg -r 40 -b ./my_rosbag/ -e 1710085164.466

The timestamp.txt file has the following entries:

# packet no, pts, header_stamp  recording_stamp
0 0 1710085154473057750 1710085156001866724
1 1 1710085155950467594 1710085156024209913

A H264 packet typically corresponds to a frame so the packet number conincides with the frame number.

Extract frames from a rosbag

The bag_to_frames decodes the ffmpeg-generated packets from a rosbag into frames:

bag_to_frames -b input_bag -t topic [-o out_dir] [-d decoder][-T timestamp_file] [-s start_time] [-e end_time]

The frames are written to out_dir with the ros header stamps embedded in the file name. A suitable decoder is usually guessed from the encoding used in the packet, but you can specify a valid ffmpeg decoder by using the -d decoder option. For start and stop times and the timestamp file see bag_to_file.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package ffmpeg_image_transport_tools

2.1.2 (2025-05-26)

  • avoid ament_target_dependencies
  • Contributors: Bernd Pfrommer

2.1.1 (2025-03-17)

  • use encoder/decoder instead of transport
  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.1.0 (2025-03-15)

  • fixed README status badges
  • Contributors: Bernd Pfrommer

2.0.0 (2025-03-15)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.2.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ffmpeg_image_transport_tools at Robotics Stack Exchange