6 releases
0.2.4 | May 21, 2020 |
---|---|
0.2.3 | May 2, 2020 |
0.2.1 | Apr 25, 2020 |
0.1.0 | Apr 10, 2020 |
#337 in Video
21 downloads per month
31KB
576 lines
Mavlink Camera Manager
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).
How to test it
Get video via player
You can get the video via VLC or any other media player that can receive video via rtsp
Guide:
- Start
mavlink-camera-manager
viacargo run
or calling the binary directly. - Open player and set the rtsp string that the command line provides
- Done
Get video via Ground Control Stations
The video should automatically popup if you are using any modern GCS, like QGroundControl, that has support for MAVLink camera messages.
Guide:
- 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
Use your own pipeline
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
How to build it
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.
Dependencies
~5–9MB
~161K SLoC