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).
You can get the video via VLC or any other media player that can receive video via rtsp
mavlink-camera-manager
via cargo run
or calling the binary directly.The video should automatically popup if you are using any modern GCS, like QGroundControl, that has support for MAVLink camera messages.
mavlink-camera-manager
via cargo run
or calling the binary directly.mavproxy
or sim_vehicle
with --out=udpbcast:0.0.0.0:14550
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=pay'
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 PKGCONFIGPATH 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.