QGC地面站含视频流进阶打包(避免报错GstVideoReceiver.cc:113-“gst element factory_make(‘tee‘) failed)

问题描述

按照QGC地面站打包问题_qgroundcontrol 打包启动缺少qtwidget-优快云博客打包使用视频会出现解决QGC地面站二次开发打包后使用视频流出现GstVideoReceiver.cc:113-“gst element factory_make(‘tee‘) failed“错误的bug-优快云博客相关的bug,虽然已经给出解决bug的方案,但是当打包程序在其他电脑上安装时仍需要安装gstreamer,所以方案需要进一步优化,给出解决办法。

1.开发环境下的依赖问题

在开发环境中编译生成的程序(位于D:\fusheng\project\qgroundcontrol\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Debug\staging目录),当系统卸载 GStreamer 后仍能正常使用视频流,说明 GStreamer 依赖已正确编译并复制到该目录。但此目录下的程序无法在其他未安装 Qt 环境的电脑上运行,因为缺少 Qt 依赖库。

2.使用 windeployqt 打包的依赖问题

按照QGC地面站打包问题_qgroundcontrol 打包启动缺少qtwidget-优快云博客方法使用windeployqt QGroundControl.exe --qmldir D:\fs\project\qgroundcontrol --no-patchqt命令打包后(生成目录D:\QGC),程序可以在其他电脑上运行,但视频流功能失效,报错GstVideoReceiver.cc:113 - "gst element factory_make('tee') failed"。这是因为 windeployqt 仅处理 Qt 核心依赖,未包含第三方 GStreamer 多媒体框架的依赖。

优化解决方案

针对上述问题,我们可以综合两种方法的优势:

  • 首先使用 windeployqt 工具处理 Qt 核心依赖,确保程序能在其他电脑上正常启动。
  • 然后将开发环境中已正确集成 GStreamer 依赖的staging目录内容,复制到 windeployqt 生成的打包目录中。(D:\fusheng\project\qgroundcontrol\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Debug\staging文件夹内容复制进D:\QGC)
  • 确认程序能够正常启动,且视频流功能正常工作,不再出现gst element factory_make('tee') failed错误。
  • 如果对你有帮助,请给我点个赞!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JMFS1119

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值