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.
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 tofalse
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:
- Video4Linux2: Standard video4linux-based cameras like USB webcams
- 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)