nginx-rtmp流媒体服务器搭建

2019-11-08  本文已影响0人  mapleSeriesX

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

上一篇下一篇

猜你喜欢

热点阅读