在这我也是使用了nginx中间件的代理,处理rtmp流协议的传输。
但是由于通过宝塔面板安装的nginx是不带有rtmp模块的需要自己重新配置。
首先你需要进行下列步骤
git clone https://github.com/arut/nginx-rtmp-module.git
wget http://nginx.org/download/nginx-1.22.1.tar.gz
tar -zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1
在原来安装了nginx的位置进行
./nginx -V
然后在configure arguments复制这些参数,这里面一开始--add的包全都复制过来
然后在解压目录里执行,这里就是把之前在configure arguments查到的参数再加上--add-module=/usr/local/src/nginx-1.16.1/nginx-rtmp-module这句,总之就是把你要用的这些模块全在configure语句里写全,如下。
./configure --prefix=/www/server/nginx --add-module=/root/nginx-rtmp-module-master --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module
make
在新安装的位置里找到上述文件
将 nginx 文件复制到 之前安装的/www/server/nginx/sbin/目录,替换旧的 nginx 文件。建议备份一下旧的 nginx 文件。
同时在配置中添加:
rtmp {
server {
listen 1935; #监听的端口
chunk_size 4000;
application yuchen {#rtmp推流请求路径 (切记路径错了会推不上流)
live on; #开启实时
hls on; #开启hls
hls_path /www/server/nginx/html/yuchen; #rtmp推流请求路径,文件存放路径
hls_fragment 5s; #每个TS文件包含5秒的视频内容
}
}
}
如下:
不过需要注意的是
然而/www/server/nginx/html/yuchen肯定没有这个目录,所以需要建一个放流文件的目录yuchen,并且需要改权限可读可写的权限
然后重启nginx就可以了。