当前位置: 首页 > ops >正文

大疆上云API+流媒体服务器部署实现直播功能

根据官网文档上云API,先将官方提供的Demo部署起来,后端和前端服务环境搭建请参考官方文档。因为官方文档没有对直播这块的环境搭建进行说明,所以下面主要对直播功能环境搭建做一个记录,仅供参考,如有不足之处,请评论区留言哦!

根据官方的文档我们先把Demo部署起来,Mysql数据库、Redis缓存、EMQX消息服务器安装起来。然后将前后端源码下载到本地,配置好前后端项目配置文件,保证Demo正常运行,浏览器正常访问。接下来再看看直播功能...

直播功能主要是把无人机相机负载和大疆机场的视频码流发给第三方云平台进行播放,用户可以方便的在远程web页面点击直播。直播功能支持直播的开始、停止、清晰度设置、镜头切换。

下面是我截取的官方对直播总体框架介绍图,红色文字方便理解加上去的。要实现的直播功能就是需要我们单独部署流媒体服务负责对设备的推流进行接收和处理(转协议、鉴权等)。

 流媒体服务器百度了解了有一些好用的开源项目,如使用mediamtx、ZLMediaKit进行搭建,也有很多文章关于搭建流媒体服务的介绍。因为考虑到后期流媒体服务最好能集成到后端项目中,使用Gitee上一个Java版开源的流媒体服务器项目——zlm4j。

zlm4j 是一个基于 ZLMediaKit 的 Java 封装库,旨在为 Java 开发者提供一个简单易用的流媒体服务框架。通过 JNA(Java Native Access)技术,zlm4j 成功地将 ZLMediaKit 的 C API 封装为 Java API,使得开发者可以在 Java 项目中轻松集成流媒体服务功能,无需额外部署流媒体服务器。

作者还提供了zlm4j集成示例Demo——j-media-server,直接下载这个示例项目部署就行了。

拖大佬的福项目成功运行,简直太顺利了!到这里流媒体服务器我们就有了,下面就是在大疆给的前后端项目配置文件配置好流媒体服务的相关配置。

大疆的Demo这里如果是rtmp协议才需要搭建流媒体服务器,并且配置该协议流媒体服务地址,如果是rtsp协议,直接配置用户名、密码和端口号。配置完成所有服务该启动的启动好,如果已经连接上设备的就可以去直播模块测试直播功能了。如果和我一样没有设备的,可以使用FFmpeg 工具模拟设备推流,然后修改一下大疆的Demo中的接口,看一下拉流播放功能。

rtmp协议推流

ffmpeg -re -i "C:\Users\Administrator\Desktop\test.mp4" -c copy -f flv "rtmp://192.168.0.188:7935/live/test"

如果和我一样动态的显示推流动作,说明往服务器推流成功,不要关闭窗口。

 修改大疆Demo项目前端后端代码,前端设备必选放行请求接口,后端接口直接返回成功推流的响应。

播放效果

 

http://www.xdnf.cn/news/9942.html

相关文章:

  • 基于粒子滤波的PSK信号解调实现
  • new和delete的理解
  • ESP8266远程控制:实现网络通信与设备控制
  • 编程之巅:语言的较量
  • for(auto a:b)和for(auto a:b)的区别
  • Nginx Lua模块(OpenResty)实战:动态化、智能化你的Nginx,实现复杂Web逻辑 (2025)
  • CentOS7.9环境离线部署docker和docker-compose的两种方式
  • 小型图书管理系统案例(用于spring mvc 实践)
  • python37天打卡
  • 【SpringCache 提供的一套基于注解的缓存抽象机制】
  • 从一到无穷大 #46:探讨时序数据库Deduplicate与Compaction的设计权衡
  • ArcGIS Pro 3.4 二次开发 - 图形图层
  • PHP 垃圾回收机制解析与应用案例
  • 中国移动咪咕助力第五届全国人工智能大赛“AI+数智创新”专项赛道开展
  • 【运维实战】Linux 中su和sudo之间的区别以及如何配置sudo!
  • NVIDIA英伟达describe-anything软件本地电脑安装部署完整教程
  • windows-cmd 如何查询cpu、内存、磁盘的使用情况
  • 血糖监测仪解决方案推荐芯片-NRF52832/HS6621/OM6626
  • unity入门:同一文本不同颜色显示
  • 长短期记忆(LSTM)网络模型
  • Live Helper Chat 安装部署
  • Science Advances 上海理工大学与美国杜克大学(Duke University)共同开发了一种仿生复眼相机
  • springboot项目下面的单元测试注入的RedisConnectionFactory类redisConnectionFactory值为什么为空呢?
  • JavaScript极致性能优化全攻略
  • 苏州SAP代理公司排名:工业园区企业推荐的服务商
  • LabVIEW输血袋字符智能检测系统
  • 四、关系数据库标准语言SQL_1
  • windows下安装docker、dify、ollama
  • Chainlink:连接 Web2 与 Web3 的去中心化桥梁
  • go的select多路复用