前言

目的:为了实现将大疆无人机采集的视频推流到服务器端,将图像进行处理。使用公网ip,使推流服务不局限于局域网。

准备

  • 环境
    腾讯云轻量服务器,操作系统为Ubuntu18.04,附带公网ip。

  • 安装相关依赖包

1
2
3
4
5
6
sudo apt-get install autoconf automake
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install zlib1g-dev
sudo apt-get build-dep gcc

搭建

  • 系统下创建安装文件夹

    1
    2
    3
    4
    mkdir opt
    cd opt
    mkdir workspace
    cd workspace
  • 下载nginx安装包

    1
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
  • 下载nginx-rtmp-module

    1
    wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
  • 解压nginx-1.18.0.tar.gz

    1
    tar -zxvf nginx-1.18.0.tar.gz
  • 解压master.zip

    1
    unzip master

nginx安装操作

  • 进入nginx目录
1
cd nginx-1.18.0
  • 配置

    1
    ./configure --prefix=/usr/local/nginx
  • 安装

    1
    2
    make
    sudo make install

将nginx-rtmp 模本编译到 nginx 下

  • 配置

    1
    ./configure --with-http_ssl_module --add-module=../master
  • 安装

    1
    2
    make
    sudo make install

修改nginx的配置文件,配置nginx-rtmp

  • 进入配置文件所在的文件夹

    1
    cd /usr/local/nginx/conf/
  • 编辑配置文件

    1
    vim nginx.conf
  • 在配置文件最底部添加如下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    rtmp {
    server {
    listen 1935;
    chunk_size 4096;

    application live {
    live on; #挂载点
    record off;
    hls on;
    hls_path /usr/share/nginx/html/hls;
    hls_fragment 2s;
    }

    application live360p {#该挂载点为360p的压缩画面
    live on;
    record off;
    }

    hls_fragment 2s;
    }
    }

创建存放流文件目录

1
mkdir -p /usr/share/nginx/html/hls

防火墙设置

开放1935端口

1
sudo ufw allow 1935

启动nginx

  • 进入配置启动项存放文件

    1
    cd /usr/local/nginx/sbin
  • 启动nginx

    1
    ./nginx
  • 查看 nginx 是否启动

    1
    ps -ef|grep nginx