ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

Package Summary

Tags No category tags.
Version 1.1.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 humble
Last Updated 2024-04-12
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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.1.0 (2024-04-12)

  • initial release
  • Contributors: Bernd Pfrommer

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

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
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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

ffmpeg_image_transport_tools package from ffmpeg_image_transport_tools repo

ffmpeg_image_transport_tools

Package Summary

Tags No category tags.
Version 1.0.1
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 rolling
Last Updated 2024-04-18
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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.0.1 (2024-04-17)

  • fix build issues on rolling
  • Contributors: Bernd Pfrommer

1.0.0 (2024-04-15)

  • initial release of ROS2 package
  • Contributors: Bernd Pfrommer

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.