python+opencv+nginx+rtmp无人机平台通过RTMP自建直播服务器回传视频流,深度学习实现实时目标检测

本文详细介绍如何在CentOS 7环境下安装配置RTMP服务器,包括环境准备、依赖安装、nginx及nginx-rtmp-module模块编译配置等步骤,并通过实际案例演示如何实现无人机视频流的推送与拉取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

忙活到后半夜,从头到尾重建环境,暂时图像回来了,解析,识别,再说

1,传统手艺,win系统虚拟机安装centos7

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#备份yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#下载阿里源

2, 下载nginx,nginx-rtmp-module

        没有安装桌面,建议使用xshell,连接linux,传输文件到虚拟机

        nginx-1.23.2.tar.gz

        nginx-rtmp-module-1.2.2.tar.gz

[root@localhost nginx]# cd ~
[root@localhost ~]# tar -zxvf nginx-1.23.2.tar.gz
[root@localhost ~]# tar -zxvf nginx-rtmp-module-1.2.2.tar.gz
[root@localhost ~]# ls
nginx-1.23.2.tar.gz      nginx-rtmp-module-1.2.2.tar.gz
nginx-1.23.2     nginx-rtmp-module-1.2.2

3,这个时候先不要编译,建议直接检查安装pcre openssl 运行了再说

[root@localhost nginx-1.23.2]# yum install -y pcre pcre-devel
[root@localhost nginx-1.23.2]# yum install -y openssl openssl-devel

4,执行configure

# --prefix=设置安装路径
# --add-module=参与编译的子模块
[root@localhost nginx-1.23.2]# ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module-1.2.2 --with-http_ssl_module

5,生成Makfile文件

...
creating objs/Makefile

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library
...

6,开始编译

[root@localhost nginx-1.23.2]# make & make install

7,查看nginx文件夹下有4个新文件夹,修改conf配置文件

[root@localhost nginx-1.23.2]# cd /usr/local/nginx/
[root@localhost nginx]# ls
client_body_temp  fastcgi_temp  logs        sbin       test1.mp4
conf              html          proxy_temp  scgi_temp  uwsgi_temp
[root@localhost nginx]# vim /conf/nginx.conf

 

rtmp {
    server {
        listen 1935; #端口
        chunk_size 4000; 
        application live { #视频文件夹路径
            live on;
        }
    }
}

8,重新启动nginx

[root@localhost nginx]# ./sbin/nginx

9,重要的防火墙问题

        Linux在虚拟机中,与宿主机属于同一个局域网,但是跟宿主机所在的路由器,不是一个局域网,此时,建议Linux关闭防火墙,主要打开80端口,1935端口。

        宿主机win系统下,打开1935端口

        利用vm虚拟机ip地址端口转发功能,把虚拟机127.0.0.1:80 127.0.0.1:1935 ,转发为虚拟机对应的地址加端口

        虚拟网络编辑器>NAT模式>NAT设置>添加端口转发

        实现无人机连接路由器WIFI,与虚拟机网络连通

10,无人机手机客户端,打开直播服务,直接选择rtmp,输入以下地址

rtmp://192.168.5.2:1935/live

#ip地址一定是宿主机的IP,后面的live文件夹是写在配置文件的路径 

11,电脑端,安装VLC输入同样的url,局域网内推送拉视频流

rtmp://192.168.5.2:1935/live

#ip地址一定是宿主机的IP,后面的live文件夹是写在配置文件的路径 

 12,外网的话,就要选择阿里云或者花生壳了,下一步opencv 实现目标检测。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值