You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

DJI Phantom 4 Pro+自定义推流平台连接配置方法咨询

排查Phantom 4 Pro+推流到Nginx RTMP服务器的问题

结合你给出的UFW状态和已完成的OBS测试,咱们一步步梳理可能的问题点,帮你搞定无人机推流:

1. 先确认Nginx RTMP配置的正确性

首先检查你的Nginx配置文件(一般在/etc/nginx/nginx.conf或单独的RTMP配置文件),RTMP模块的配置得是类似这样的:

rtmp {
    server {
        listen 1935; # 对应你UFW开放的RTMP默认端口
        chunk_size 4096;

        application live {
            live on;
            allow publish all; # 测试阶段先放开推流权限,后续再按需限制IP
            allow play all;
        }
    }
}

注意:你用OBS测试时的推流地址应该是rtmp://{服务器IP}/live(加上自定义密钥,比如stream1),而你提到的http://{IP}是HTTP播放地址,别把播放地址当成推流地址填给无人机了!

2. 验证UFW端口规则的完整性

你的UFW状态显示开放了1935端口,但默认情况下UFW只允许TCP流量,而部分设备推流时会用到UDP辅助。可以用这条命令确认:

ufw status verbose | grep 1935

如果只显示TCP规则,补充开放UDP的1935端口:

ufw allow 1935/udp
ufw reload

3. 严格核对无人机的推流设置

Phantom 4 Pro+的自定义推流参数容不得半点错:

  • 推流地址:必须是rtmp://{服务器IP/域名}/{应用名称},比如局域网内填rtmp://192.168.1.100/live,公网服务器填公网IP或域名
  • 推流密钥:和你OBS测试时用的一致(比如stream1),不要加任何额外路径
  • 分辨率/码率:建议先选低档位测试(比如1080P 4Mbps),避免码率过高导致连接失败

另外要确保:

  • 局域网测试时,无人机和服务器在同一网段
  • 公网测试时,路由器已经完成1935端口的端口映射(指向服务器内网IP)

4. 查看服务器日志定位问题

通过Nginx日志可以直接看到连接情况,执行这条命令实时查看:

tail -f /var/log/nginx/error.log
  • 如果有“拒绝连接”类日志:大概率是权限或地址配置错误
  • 如果完全无日志:说明无人机没发起连接,检查网络连通性(比如在无人机所在网络ping服务器IP)

5. 额外排查点

  • 路由器的AP隔离功能可能会阻止设备间连接,测试阶段可以临时关闭
  • 服务器的SELinux如果开启,可能会拦截RTMP流量,用sestatus查看状态,临时关闭可执行setenforce 0
  • 确保无人机固件是最新版本,旧固件可能存在推流兼容性问题

按上面的步骤逐一排查,应该能快速定位并解决问题。

内容的提问来源于stack exchange,提问作者Yandi Banyu Karima Waly

火山引擎 最新活动