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
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 tofalse
can resolve problems with sub-par framerates) -
use_gst_timestamps
: Use the GStreamer buffer timestamps for the image message header timestamps (setting this tofalse
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:
- v4l.launch.xml: Standard video4linux cameras like USB webcams
- v4ljpeg.launch.xml: Same as above, but publishes compressed images
- videofile.launch.xml: Opens any videofile readable by GStreamer
- component_pipeline_launch.py: Launch an image pipeline using ROS2 composition
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
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 tofalse
can resolve problems with sub-par framerates) -
use_gst_timestamps
: Use the GStreamer buffer timestamps for the image message header timestamps (setting this tofalse
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:
- v4l.launch.xml: Standard video4linux cameras like USB webcams
- v4ljpeg.launch.xml: Same as above, but publishes compressed images
- videofile.launch.xml: Opens any videofile readable by GStreamer
- component_pipeline_launch.py: Launch an image pipeline using ROS2 composition
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
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 tofalse
can resolve problems with sub-par framerates) -
use_gst_timestamps
: Use the GStreamer buffer timestamps for the image message header timestamps (setting this tofalse
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:
- v4l.launch.xml: Standard video4linux cameras like USB webcams
- v4ljpeg.launch.xml: Same as above, but publishes compressed images
- videofile.launch.xml: Opens any videofile readable by GStreamer
- component_pipeline_launch.py: Launch an image pipeline using ROS2 composition
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
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 tofalse
can resolve problems with sub-par framerates) -
use_gst_timestamps
: Use the GStreamer buffer timestamps for the image message header timestamps (setting this tofalse
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:
- v4l.launch.xml: Standard video4linux cameras like USB webcams
- v4ljpeg.launch.xml: Same as above, but publishes compressed images
- videofile.launch.xml: Opens any videofile readable by GStreamer
- component_pipeline_launch.py: Launch an image pipeline using ROS2 composition
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
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 tofalse
can resolve problems with sub-par framerates) -
use_gst_timestamps
: Use the GStreamer buffer timestamps for the image message header timestamps (setting this tofalse
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:
- v4l.launch.xml: Standard video4linux cameras like USB webcams
- v4ljpeg.launch.xml: Same as above, but publishes compressed images
- videofile.launch.xml: Opens any videofile readable by GStreamer
- component_pipeline_launch.py: Launch an image pipeline using ROS2 composition
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
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 tofalse
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
-
GST-1.0: Use the roslaunch argument
- 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)