/gscam

ROS Camera driver for GStreamer-based video streams.

Primary LanguageC++

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.

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: