-
 

foxglove_compressed_video_transport package from foxglove_compressed_video_transport repo

foxglove_compressed_video_transport

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/foxglove_compressed_video_transport.git
VCS Type git
VCS Version release
Last Updated 2024-11-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

foxglove_compressed_video_transport provides a plugin to image_transport for transparently sending an image stream encoded in foxglove compressed video packets.

Additional Links

Maintainers

  • Bernd Pfrommer

Authors

  • Bernd Pfrommer

ROS2 image transport for Foxglove CompressedVideo messages

This plugin provides a ROS2 image transport for encoding messages in Foxglove’s CompressedVideo message format, using the FFMpeg library. These messages can be recorded in a rosbag for processing with e.g. Foxglove Studio.

There is also an unsupported decoder provided for testing purposes. Use at your own peril.

Supported systems

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

Build Status Build Status Build Status Build Status

Installation

From packages

sudo apt-get install ros-${ROS_DISTRO}-foxglove-compressed-video-transport

From source

Set the following shell variables:

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

and follow the instructions here

Make sure to source your workspace’s install/setup.bash afterwards. If all goes well you should see the transport show up:

ros2 run image_transport list_transports

should give output (among other transport plugins):

"image_transport/foxglove"
 - Provided by package: foxglove_compressed_video_transport
 - Publisher: 
      This plugin encodes frames into foxglove compressed video packets
    
 - Subscriber: 
      This plugin decodes frames from foxglove compressed video packets

Remember to install the plugin on both hosts, the one that is encoding and the one that is decoding (viewing).

Parameters

Publisher (camera driver)

