提醒:本文已经超过 1292 天未修改,其中某些信息可能已经过时,请谨慎使用!
你似乎正在查看一篇很久远的文章。
为了你这样的访客,我特地保留了我的历史博文。不要笑话过去的我,用温柔的目光看下去吧。

# 准备工作

# 修改安装脚本

RTMP直播需要Nginx-Rtmp模块,你现在需要先卸载宝塔所安装的Nginx(或你目前已经安装了的Nginx,记得先备份好重要文件。),然后找到/www/server/panel/install/nginx.sh,Ctrl+F找./configure

然后在他后面加上--add-module=/www/server/nginx_plus/nginx-rtmp-module

# 下载模块并安装

直接输入git clone https://github.com/arut/nginx-rtmp-module /www/server/nginx_plus/nginx-rtmp-module/ 不是root用户需要sudo。

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

安装nginx,如你需要1.14则输入install 1.14,Tengine一样,非root用户需要sudo

sudo sh /www/server/panel/install/nginx.sh install 1.14

等待安装完成即可,时间取决于机器性能和网络因素等,安装完毕会显示 Staring nginx.... done

# 准备网站

现在准备网站,新建站点,比如rtmp.gymxbl.com,或者你的ip,点击配置文件修改配置,在第9行,即

server
{
listen 80;
listen 443 ssl http2;
server_name rtmp.gymxbl.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/rtmp.gymxbl.com;

下面添加跨域header:

#跨域
    add_header 'Access-Control-Allow-Origin' '*' ;
 #可以是你的网站域名也可以是*任何网站
    add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";

接下来去软件商城-Nginx-配置修改,在第6行,即

user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

下面添加RTMP配置:

rtmp {   
     
    server {   
     
        listen 1935;  #端口,记得安全组/宝塔等防火墙放行
     
        chunk_size 4000;   #单个ts文件的大小,可以适当改小一点减少延迟,但会对服务器带宽/硬盘带来压力
           
            
        application hls {  
            live on;   
            hls on;   
            hls_path /www/wwwroot/rtmp.gymxbl.com/live;   #直播缓存文件目录
            hls_fragment 5s;   
        }   
    }   
} 

你需要给缓存文件创建文件夹,比如上文提到的hls_path /www/wwwroot/rtmp.gymxbl.com/live;,建议挂载内存盘,减少服务器硬盘损耗,提高读写速度,大小128-256M即可。这个功能在宝塔的Linux工具箱有提供。

# 客户端进行推流

建议使用开源的OBS进行推流,官网:https://obsproject.com/,如果下载速度过慢可以尝试从https://i.ilolita.cn/OBS-Studio-26.1.1-Full-Installer-x64.exe下载。

备用:分享链接:https://cloud.ilolita.cn/#s/6wUBxigg
访问密码:uUpF4

打开OBS软件,配置文件,新建配置,按照你的硬件情况等进行选择,最后选择自定义配置,地址为 rtmp://你的域名/ip:1935/hls (如果你没有更改默认端口的话),密钥随便填一个(如果你没有设置的话),然后在推流前去设置删掉密钥即可,点击左下角的来源区块的+号,按需添加一个源(如窗口/媒体文件/游戏/视频摄像头等,可以添加多个源然后在控制屏上拖动各个源的位置),点击开始推流进行直播。

观看直播地址:http(s)://你的域名/live/.m3u8 ,需要流媒体播放器进行播放或者参考 《WordPress内嵌Dplayer HTML5弹幕播放器》配置前端播放器。

经过测试,50Mbps上行带宽可以供10人观看720P 60FPS的直播而稍有卡顿。

# 如果你没有大带宽服务器

如果你没有大带宽服务器,以下方法可帮助你。

RTMP服务器→境外(推荐腾讯云/阿里云HK)服务器反代(可减少RTMP服务器暴露导致的安全问题),缓存1分钟→cloudflare页面规则ts文件缓存1小时,m3u8文件绕过,境外解析xxx.xx.cnd.cloudflare.net,境内解析自选ip。

Cloudflare的CNAME解析许多合作伙伴都可以做,云筏也有低价的CF PRO出售,可以了解一下。

版权声明:转载时请以超链接形式标明文章原始出处和作者信息,来源孤影墨香
本文链接: https://www.gymxbl.com/3150.html
访问时间:2024-10-10 02:38:44


正因为知道可以在空中翱翔,才会畏惧展翅的那一刻而忘却疾风 努力学习ing