美文网首页
nginx-rtmp流媒体服务器搭建

nginx-rtmp流媒体服务器搭建

作者: mapleSeriesX | 来源:发表于2019-11-08 09:30 被阅读0次

    1.先下载安装 nginx 和 nginx-rtmp 编译依赖工具
    sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

    1. 创建一个工作目录,并切换到工作目录
      mkdir /usr/jason/nginx
      cd /usr/jason/nginx

    2. 下载 nginx 和 nginx-rtmp源码(wget是一个从网络上自动下载文件的自由工具,ubuntu 版本高的话要对应高版本的nginx )
      wget http://nginx.org/download/nginx-1.17.0.tar.gz
      wget --no-check-certificate https://github.com/arut/nginx-rtmp-module/archive/master.zip

    3. 安装unzip工具,解压下载的安装包
      sudo apt-get install unzip

    5.解压 nginx 和 nginx-rtmp安装包
    tar -zxvf nginx-1.17.0.tar.gz
    -zxvf分别是四个参数
    x : 从 tar 包中把文件提取出来
    z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
    v : 显示详细信息
    f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz

    unzip master.zip

    1. 切换到 nginx-目录

    chmod 777 -R nginx-1.17.0

    cd nginx-1.17.0

    7.添加 nginx-rtmp 模板编译到 nginx
    ./configure --without-http_gzip_module --with-http_ssl_module --add-module=../nginx-rtmp-module-master

    8.编译安装
    make (如果报错,将对应/nginx/objs/Makefile中的 -Werrori 去掉, 在重新make即可;-Werrori是指GCC将所有的警告当成错误进行处理,所有导致错误输出,并不能进行下一步。)

    sudo make install

    1. 安装nginx init 脚本
      如果访问不到 请复制:nginx
      sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
      sudo chmod +x /etc/init.d/nginx
      sudo update-rc.d nginx defaults

    2. 启动和停止nginx 服务,生成配置文件
      sudo service nginx start
      sudo service nginx stop

    3. 安装 FFmpeg
      chmod 777 -R ffmpeg
      ./configure --disable-yasm
      make
      make install

    4. 配置 nginx-rtmp 服务器
      使用 lsof -i:1935 查看1935有没有被占用 如果被占用 可以换其他端口
      打开 /usr/local/nginx/conf/nginx.conf
      在末尾添加如下 配置

    rtmp {
        server {
                listen 1935;
                chunk_size 4096;
    
                application live {
                        live on;
                        record off;
                        exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
                }
                application live360p {
                        live on;
                        record off;
            }
        }
    }
    
    1. 保存上面配置文件,然后重新启动nginx服务
      sudo service nginx restart

    2. 如果你使用了防火墙,请允许端口 tcp 1935

    16: 使用 客户端,使用 rtmp协议进行视频实时采集
    Field 1: rtmp://your.vultr.ip/live/
    Field 2: stream-key-your-set

    服务器配置测试播放器:
    将播放器复制到目录:/usr/local/nginx/html/,然后修改播放地址

    用ffplay播放RTMP直播流:
    ffplay "rtmp://pub1.guoshi.com/live/newcetv1 live=1"

    用SmartPlayer.exe
    rtmp://192.168.88.168:1935/live/jason

    相关文章

      网友评论

          本文标题:nginx-rtmp流媒体服务器搭建

          本文链接:https://www.haomeiwen.com/subject/goyykctx.html