使用宝塔面板搭建直播系统——nginx+rtmp+hls

发布于 2021-02-03  4563 次阅读


环境:Ubuntu 20.04.1,宝塔Linux面板,nginx 1.19.6

搭建步骤

宝塔面板请自行安装

1.编译nginx

使用rtmp需要用到nginx的rtmp模块,因此需要重新编译nginx

1.登录面板-软件商店-nginx-编译安装-添加自定义模块

 

2.模块名称、描述输入nginx_rtmp_module,参数填入 --add-module=/www/server/nginx/src/nginx-rtmp-module

前置脚本输入:

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

3.提交,选中模块,提交,等待编译完成即可

4.命令行输入nginx -V 检查是否安装成功

2.配置rtmp

软件商店-nginx-设置-配置修改
在其中添加rtmp配置

rtmp
{
  server
  {
    listen 1935; #rtmp监听端口,默认1935
    chunk_size 4096; #分包大小
    application live
    {
      live on;
      hls on;
      hls_path /tmp/hls; # hls文件(m3u8,ts)保存目录
      hls_fragment 3s;
    }
  }
}

保存

3.配置hls

宝塔面板-网站-添加站点

此处按实际情况填写即可

新建完成后,进入站点设置-配置文件

添加hls配置

location /live {
  types {
    application/vnd.apple.mpegurl m3u8;
    video/mp2t ts;
  }
  alias /tmp/hls; # 与刚才设置的hls目录一致
  add_header Cache-Control no-cache;
}

保存

测试

rtmp测试

启动obs,设置推流目标,填写服务器地址,串流密钥随便写一个

启动推流

打开vlc-网络串流,输入设置的rtmp地址,点播放即可看到画面

hls测试

vlc-网络串流,输入 [kbd][http/https]://[服务器地址]/live/[串流密钥].m3u8[/kbd],点播放即可看到画面

 

参考文章:

https://www.bt.cn/bbs/thread-51618-1-1.html