6 个版本

0.2.4 2020年5月21日
0.2.3 2020年5月2日
0.2.1 2020年4月25日
0.1.0 2020年4月10日

#337 in 视频

每月 21 次下载

MIT 许可证

31KB
576 代码行

Mavlink Camera Manager

Build status Cargo download Crate info Documentation

Mavlink Camera Manager 是一个可扩展的跨平台相机服务器。

它提供 RTSP 服务以共享视频流,并提供与 MAVLink 相机协议兼容的 API 来配置地面控制站(例如:QGroundControl)。

如何测试它

通过播放器获取视频

您可以通过 VLC 或其他可以接收 rtsp 视频的任何其他媒体播放器来获取视频。

指南

  1. 通过 mavlink-camera-manager 使用 cargo run 或直接调用二进制文件来启动 mavlink-camera-manager
  2. 打开播放器并设置命令行提供的 rtsp 字符串
  3. 完成

通过地面控制站获取视频

如果您使用的是支持 MAVLink 相机消息的任何现代地面控制站,如 QGroundControl,则视频应自动弹出。

指南

  1. 通过 mavlink-camera-manager 使用 cargo run 或直接调用二进制文件来启动 mavlink-camera-manager
  2. 使用 mavproxysim_vehicle 并以 --out=udpbcast:0.0.0.0:14550 启动
    • 默认情况下,mavlink-camera-manager 使用 14550 来执行 mavlink 连接
  3. 打开您的地面控制站
  4. 完成

使用您自己的管道

您可以通过 --pipeline-rtsp 参数使用自己的管道,以下是一些示例

  • 'videotestsrc !video/x-raw,width=640,height=480 !videoconvert!x264enc!rtph264pay name=pay0'
  • 'rtspsrclocation="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"latency=100 !rtph264depay!rtph264pay name=pay0'
  • 'v4l2srcdevice=/dev/video0!video/x-h264,width=1920,height=1080,type=video!rtph264pay name=pay0'

注意,某些地面控制站仅支持使用 H264 编码的视频

如何构建它

请记住安装

  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev
  • libgstrtspserver-1.0-dev

如果编译时无法找到这些包之一,请确保它们对 pkg-config 可见,可能需要设置 PKG_CONFIG_PATH 环境变量。

示例

  • 导出 PKG_CONFIG_PATH=/usr/local/Cellar/gst-plugins-base/1.16.2/lib/pkgconfig/

安装所有依赖项后,您可以在克隆后使用 cargo 进行构建。

  • cargobuild

如果 cargo 不可用,请安装并配置 rustup

依赖项

~5–9MB
~161K SLoC