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.
gscam supports the following versions of GStreamer
Install dependencies via rosdep
.
Ubuntu Install:
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
sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev
-DGSTREAMER_VERSION_1_x=On
when buildingv4l2src
This can be run as both a node and a nodelet.
gscam
camera/image_raw
camera/camera_info
camera/set_camera_info
~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).The gscam c++ library can be used, but it is not guaranteed to be stable.
See example launchfiles and configs in the examples directory. Currently there are examples for:
GST10:=True
for GStreamer 1.0 variantgst-plugins-bad
plugins)