本次使用 nginx-rtmp 搭建 rtmp 推流服务器,配置相关参数保存视频文件,然后使用 zfile 目录程序进行展示出来

1. 搭建 nginx-rtmp 服务端

首先服务器需要安装 dcoekr 容器服务,建议服务器使用 linux 操作系统。

这里使用 tiangolo/nginx-rtmp 来搭建 让他们怕服务器。

sudo docker pull tiangolo/nginx-rtmp

下载完成后启动该镜像,注意配置目录映射:

sudo docker run -d -p 1935:1935 -v /media/docker/rtmp/video:/media/video --name nginx-rtmp tiangolo/nginx-rtmp

将本地目录 /media/docker/rtmp/video 映射到 docker 中目录 /media/video 以便将保存到 docker 容器中数据暴露出来。

之后使用地址 rtmp://ip/live/自行设置的密钥 即可推流到服务器中。
同样使用地址 rtmp://ip/live/自行设置的密钥 可查看播放串流视频。

2. 配置 nginx-rtmp 服务器用以实时保存串流视频

  • 首先使用 docker ps -a 查看当前系统中的 docker 镜像。
  • 使用 docker exec -it 容器ID /bin/bash 进入容器中
  • 使用 apt-get update 更新源,使用 apt-get install vim 安装 vim 工具
  • 使用 vim /etc/nginx/nginx.conf 修改配置文件
    rtmp {
        server {
            listen 1935;
            application live {
                live on;
                # 设置全部记录
        		record all;
                # 设置记录值唯一
        		record_unique on;
                # 设置视频缓存地址,需要与 docker 启动时配置的地址一致,以便映射到docker容器外
        		record_path "/media/video";
                # 缓存文件后缀
        		record_suffix -%Y-%m-%d-%H_%M_%S.flv;
            }
        }
    }
    
  • 之后使用 exit 退出 docker 容器内部,使用 docker restart 容器ID 重新启动该容器即可。

3. 使用 zfile 在线网盘程序搭建视频回看平台

zfile 文档地址为:https://docs.zfile.vip

使用以下 docker 命令一键搭建 zfile 平台

docker run -d --name=zfile --restart=always \
    -p 8080:8080 \
    -v /root/zfile/db:/root/.zfile/db \
    -v /root/zfile/logs:/root/.zfile/logs \
    -v /media/docker/rtmp/video:/media/video
    zhaojun1998/zfile

将 nginx-rtmp 映射出来保存视频的目录映射到 zfile 中,使 zfile 能访问到该目录。

之后打开网址 http://ip:8080 ,进行账户密码配置等配置,同时创建驱动器,将视频目录暴露出来。
rtmp服务器搭建与视频保存展示-1647847215256-2022321152015.png