大疆无人机基于自搭建RTMP服务端推流直播

思路

大疆在手机端提供了软件DJI GO 4控制飞行参数等,其中包含自定义RTMP接口来向第三方推流进行直播业务,而我们可以利用这种直播的思路来完成画面传输。

环境

精灵Phantom 4 Pro V2.0
DJI GO 4(手机端)
win10(PC端)

步骤

一、搭建、启动RTMP服务端

Notice:搭建RTMP服务端主要参考[1]、[2]链接中的步骤。因为我们是通过DJI GO 4来推流,所以其中的ffmpeg步骤可以跳过,只需考虑Nginx的搭建。

  1. http://nginx-win.ecsds.eu/download/下载nginx 1.7.11.3 Gryphon.zip,解压后修改文件夹名称为nginx-1.7.11.3-Gryphon;
  2. 下载nginx-rtmp-module(https://download.csdn.net/download/liuwen718/13766367),将nginx-rtmp-module-master.zip解压后复制到目录nginx-1.7.11.3-Gryphon下;

     

  3. 在nginx-1.7.11.3-Gryphon\conf\nginx-win.conf文件中增加关于rtmp的设置rtmp { server { listen 1935; chunk_size 4000; application live { live on; } } }
    rtmp {
        server {
            listen 1935;
            chunk_size 4000;
            application live {
                 live on;
            }
        }
    }

     

  4. 打开cmd,进入nginx-1.7.11.3-Gryphon所在目录,运行:
    nginx.exe -c conf\nginx-win.conf

    此时,RTMP服务端已启动。

    如果要关闭服务端:

    nginx.exe -s stop      # 快速停止

    nginx.exe -s quit       #完整有序的停止

    二、设置DJI GO 4

1、手机端下载软件DJI GO 4(https://www.dji.com/cn/downloads/djiapp/dji-go-4),打开软件进行注册、登录等操作;

2、启动遥控器、无人机,用数据线连接遥控器和手机,打开DJI GO 4进入精灵4 Pro V2.0对应页面,如果设备正常连接则显示“开始飞行”图标;

3、点击“开始飞行”进入配置页面,右上角的通用设置中选择直播平台中的自定义直播,在其中填入rtmp地址:rtmp://192.168.x.xxx:1935/live/home(ip根据实际情况填写),设置完成后,开启直播;

4、在电脑端可安装VLC(https://www.videolan.org/vlc/)打开网络串流,填入rtmp://192.168.x.xxx:1935/live/home播放。

### 大疆无人机 RTMP 视频重新方案 #### 使用LiveQing实现大疆无人机RTMP视频重新 为了确保大疆无人机RTMP视频能够稳定传输并解决可能出现的花屏问题,可以通过部署LiveQing来完成这一过程。具体操作如下: - **媒体服务搭建** 需要先建立一个稳定的媒体服务器环境,这一步骤对于后续的操作至关重要[^1]。 - **获取地址** 获取用于送视频的目标URL,这是连接无人机与服务器的关键环节。通常情况下,该地址由提供直播服务的一方给出[^3]。 - **配置OBS** 利用开源软件OBS Studio作为中间件来进行视频处理工作。设置好输入源为来自大疆无人机的画面之后,在输出模块中填入之前获得的RTMP服务器地址以及密钥,从而建立起从无人机至最终目的地的数据通路。 ```python import obspython as obs def script_properties(): props = obs.obs_properties_create() # Add properties here, such as text fields for the stream URL and key return props def script_update(settings): server_url = obs.obs_data_get_string(settings, "server_url") # Example property name stream_key = obs.obs_data_get_string(settings, "stream_key") # Another example property name # Use these values to configure OBS's streaming settings programmatically ``` - **及播放验证** 完成上述配置后启动测试,确认画面能否正常显示于预期平台上。如果遇到任何技术难题或画质异常现象,则需参照官方文档排查可能存在的参数设定失误之处。 #### 使用LiveNVR进行RTMP转码分发 另一种方法是采用LiveNVR产品,它不仅具备基本的功能特性,还特别针对中国国情加入了对GB28181标准的支持,使得本地化应用更加便捷高效。其主要程包括但不限于: - **设备RTMP** 将采集自大疆无人机或其他兼容装置的实时影像编码打包成符合互联网协议的形式上传给指定节点[^2]。 - **配置拉转RTMP** 设定特定规则使接收到的内容得以再次向外发送出去,形成多点共享的局面;与此同时调整相关参数优化用户体验效果。 - **级联到GB28181国标平台** 对于有需求接入国家级监管系统的场景来说尤为关键——通过适配转换机制让私有的网络资源合法合规地融入公共安全体系之中去。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值