今天闲的无聊,打算自己搭一套直播服务试试,以下为搭建流程,顺便记录一下。

环境为centos7

安装宝塔

见宝塔官网

安装NGINX

软件商店-》安装nginx:选择编译安装,并添加自定义模块

模块名称:nginx_rtmp_module (自己按要求随意填写)
描述: nginx rtmp (自己按要求随意填写)
参数:–add-module=/www/server/nginx-rtmp-module

前置脚本:

git clone https://github.com/arut/nginx-rtmp-module /www/server/

image

image-1668926554827

安装完成后nginx -V (大写V)查看是否安装成功

image-1668926570149

配置直播服务器

1,修改nginx.conf配置

添加如下配置:

rtmp_auto_push on;
rtmp {  
    server {  
        listen 1935;  #监听的端口
        chunk_size 4000;
        notify_method get;
        #HLS 直播流配置
        application hls {
            live on;
            hls on;
            hls_path /www/wwwroot/live.codey.fun/hls;#视频流存放地址,注意修改为自己的网站目录
            hls_fragment 5s;
            hls_sync 100ms;
            hls_playlist_length 15s;
            hls_continuous on; #连续模式。
            hls_cleanup on;    #对多余的切片进行删除。
            hls_nested on;     #嵌套模式。
        }
    }
}

image-1668926641928

image-1668926687237

2,修改网站配置

location /stat {
        rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
    }

    location /stat.xsl {
        root /www/server/nginx-rtmp-module/;#替换成nginx-rtmp-module安装目录
    }
    location /hls {  #添加视频流存放地址。
        types {
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }
        #访问权限开启,否则访问这个地址会报403
        autoindex on;
        alias /www/wwwroot/live.codey.fun/hls;#视频流存放地址,与上面的hls_path相对应
        expires -1;
        add_header Cache-Control no-cache;
        add_header Access-Control-Allow-Origin *;
   }

image-1668926810518
以上配置完成后重启nginx服务

3,宝塔安全中心放开端口:1935

image-1668926828887

4,验证服务是否安装成功

image-1668926872520

直播准备

1,安装推流软件OBS

a,配置推流链接:rtmp://live.codey.fun/hls

image-1668926912743

image-1668926925553

b,添加直播原并推流

image-1668926941156

已添加桌面采集为例,完成后,点击开始推流,访问 http://live.codey.fun/stat 查看或者在网站根目录生成推流文件

image-1668926951651

2,网站上传直播代码

liveplayer.rar
下载liveplayer.rar文件,上传到网站根目录并解压(先要删除原来的index.html)