linux系统下nginx rtmp模块流媒体服务器

2018-08-16  本文已影响0人  李O大爷

1、准备以下源码包

nginx-1.14.0.tar.gz 

 nginx-rtmp-module-master.zip 

 openssl-1.0.2o.tar.gz 

 pcre-8.42.tar.gz 

 zlib-1.2.11.tar.gz

2、全部解压至/usr/local/src/目录下

nginx-1.14.0 

 nginx-rtmp-module-master 

 openssl-1.0.2o 

 pcre-8.42 

 zlib-1.2.11

3、cd /usr/local/src/nginx-1.14.0/目录下

执行:

./configure --prefix=/usr/local/nginx --with-zlib=/usr/local/src/zlib-1.2.11 --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.2o --with-pcre=/usr/local/src/pcre-8.42

make && make install 

4、nginx安装完成后,启动nginx 

执行 /usr/local/nginx/sbin/nginx

5、配置nginx-rtmp

创建目录mkdir -p /opt/video/hls  && chmod 777 -R /opt/video 用于存放媒体文件,因为是测试所以直接给的777权限

执行 vim /usr/local/nginx/conf/nginx.conf

events {

    worker_connections  1024;

}

添加rtmp配置

rtmp {                #RTMP服务

    server {

        listen 1935;  #//服务端口

        chunk_size 4096;  #//数据传输块的大小

        application live{

            live on;

            hls on; #这个参数把直播服务器改造成实时回放服务器。

           wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。

           hls_path /opt/video/hls; #切片视频文件存放位置。

           hls_fragment 10s;    #每个视频切片的时长。

           hls_playlist_length 60s;  #总共可以回看的事件,这里设置的是1分钟。

           hls_continuous on; #连续模式。

           hls_cleanup on;    #对多余的切片进行删除。

          hls_nested on;    #嵌套模式。

        }

    }

}

在http 添加

server {

        listen      80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root  html;

            index  index.html index.htm;

        }

        location /stat {

            rtmp_stat all;

            rtmp_stat_stylesheet stat.xsl;

        }

        location /stat.xsl {

            root /usr/local/src/nginx-rtmp-module-master/;

        }

        location /live {  #这里也是需要添加的字段。

            types {

                application/vnd.apple.mpegurl m3u8;

                video/mp2t ts;

            }

            alias /opt/video/hls; #第五步创建的目录

            expires -1;

            add_header Cache-Control no-cache;

        }

然后wq保存,重启nginx ,  /usr/local/nginx/sbin/nginx -s reload

访问http://172.16.1.155/stat  会有输出内容

6、下载obs软件安装,进行推流操作

点击设置->流->自定义流媒体服务器:

url:rtmp://172.16.1.155/live

流名称:test  #这个名字是随便定义的会自动拼在live/test

保存。

在来源里添加一个来源,视频或窗口捕获都可以,

然后点击开始录制,再点击开始推流  #顺序不要整反

查看/opt/video/hls/目录下是否已产生文件,正常会产生test目录,test目录下会有0.ts,1.ts......  以及index.m3u8

再次访问http://172.16.1.155/stat  会有输出内容,并有流量变化

7、随便安装一个可以进行网络流播放的播放器,我使用的是EVPlayer 

播放网络流地址为:http://172.16.1.155/live/test/index.m3u8

记住最后使用的是http了,不是rtmp。

上一篇下一篇

猜你喜欢

热点阅读