Here is a list of the available encoding parameters:

  • encoding: the libav (ffmpeg) encoder being used. The default is libx264, which is on-CPU unaccelerated encoding. Depending on your hardware, your encoding options may include the hardware accelerated h264_nvenc or h264_vaapi. You can list all available encoders with ffmpeg --codecs. In the h264 row, look for (encoders).
  • preset: default is empty (“”). Valid values can be for instance slow, ll (low latency) etc. To find out what presets are available, run e.g. fmpeg -hide_banner -f lavfi -i nullsrc -c:v libx264 -preset help -f mp4 - 2>&1
  • profile: For instance baseline, main. See the ffmpeg website.
  • tune: See the ffmpeg website. The default is empty(“”).
  • gop_size: The number of frames between keyframes. For foxglove, this must be set to 1. The larger this number the more latency you will have, but also the more efficient the transmission becomes.
  • bit_rate: The max bit rate [in bits/s] that the encoding will target. Default is ``8242880`.
  • delay: Not sure what it does, but doesn’t help with delay. Default is empty (“”).
  • pixel_format: Forces a different pixel format for internal conversions. Experimental, don’t use.
  • qmax: Max quantization rate. Defaults to 10. See ffmpeg documentation. The larger this number, the worse the image looks, and the more efficient the encoding.
  • measure_performance: For performance debugging (developers only). Defaults to false.
  • performance_interval: How many frames to wait between logging performance data.

The parameters are under the foxglove variable block. If you launch your publisher node (camera driver), you can give it a parameter list on the way like so:

            parameters=[
                params_path,
                {
                    '.image_raw.foxglove.encoding': 'h264_vaapi',  # 'libx264'
                    '.image_raw.foxglove.profile': 'main',
                    '.image_raw.floxglove.preset': 'll',
                },
            ],

See the example launch file for a V4L USB camera

Subscriber (viewer)

The subscriber plugin is used for debugging purposes and is not supported.

Setting encoding parameters when launching camera driver

The launch directory contains an example launch file cam.launch.py that demonstrates how to set encoding profile and preset for e.g. a usb camera.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package foxglove_compressed_video_transport

1.0.1 (2024-11-18)

  • Fill empty message fields (#1)
    • Fix missing timestamp and frame_id in subscriber and publisher
  • Contributors: Bernd Pfrommer, eLEcTRiCZiTy

1.0.0 (2024-09-16)

  • initial commit
  • Contributors: Bernd Pfrommer

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged foxglove_compressed_video_transport at Robotics Stack Exchange

foxglove_compressed_video_transport package from foxglove_compressed_video_transport repo

foxglove_compressed_video_transport

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/foxglove_compressed_video_transport.git
VCS Type git
VCS Version release
Last Updated 2024-11-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

foxglove_compressed_video_transport provides a plugin to image_transport for transparently sending an image stream encoded in foxglove compressed video packets.

Additional Links

Maintainers

  • Bernd Pfrommer

Authors

  • Bernd Pfrommer

ROS2 image transport for Foxglove CompressedVideo messages

This plugin provides a ROS2 image transport for encoding messages in Foxglove’s CompressedVideo message format, using the FFMpeg library. These messages can be recorded in a rosbag for processing with e.g. Foxglove Studio.

There is also an unsupported decoder provided for testing purposes. Use at your own peril.

Supported systems

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

Build Status Build Status Build Status Build Status

Installation

From packages

sudo apt-get install ros-${ROS_DISTRO}-foxglove-compressed-video-transport

From source

Set the following shell variables:

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

and follow the instructions here

Make sure to source your workspace’s install/setup.bash afterwards. If all goes well you should see the transport show up:

ros2 run image_transport list_transports

should give output (among other transport plugins):

"image_transport/foxglove"
 - Provided by package: foxglove_compressed_video_transport
 - Publisher: 
      This plugin encodes frames into foxglove compressed video packets
    
 - Subscriber: 
      This plugin decodes frames from foxglove compressed video packets

Remember to install the plugin on both hosts, the one that is encoding and the one that is decoding (viewing).

Parameters

Publisher (camera driver)

Here is a list of the available encoding parameters:

  • encoding: the libav (ffmpeg) encoder being used. The default is libx264, which is on-CPU unaccelerated encoding. Depending on your hardware, your encoding options may include the hardware accelerated h264_nvenc or h264_vaapi. You can list all available encoders with ffmpeg --codecs. In the h264 row, look for (encoders).
  • preset: default is empty (“”). Valid values can be for instance slow, ll (low latency) etc. To find out what presets are available, run e.g. fmpeg -hide_banner -f lavfi -i nullsrc -c:v libx264 -preset help -f mp4 - 2>&1
  • profile: For instance baseline, main. See the ffmpeg website.
  • tune: See the ffmpeg website. The default is empty(“”).
  • gop_size: The number of frames between keyframes. For foxglove, this must be set to 1. The larger this number the more latency you will have, but also the more efficient the transmission becomes.
  • bit_rate: The max bit rate [in bits/s] that the encoding will target. Default is ``8242880`.
  • delay: Not sure what it does, but doesn’t help with delay. Default is empty (“”).
  • pixel_format: Forces a different pixel format for internal conversions. Experimental, don’t use.
  • qmax: Max quantization rate. Defaults to 10. See ffmpeg documentation. The larger this number, the worse the image looks, and the more efficient the encoding.
  • measure_performance: For performance debugging (developers only). Defaults to false.
  • performance_interval: How many frames to wait between logging performance data.

The parameters are under the foxglove variable block. If you launch your publisher node (camera driver), you can give it a parameter list on the way like so:

            parameters=[
                params_path,
                {
                    '.image_raw.foxglove.encoding': 'h264_vaapi',  # 'libx264'
                    '.image_raw.foxglove.profile': 'main',
                    '.image_raw.floxglove.preset': 'll',
                },
            ],

See the example launch file for a V4L USB camera

Subscriber (viewer)

The subscriber plugin is used for debugging purposes and is not supported.

Setting encoding parameters when launching camera driver

The launch directory contains an example launch file cam.launch.py that demonstrates how to set encoding profile and preset for e.g. a usb camera.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package foxglove_compressed_video_transport

