自学内容网 自学内容网

基于Nginx搭建RTMP流媒体服务器&视频无法保存

基于Nginx搭建RTMP流媒体服务器

安装Nginx-RTMP

要实现RTMP流媒体服务器需要安装Nginx-RTMP模块
已有Nginx安装Nginx-RTMP模块

sudo apt update
sudo apt install libnginx-mod-rtmp

可能会存在版本不兼容的问题,建议还是重新下载Nginx和Nginx-RTMP然后一起编译安装

安装Nginx和nginx-rtmp-module
下载Nginx 官网:https://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.26.0.tar.gz
# 解压缩
tar -xvf nginx-1.26.0.tar.gz

下载nginx-rtmp-module模块

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

将两者放入同一个文件下
在这里插入图片描述
添加配置

cd nginx-1.26.0
./configure --add-module=../nginx-rtmp-module --with-http_ssl_module 

安装

make
make install 

Nginx 配置文件

在文件最后添加

rtmp {
        server {
                listen 1935;
                chunk_size 4096;
                application live {
                        live on;
                        hls on;
                        hls_path /var/www/html/live;
                        hls_fragment 3;
                recorder all{   
                        record all;  # 开启视频保存
                        record_path /var/www/html/recordings/; # 视频保存的位置
                        record_suffix -%Y-%m-%d-%H-%M.flv;  # 设置文件后缀
                }
          }
     }

视频无法保存

遇到Nginx RTMP 服务无法保存视频的情况,问题排查步骤如下

  1. 首先查看自己的配置文件的内容是否正确,是否开启视频保存的配置
  2. 查看nginx的日志文件,根据日志中的信息定位自己无法保存视频的原因

Nginx日志默认存储的位置

vim /usr/local/nginx/logs/error.log

打开日志查看日志内容,可以发现无法保存的原因是因为没有对应文件的权限
在这里插入图片描述
为对应的文件添加权限

# 最简单的方式就是开通所有权限,也可以根据自己的具体需求修改指定的用户
chmod 777 /var/www/html/recordings

修改以后可以再次尝试直播,查看对应文件下视频缓存是否存在

视频缓存成功
在这里插入图片描述


原文地址:https://blog.csdn.net/qq_52007481/article/details/140515372

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!