-
 

gscam repository

Repository Summary

Checkout URI https://github.com/ros-drivers/gscam.git
VCS Type git
VCS Version ros2
Last Updated 2022-12-19
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)

Packages

Name Version
gscam 2.0.2

README

GSCam ROS2 CI

This is a ROS2 package originally developed by the Brown Robotics Lab for broadcasting any GStreamer video stream via image transport.

GStreamer Library Support

GSCam supports the following versions of ROS2 and GStreamer:

ROS2 version Ubuntu version GStreamer version
Foxy 20.04 1.16
Galactic 20.04 1.16
Humble 22.04 1.20
Rolling 22.04 1.20

Dependencies

These dependencies will be picked up by rosdep and are required to compile:

  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev

These additional packages are often useful:

  • gstreamer1.0-tools
  • libgstreamer-plugins-good1.0-dev

Ubuntu install:

sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

License

GSCam for ROS2 is licensed under the Apache 2 license.

Note that GStreamer is licensed under the LGPL, and GStreamer plugins have their own license requirements.

API

Nodes

  • gscam

Topics

  • camera/image_raw
  • camera/camera_info

Services

  • camera/set_camera_info

Parameters

  • camera_name: The name of the camera (corrsponding to the camera info)
  • camera_info_url: A url (file://path/to/file, package://pkg_name/path/to/file) to the camera calibration file
  • gscam_config: The GStreamer configuration string
  • frame_id: The tf2 frame ID
  • reopen_on_eof: Re-open the stream if it ends (EOF)
  • sync_sink: Synchronize the app sink (sometimes setting this to false can resolve problems with sub-par framerates)
  • use_gst_timestamps: Use the GStreamer buffer timestamps for the image message header timestamps (setting this to false results in header timestamps being the time that the image buffer transfer is completed)
  • image_encoding: image encoding (“rgb8”, “mono8”, “yuv422”, “jpeg”)
  • use_sensor_data_qos: The flag to use sensor data qos for camera topic(image, camera_info)

Examples

See example launch files and configs in the examples directory.

These examples have been tested and work well:

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Repository Summary

Checkout URI https://github.com/ros-drivers/gscam.git
VCS Type git
VCS Version ros2
Last Updated 2022-12-19
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)

Packages

Name Version
gscam 2.0.2

README

GSCam ROS2 CI

This is a ROS2 package originally developed by the Brown Robotics Lab for broadcasting any GStreamer video stream via image transport.

GStreamer Library Support

GSCam supports the following versions of ROS2 and GStreamer:

ROS2 version Ubuntu version GStreamer version
Foxy 20.04 1.16
Galactic 20.04 1.16
Humble 22.04 1.20
Rolling 22.04 1.20

Dependencies

These dependencies will be picked up by rosdep and are required to compile:

  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev

These additional packages are often useful:

  • gstreamer1.0-tools
  • libgstreamer-plugins-good1.0-dev

Ubuntu install:

sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

License

GSCam for ROS2 is licensed under the Apache 2 license.

Note that GStreamer is licensed under the LGPL, and GStreamer plugins have their own license requirements.

API

Nodes

  • gscam

Topics

  • camera/image_raw
  • camera/camera_info

Services

  • camera/set_camera_info

Parameters

  • camera_name: The name of the camera (corrsponding to the camera info)
  • camera_info_url: A url (file://path/to/file, package://pkg_name/path/to/file) to the camera calibration file
  • gscam_config: The GStreamer configuration string
  • frame_id: The tf2 frame ID
  • reopen_on_eof: Re-open the stream if it ends (EOF)
  • sync_sink: Synchronize the app sink (sometimes setting this to false can resolve problems with sub-par framerates)
  • use_gst_timestamps: Use the GStreamer buffer timestamps for the image message header timestamps (setting this to false results in header timestamps being the time that the image buffer transfer is completed)
  • image_encoding: image encoding (“rgb8”, “mono8”, “yuv422”, “jpeg”)
  • use_sensor_data_qos: The flag to use sensor data qos for camera topic(image, camera_info)

Examples

See example launch files and configs in the examples directory.

These examples have been tested and work well:

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Repository Summary

Checkout URI https://github.com/ros-drivers/gscam.git
VCS Type git
VCS Version ros2
Last Updated 2022-12-19
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)

