利用gstreamer设计自已的图传 并整合到Qground Control地面站

设计思路

首先打算在无人机端搭载一个机载计算机,把挂载的UVC摄像头采集的视频通过WiFi或者4G网络发回到Qground地面站

硬件基础

  • TK1 罗技C920高清摄像头 无线网卡或者4G模块
  • PC端有无线网卡

1 首先 TK1和PC端都要有Linux开发环境,并且都安装有gstream工具
并且能保证能利用gstream 能在两个终端之间传输视频
如何安装gstream 请点击这里
如何进行视频传输测试,请点击这里

2 编译安装Qground Control地面站

  • 下载并安装 编译QGC所需的编译环境,Qt Creater 【注意版本很重要,一定要对应,当前是Qt 5.7.1】
  • 下载Qground源码包

  • 先别着急着编译,一定要仔细读读 qgroundcontrol 的REAEME文件,里面告诉你用Qt的那个版本来编译,尤其是最后一行,还有Video Streamin的说明。所以在编译之前,我们要为Video Stream 做准备

Qground Video Stream的说明文档上有这么一句话

这里写图片描述

看似轻巧的一句话,如果没有注意,就会出问题,它是说在编译Qground时,pkgconfig会自动把所需的gstream的必要的头文件可库包含进去,并自动编译。
所以我第一次编译时,没太在意,直接编译了,编译方法如下 
【Qground Control 编译安装】
Qground是编译成功了,但是General–video source 根本就没有下拉选项,所以不得不把编译后的软件直接删除,寻找问题,重新编译, 在编译之前,我做了如下修改

1 为我pkgconfig 添加gstreamer环境变量

在/etc/profile文件最后添加你安装gstreamer 时,库的路径
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/home/hualong/opt/gsr_1.5.2/out/lib
export GST_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/gstreamer-1.0

2 在qgroundcontrol源码下添加了,gstreamer的头文件

这个在你安装gstreamer的include文件夹下可以找到,直接把gst文件夹复制过去
这里写图片描述


做完这些处理之后,再编译,这个在你的Qground软件的general–video source就会多几个下拉选项
这里写图片描述

    -

你可能感兴趣的:(Linux网络编程)