美文网首页
linux系统下nginx rtmp模块流媒体服务器

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

作者: 李O大爷 | 来源:发表于2018-08-16 17:01 被阅读0次

    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。

    相关文章

      网友评论

          本文标题:linux系统下nginx rtmp模块流媒体服务器

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