Nginx+rtmp搭建直播hls推流服务器

杂谈 2018-12-21

公司业务需求,需要搭建推流服务器,记录下完成搭建的过程,备用。
服务器环境 Centos

1.编译安装Nginx

不过多介绍

2.编译安装nginx-rtmp-moudle

2.1 下载模块 https://github.com/arut/nginx-rtmp-module,并解压
2.2 输入nginx –V 查看当前nginx已编译的模块,并复制configure arguments:后面的文本备用
1.png
2.3进入nginx编译安装后带有configure目录(测试时进入的是nginx/src目录)
粘贴2.2复制的文本,在最前面添加:./configure 在最后面添加—add-module=root/nginx-rtmp-module(具体文件目录根据2.1下载解压后的填写)并执行。
2.png
2.4 完成后依次执行make make install

3.进入nginx目录下的conf文件,修改nginx.conf文件

Conf文件修改参考了

http://blog.csdn.net/tao_627/article/details/22271559 
http://lib.csdn.net/article/57/37915?knId=1549
rtmp部分配置参数

rtmp {
    server {
        listen 1935;
    chunk_size 4096;
    application vod {
        play /data/wwwroot/default/video; 
    }
    application live {
    live on;
    hls on; #这个参数把直播服务器改造成实时回放服务器。
    wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。
    hls_path /data/wwwroot/default/hls; #切片视频文件存放位置。
    hls_fragment 10s;     #每个视频切片的时长。
    hls_playlist_length 60s;  #总共可以回看的事件,这里设置的是1分钟。
    hls_continuous on;     #连续模式。
    hls_cleanup off;       #对多余的切片进行删除。
    hls_nested on;        #嵌套模式。
    }
    }
}
http server 部分配置参数
location /stat {
            rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
    }
    location /stat.xsl {
        root /data/wwwroot/default;
    }
    location /live { 
        types {  
            application/vnd.apple.mpegurl m3u8;  
            video/mp2t ts;  
        }
        alias /data/wwwroot/default/hls;   
        expires -1;
        add_header Cache-Control no-cache;  
    }  

搭建完成后的效果
3.png