Packages

Name Version
gscam 2.0.2

README

GSCam ROS2 CI

This is a ROS2 package originally developed by the Brown Robotics Lab for broadcasting any GStreamer video stream via image transport.

GStreamer Library Support

GSCam supports the following versions of ROS2 and GStreamer:

ROS2 version Ubuntu version GStreamer version
Foxy 20.04 1.16
Galactic 20.04 1.16
Humble 22.04 1.20
Rolling 22.04 1.20

Dependencies

These dependencies will be picked up by rosdep and are required to compile:

  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev

These additional packages are often useful:

  • gstreamer1.0-tools
  • libgstreamer-plugins-good1.0-dev

Ubuntu install:

sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

License

GSCam for ROS2 is licensed under the Apache 2 license.

Note that GStreamer is licensed under the LGPL, and GStreamer plugins have their own license requirements.

API

Nodes

  • gscam

Topics

  • camera/image_raw
  • camera/camera_info

Services

  • camera/set_camera_info

Parameters

  • camera_name: The name of the camera (corrsponding to the camera info)
  • camera_info_url: A url (file://path/to/file, package://pkg_name/path/to/file) to the camera calibration file
  • gscam_config: The GStreamer configuration string
  • frame_id: The tf2 frame ID
  • reopen_on_eof: Re-open the stream if it ends (EOF)
  • sync_sink: Synchronize the app sink (sometimes setting this to false can resolve problems with sub-par framerates)
  • use_gst_timestamps: Use the GStreamer buffer timestamps for the image message header timestamps (setting this to false results in header timestamps being the time that the image buffer transfer is completed)
  • image_encoding: image encoding (“rgb8”, “mono8”, “yuv422”, “jpeg”)
  • use_sensor_data_qos: The flag to use sensor data qos for camera topic(image, camera_info)

Examples

See example launch files and configs in the examples directory.

These examples have been tested and work well:

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Repository Summary

Checkout URI https://github.com/ros-drivers/gscam.git
VCS Type git
VCS Version ros2
Last Updated 2022-12-19
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)

Packages

Name Version
gscam 2.0.2

README

GSCam ROS2 CI

This is a ROS2 package originally developed by the Brown Robotics Lab for broadcasting any GStreamer video stream via image transport.

GStreamer Library Support

GSCam supports the following versions of ROS2 and GStreamer:

ROS2 version Ubuntu version GStreamer version
Foxy 20.04 1.16
Galactic 20.04 1.16
Humble 22.04 1.20
Rolling 22.04 1.20

Dependencies

These dependencies will be picked up by rosdep and are required to compile:

  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev

These additional packages are often useful:

  • gstreamer1.0-tools
  • libgstreamer-plugins-good1.0-dev

Ubuntu install:

sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

License

GSCam for ROS2 is licensed under the Apache 2 license.

Note that GStreamer is licensed under the LGPL, and GStreamer plugins have their own license requirements.

API

Nodes

  • gscam

Topics

  • camera/image_raw
  • camera/camera_info

Services

  • camera/set_camera_info

Parameters

  • camera_name: The name of the camera (corrsponding to the camera info)
  • camera_info_url: A url (file://path/to/file, package://pkg_name/path/to/file) to the camera calibration file
  • gscam_config: The GStreamer configuration string
  • frame_id: The tf2 frame ID
  • reopen_on_eof: Re-open the stream if it ends (EOF)
  • sync_sink: Synchronize the app sink (sometimes setting this to false can resolve problems with sub-par framerates)
  • use_gst_timestamps: Use the GStreamer buffer timestamps for the image message header timestamps (setting this to false results in header timestamps being the time that the image buffer transfer is completed)
  • image_encoding: image encoding (“rgb8”, “mono8”, “yuv422”, “jpeg”)
  • use_sensor_data_qos: The flag to use sensor data qos for camera topic(image, camera_info)

Examples

See example launch files and configs in the examples directory.

These examples have been tested and work well:

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Repository Summary

Checkout URI https://github.com/ros-drivers/gscam.git
VCS Type git
VCS Version ros2
Last Updated 2022-12-19
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)

Packages

Name Version
gscam 2.0.2

README

GSCam ROS2 CI

This is a ROS2 package originally developed by the Brown Robotics Lab for broadcasting any GStreamer video stream via image transport.

