基于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

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

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 15:16:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 15:16:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 15:16:04       62 阅读
  4. Python语言-面向对象

    2024-07-19 15:16:04       72 阅读

热门阅读

  1. c语言(7.19)

    2024-07-19 15:16:04       24 阅读
  2. 关于UniApp使用的个人笔记

    2024-07-19 15:16:04       19 阅读
  3. Qt之基础体系

    2024-07-19 15:16:04       16 阅读
  4. Git笔记

    Git笔记

    2024-07-19 15:16:04      20 阅读
  5. 简单分享下Python数据可视化

    2024-07-19 15:16:04       21 阅读
  6. 【LeetCode 0022】【DSF】生成括号

    2024-07-19 15:16:04       24 阅读
  7. 【Nginx】前端请求跨域问题

    2024-07-19 15:16:04       22 阅读