The Mavlink Camera Manager is an extensible cross-platform camera server.
It provides a RTSP service for sharing video stream and a MAVLink camera protocol compatible API to configure ground control stations (E.g: QGroundControl).
- Install:
gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad libgstrtspserver-1.0-0
- Download
- Run!
The break changes for the new release are big and this documentation may be outdated. For more information about the API, check: http://0.0.0.0:6020/docs
You can get the video via VLC or any other media player that can receive video via rtsp
- Start
mavlink-camera-manager
viacargo run
or calling the binary directly. - Open player and set the rtsp string that the command line provides
- Done
The video should automatically popup if you are using any modern GCS, like QGroundControl, that has support for MAVLink camera messages.
- Start
mavlink-camera-manager
viacargo run
or calling the binary directly. - Start
mavproxy
orsim_vehicle
with--out=udpbcast:0.0.0.0:14550
- By default mavlink-camera-manager uses 14550 to perform the mavlink connection
- Open your Ground Control Station
- Done
You can use your own pipeline via --pipeline-rtsp
parameter, some examples:
'videotestsrc ! video/x-raw,width=640,height=480 ! videoconvert ! x264enc ! rtph264pay name=pay0'
'rtspsrc location="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" latency=100 ! rtph264depay ! rtph264pay name=pay0'
'v4l2src device=/dev/video0 ! video/x-h264,width=1920,height=1080,type=video ! rtph264pay name=pay0'
Note that some GCS only supports video encoded with H264
Remember to install:
- libgstreamer1.0-dev
- libgstreamer-plugins-base1.0-dev
- libgstrtspserver-1.0-dev
If the compilation is failing to find one of this packages, make sure that they are visible for pkg-config
, may be necessary to set PKG_CONFIG_PATH environment variable.
Example:
- export
PKG_CONFIG_PATH=/usr/local/Cellar/gst-plugins-base/1.16.2/lib/pkgconfig/
After having installed all dependencies, you'll be able to build via cargo after cloning.
cargo build
If cargo
is not available, install and configure rustup.