GStreamer Library Support

GSCam supports the following versions of ROS2 and GStreamer:

ROS2 version Ubuntu version GStreamer version
Foxy 20.04 1.16
Galactic 20.04 1.16
Humble 22.04 1.20
Rolling 22.04 1.20

Dependencies

These dependencies will be picked up by rosdep and are required to compile:

  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev

These additional packages are often useful:

  • gstreamer1.0-tools
  • libgstreamer-plugins-good1.0-dev

Ubuntu install:

sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

License

GSCam for ROS2 is licensed under the Apache 2 license.

Note that GStreamer is licensed under the LGPL, and GStreamer plugins have their own license requirements.

API

Nodes

  • gscam

Topics

  • camera/image_raw
  • camera/camera_info

Services

  • camera/set_camera_info

Parameters

  • camera_name: The name of the camera (corrsponding to the camera info)
  • camera_info_url: A url (file://path/to/file, package://pkg_name/path/to/file) to the camera calibration file
  • gscam_config: The GStreamer configuration string
  • frame_id: The tf2 frame ID
  • reopen_on_eof: Re-open the stream if it ends (EOF)
  • sync_sink: Synchronize the app sink (sometimes setting this to false can resolve problems with sub-par framerates)
  • use_gst_timestamps: Use the GStreamer buffer timestamps for the image message header timestamps (setting this to false results in header timestamps being the time that the image buffer transfer is completed)
  • image_encoding: image encoding (“rgb8”, “mono8”, “yuv422”, “jpeg”)
  • use_sensor_data_qos: The flag to use sensor data qos for camera topic(image, camera_info)

Examples

See example launch files and configs in the examples directory.

These examples have been tested and work well:

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Repository Summary

Checkout URI https://github.com/ros-drivers/gscam.git
VCS Type git
VCS Version master
Last Updated 2018-09-06
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)

Packages

Name Version
gscam 1.0.1

README

GSCam Build Status

This is a ROS package originally developed by the Brown Robotics Lab for broadcasting any GStreamer-based video stream via the standard ROS Camera API. This fork has several fixes incorporated into it to make it broadcast correct sensor_msgs/Image messages with proper frames and timestamps. It also allows for more ROS-like configuration and more control over the GStreamer interface.

Note that this pacakge can be built both in a rosbuild and catkin workspaces.

GStreamer Library Support

gscam supports the following versions of GStreamer

0.1.x: Default

Install dependencies via rosdep.

1.0.x: Experimental

Dependencies:

  • gstreamer1.0-tools
  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev
  • libgstreamer-plugins-good1.0-dev

Ubuntu Install:

12.04
sudo add-apt-repository ppa:gstreamer-developers/ppa
sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

14.04
sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

Usage:

  • Use the CMake flag -DGSTREAMER_VERSION_1_x=On when building
  • See the Video4Linux2 launchfile example for an example of the differences in the GStreamer config lines

Notes:

  • This has been tested with v4l2src

ROS API (stable)

gscam

This can be run as both a node and a nodelet.

Nodes

  • gscam

Topics

  • camera/image_raw
  • camera/camera_info

Services

  • camera/set_camera_info

Parameters

  • ~camera_name: The name of the camera (corrsponding to the camera info)
  • ~camera_info_url: A url (file://path/to/file, package://pkg_name/path/to/file) to the camera calibration file.
  • ~gscam_config: The GStreamer configuration string.
  • ~frame_id: The TF frame ID.
  • ~reopen_on_eof: Re-open the stream if it ends (EOF).
  • ~sync_sink: Synchronize the app sink (sometimes setting this to false can resolve problems with sub-par framerates).

C++ API (unstable)

The gscam c++ library can be used, but it is not guaranteed to be stable.

Examples

See example launchfiles and configs in the examples directory. Currently there are examples for:

  • Video4Linux2: Standard video4linux-based cameras like USB webcams.
    • GST-1.0: Use the roslaunch argument GST10:=True for GStreamer 1.0 variant
  • Nodelet: Run a V4L-based camera in a nodelet
  • Video File: Any videofile readable by GStreamer
  • DeckLink: BlackMagic DeckLink SDI capture cards (note: this requires the gst-plugins-bad plugins)

CONTRIBUTING

No CONTRIBUTING.md found.