DevOps 发表于 2020-6-27 01:22:38

通过宝塔面板编译Nginx-rtmp-module模块搭建hls推流

本帖最后由 DevOps 于 2020-6-27 01:27 编辑

根据目前宝塔7.3新版本提供的面板编译便捷页面来编译Nginx-rtmp-module模块安装Nginx的方法,目前全网没有看到谁提供教程,特发一教程。


一、编译Nginx-rtmp-module模块环境


第一步,登录面板——软件商店——运行环境——Nginx——安装

第二步,选择版本——编译安装——自定义模块

第三步,自定义编译模块参数

模块名称:nginx_rtmp_module模块描述:nginx_rtmp_module模块参数:--add-module=/www/server/nginx/src/nginx-rtmp-module前置脚本:#安装依赖库yum install libmaxminddb-devel -y #下载第三方扩展源码git clone https://github.com/arut/nginx-rtmp-module.git


点击“提交”。第四步,返回前面一个页面

点击“提交”进行编译并安装。


二、配置nginx.conf


1、在http{前加上如下内容:
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/default/hls;#视频流存放地址
            hls_fragment 5s;
            hls_sync 100ms;
            hls_playlist_length 15s;
            hls_continuous on; #连续模式。
            hls_cleanup on;    #对多余的切片进行删除。
            hls_nested on;   #嵌套模式。
      }
    }
}配置文件编辑好后重载配置。
三、配置站点文件


在此处将站点的目录指向/www/wwwroot/default/hls并在站点配置文件找到
access_log/www/wwwlogs/站点域名.log;在上面内容的上方加上:location /stat {
      rtmp_stat all;
      rtmp_stat_stylesheet stat.xsl;
    }

    location /stat.xsl {
      root /www/server/nginx/src/nginx-rtmp-module/;#替换成nginx-rtmp-module安装目录
    }
    location /hls {#添加视频流存放地址。
                types {
                  application/vnd.apple.mpegurl m3u8;
                  video/mp2t ts;
                }
                #访问权限开启,否则访问这个地址会报403
                autoindex on;
                alias /www/wwwroot/default/hls;#视频流存放地址,与上面的hls_path相对应
                expires -1;
                add_header Cache-Control no-cache;
                add_header Access-Control-Allow-Origin *;
                }如需要更详细的教程可网上搜索《宝塔Nginx环境下安装Nginx-rtmp-module模块搭建hls推流直播服务器》进行学习。


zuantou 发表于 2020-6-27 17:16:17

大佬厉害

痞子哥 发表于 2020-6-28 11:29:50

多谢楼主分享,收藏起来以备不时之需

omaxwello 发表于 2020-9-3 11:12:32

请问一下,配置后ts文件生成正常,m3u8文件时有时无。这个是什么原因?谢谢

DevOps 发表于 2020-9-13 01:02:04

omaxwello 发表于 2020-9-3 11:12
请问一下,配置后ts文件生成正常,m3u8文件时有时无。这个是什么原因?谢谢
...

我上面已经对多余的切片进行删除,如需要保留讲配置中的hls_cleanup on;删除即可

大炮运维V587 发表于 2021-3-4 11:23:26

使用alias的话,后面的路径必须是以/ 结尾,
alias /www/wwwroot/default/hls/

大炮运维V587 发表于 2021-3-4 11:44:01

hls on;
楼主开启这个的话活报下面的路径错误,对此并未有深究,楼主要知道的话,讲下吧

宝塔用户_hmieok 发表于 2021-6-2 11:34:16

大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加后用nginx -V 还是没有添加上,是依赖库用这个不对吗?

DevOps 发表于 2021-6-14 02:29:23

宝塔用户_hmieok 发表于 2021-6-2 11:34
大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加 ...

你是要全站限速还是某个目录限速?,这个模块多年没有更新,换个新模块试试。或者直接在配置文件里配置,新版本已经支持直接配置。

DevOps 发表于 2021-6-14 02:30:26

宝塔用户_hmieok 发表于 2021-6-2 11:34
大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加 ...

你是要全站限速还是某个目录限速?,这个模块多年没有更新,换个新模块试试。或者直接在配置文件里配置,新版本已经支持直接配置。

DevOps 发表于 2021-6-14 02:30:56

宝塔用户_hmieok 发表于 2021-6-2 11:34
大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加 ...

你是要全站限速还是某个目录限速?,这个模块多年没有更新,换个新模块试试。或者直接在配置文件里配置,新版本已经支持直接配置。

DevOps 发表于 2021-6-14 02:31:46

宝塔用户_hmieok 发表于 2021-6-2 11:34
大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加 ...

你是要全站限速还是某个目录限速?,这个模块多年没有更新,换个新模块试试。或者直接在配置文件里配置,新版本已经支持直接配置。

DevOps 发表于 2021-6-14 02:32:45

宝塔用户_hmieok 发表于 2021-6-2 11:34
大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加 ...

你是要全站限速还是某个目录限速?,这个模块多年没有更新,换个新模块试试。或者直接在配置文件里配置,新版本已经支持直接配置。

DevOps 发表于 2021-6-14 02:33:30

宝塔用户_hmieok 发表于 2021-6-2 11:34
大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加 ...

你是要全站限速还是某个目录限速?,这个模块多年没有更新,换个新模块试试。或者直接在配置文件里配置,新版本已经支持直接配置。

DevOps 发表于 2021-6-14 02:34:08

宝塔用户_hmieok 发表于 2021-6-2 11:34
大神求助一下!我按您的方法添加这个限速模块https://github.com/yaoweibin/nginx_limit_speed_module
添加 ...

你是要全站限速还是某个目录限速?,这个模块多年没有更新,换个新模块试试。或者直接在配置文件里配置,新版本已经支持直接配置。
页: [1] 2
查看完整版本: 通过宝塔面板编译Nginx-rtmp-module模块搭建hls推流