基于宝塔安装的Nginx安装nginx-rtmp-module模块完成推流直播,安装步骤一次操作(绝非网上百度的一些不正确教程且本教程是本站实例化的经过实践确认正确的)
首先,先不要安装Nginx,如果安装了先卸载
把nginx-rtmp-module模块下载到服务器
接下来开始编译安装nginx。首先你必须编译安装nginx,之后点击添加自定义模块~
模块名称:这里写你需要安装的模块 nginx_rtmp
模块描述:和上面一样 nginx_rtmp
模块参数我们这里安装的是nginx_rtmp那么可以这样写:
1、新建一个站点,用于存放推流视频文件。如:站点域名为:live.meiweny.cn,路径为/www/wwwroot/live.meiweny.cn
- --add-module=/www/server/nginx-rtmp-module
2、因为使用1935端口,请放行。(1、在宝塔安全中放行1935。2、如果使用阿里云,腾讯云等,到安全组中放行1935端口)
3、修改Nginx配置文件,在events结束符号后加入
- rtmp {
- server {
- listen 1935;
- ping 30s;
- chunk_size 4000;
- notify_method get;
- application hls {
- live on;
- hls on;
- hls_path /www/wwwroot/live.meiweny.cn;
- hls_sync 100ms;
- hls_fragment 5s;
- }
- application live {
- live on;
- }
- }
- }
Nginx配置RTMP 宝塔面板无法进入phpMyAdmin,原因出在修改的时候把phpMyAdmin的端口挪用了。修改phpMyAdmin的端口会把配置的端口弄乱。最终处理:
在原来的配置上添加,
events块下面:
include rtmp.conf;
新增的文件放在:/www/server/nginx/conf
rtmp.conf:(代码)
4、下载OBS文件,测试推流,下载地址:obsproject点com 设置推流地址:rtmp://live.meiweny.cn/hls ,串流密钥:随便写,比如:meiweny ,这个名称也是下面播放文件的名称(meiweny.m3u8)此时的直播地址为https://live.meiweny.cn/meiweny.m3u8
- rtmp_auto_push on;
- rtmp {
- server {
- listen 1935; #监听的端口 ,可以改为你自己喜欢的端口号,记得在宝塔后台放行此端口!!!
- ping 30s;
- chunk_size 1000; #切片大小
- notify_method get;
- application hls {
- live on;
- hls on;
- hls_path /www/wwwroot/live.meiweny.cn; #这个目录就是推流文件存储的位置
- hls_sync 100ms;
- hls_fragment 2s; #本地切片长度
- hls_playlist_length 600s; #HLS播放列表长度
- }
- application live {
- live on;
- }
- }
- }
注意:设置后开始推流 注意:hls_path目录需要可读可写的权限。 解析来我们就可以使用obs等推流软件进行推流直播,至此全部完成!
5、解决跨域如下(网站的配置文件):
- location ^~ /uploads/shipin/ {#m3u8所在路径
- set $cors_origin "";
- if ($http_origin ~* "^https://m.meiweny.cn$") {
- set $cors_origin $http_origin;
- }
- if ($http_origin ~* "^https://www.meiweny.cn$") {
- set $cors_origin $http_origin;
- }
- add_header Access-Control-Allow-Origin $cors_origin;
- }