1.0.1 (2024-11-18)

  • Fill empty message fields (#1)
    • Fix missing timestamp and frame_id in subscriber and publisher
  • Contributors: Bernd Pfrommer, eLEcTRiCZiTy

1.0.0 (2024-09-16)

  • initial commit
  • Contributors: Bernd Pfrommer

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged foxglove_compressed_video_transport at Robotics Stack Exchange

foxglove_compressed_video_transport package from foxglove_compressed_video_transport repo

foxglove_compressed_video_transport

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/foxglove_compressed_video_transport.git
VCS Type git
VCS Version release
Last Updated 2024-11-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

foxglove_compressed_video_transport provides a plugin to image_transport for transparently sending an image stream encoded in foxglove compressed video packets.

Additional Links

Maintainers

  • Bernd Pfrommer

Authors

  • Bernd Pfrommer

ROS2 image transport for Foxglove CompressedVideo messages

This plugin provides a ROS2 image transport for encoding messages in Foxglove’s CompressedVideo message format, using the FFMpeg library. These messages can be recorded in a rosbag for processing with e.g. Foxglove Studio.

There is also an unsupported decoder provided for testing purposes. Use at your own peril.

Supported systems

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

Build Status Build Status Build Status Build Status

Installation

From packages

sudo apt-get install ros-${ROS_DISTRO}-foxglove-compressed-video-transport

From source

Set the following shell variables:

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

and follow the instructions here

Make sure to source your workspace’s install/setup.bash afterwards. If all goes well you should see the transport show up:

ros2 run image_transport list_transports

should give output (among other transport plugins):

"image_transport/foxglove"
 - Provided by package: foxglove_compressed_video_transport
 - Publisher: 
      This plugin encodes frames into foxglove compressed video packets
    
 - Subscriber: 
      This plugin decodes frames from foxglove compressed video packets

Remember to install the plugin on both hosts, the one that is encoding and the one that is decoding (viewing).

Parameters

Publisher (camera driver)

Here is a list of the available encoding parameters:

  • encoding: the libav (ffmpeg) encoder being used. The default is libx264, which is on-CPU unaccelerated encoding. Depending on your hardware, your encoding options may include the hardware accelerated h264_nvenc or h264_vaapi. You can list all available encoders with ffmpeg --codecs. In the h264 row, look for (encoders).
  • preset: default is empty (“”). Valid values can be for instance slow, ll (low latency) etc. To find out what presets are available, run e.g. fmpeg -hide_banner -f lavfi -i nullsrc -c:v libx264 -preset help -f mp4 - 2>&1
  • profile: For instance baseline, main. See the ffmpeg website.
  • tune: See the ffmpeg website. The default is empty(“”).
  • gop_size: The number of frames between keyframes. For foxglove, this must be set to 1. The larger this number the more latency you will have, but also the more efficient the transmission becomes.
  • bit_rate: The max bit rate [in bits/s] that the encoding will target. Default is ``8242880`.
  • delay: Not sure what it does, but doesn’t help with delay. Default is empty (“”).
  • pixel_format: Forces a different pixel format for internal conversions. Experimental, don’t use.
  • qmax: Max quantization rate. Defaults to 10. See ffmpeg documentation. The larger this number, the worse the image looks, and the more efficient the encoding.
  • measure_performance: For performance debugging (developers only). Defaults to false.
  • performance_interval: How many frames to wait between logging performance data.

The parameters are under the foxglove variable block. If you launch your publisher node (camera driver), you can give it a parameter list on the way like so:

            parameters=[
                params_path,
                {
                    '.image_raw.foxglove.encoding': 'h264_vaapi',  # 'libx264'
                    '.image_raw.foxglove.profile': 'main',
                    '.image_raw.floxglove.preset': 'll',
                },
            ],

See the example launch file for a V4L USB camera

Subscriber (viewer)

The subscriber plugin is used for debugging purposes and is not supported.

Setting encoding parameters when launching camera driver

The launch directory contains an example launch file cam.launch.py that demonstrates how to set encoding profile and preset for e.g. a usb camera.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package foxglove_compressed_video_transport

1.0.1 (2024-11-18)

  • Fill empty message fields (#1)
    • Fix missing timestamp and frame_id in subscriber and publisher
  • Contributors: Bernd Pfrommer, eLEcTRiCZiTy

1.0.0 (2024-09-16)

  • initial commit
  • Contributors: Bernd Pfrommer

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged foxglove_compressed_video_transport at Robotics Stack Exchange

foxglove_compressed_video_transport package from foxglove_compressed_video_transport repo

foxglove_compressed_video_transport

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/foxglove_compressed_video_transport.git
VCS Type git
VCS Version release
Last Updated 2024-11-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

foxglove_compressed_video_transport provides a plugin to image_transport for transparently sending an image stream encoded in foxglove compressed video packets.

Additional Links

Maintainers

  • Bernd Pfrommer

Authors

  • Bernd Pfrommer

ROS2 image transport for Foxglove CompressedVideo messages

This plugin provides a ROS2 image transport for encoding messages in Foxglove’s CompressedVideo message format, using the FFMpeg library. These messages can be recorded in a rosbag for processing with e.g. Foxglove Studio.

There is also an unsupported decoder provided for testing purposes. Use at your own peril.

Supported systems

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

Build Status Build Status Build Status Build Status

Installation

From packages

sudo apt-get install ros-${ROS_DISTRO}-foxglove-compressed-video-transport

From source

Set the following shell variables:

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

and follow the instructions here

Make sure to source your workspace’s install/setup.bash afterwards. If all goes well you should see the transport show up:

ros2 run image_transport list_transports

should give output (among other transport plugins):

"image_transport/foxglove"
 - Provided by package: foxglove_compressed_video_transport
 - Publisher: 
      This plugin encodes frames into foxglove compressed video packets
    
 - Subscriber: 
      This plugin decodes frames from foxglove compressed video packets

Remember to install the plugin on both hosts, the one that is encoding and the one that is decoding (viewing).

Parameters

Publisher (camera driver)

Here is a list of the available encoding parameters:

  • encoding: the libav (ffmpeg) encoder being used. The default is libx264, which is on-CPU unaccelerated encoding. Depending on your hardware, your encoding options may include the hardware accelerated h264_nvenc or h264_vaapi. You can list all available encoders with ffmpeg --codecs. In the h264 row, look for (encoders).
  • preset: default is empty (“”). Valid values can be for instance slow, ll (low latency) etc. To find out what presets are available, run e.g. fmpeg -hide_banner -f lavfi -i nullsrc -c:v libx264 -preset help -f mp4 - 2>&1
  • profile: For instance baseline, main. See the ffmpeg website.
  • tune: See the ffmpeg website. The default is empty(“”).
  • gop_size: The number of frames between keyframes. For foxglove, this must be set to 1. The larger this number the more latency you will have, but also the more efficient the transmission becomes.
  • bit_rate: The max bit rate [in bits/s] that the encoding will target. Default is ``8242880`.
  • delay: Not sure what it does, but doesn’t help with delay. Default is empty (“”).
  • pixel_format: Forces a different pixel format for internal conversions. Experimental, don’t use.
  • qmax: Max quantization rate. Defaults to 10. See ffmpeg documentation. The larger this number, the worse the image looks, and the more efficient the encoding.
  • measure_performance: For performance debugging (developers only). Defaults to false.
  • performance_interval: How many frames to wait between logging performance data.

The parameters are under the foxglove variable block. If you launch your publisher node (camera driver), you can give it a parameter list on the way like so:

            parameters=[
                params_path,
                {
                    '.image_raw.foxglove.encoding': 'h264_vaapi',  # 'libx264'
                    '.image_raw.foxglove.profile': 'main',
                    '.image_raw.floxglove.preset': 'll',
                },
            ],

See the example launch file for a V4L USB camera

Subscriber (viewer)

The subscriber plugin is used for debugging purposes and is not supported.

Setting encoding parameters when launching camera driver

The launch directory contains an example launch file cam.launch.py that demonstrates how to set encoding profile and preset for e.g. a usb camera.

License

This software is issued under the Apache License Version 2.0.

CHANGELOG

Changelog for package foxglove_compressed_video_transport

1.0.1 (2024-11-18)

  • Fill empty message fields (#1)
    • Fix missing timestamp and frame_id in subscriber and publisher
  • Contributors: Bernd Pfrommer, eLEcTRiCZiTy

1.0.0 (2024-09-16)

  • initial commit
  • Contributors: Bernd Pfrommer

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged foxglove_compressed_video_transport 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.