docker容器shinobi 保存的视频监控录像如何按天/文件夹/保存,而不是全部在一起。

docker容器shinobi 保存的录像如何按天保存,而不是全部在一起。

找了半天设置,似乎没找到有按天保存的参数。

回答的人好像都没弄明白的我的意思,录像文件是按天文件夹保存,没用过就不要来回答,答非所问。
看看其他监控的保存截图。

img


docker pull migoller/shinobidocker

这是docker镜像

img

img

img

docker下: 可以试试 MotionEye , Xeoma,都是不错的视频监控软件。

● 在Shinobi 容器中安装 cron

apt-get update && apt-get install -y cron

● 使用 crontab -e 命令来编辑 cron 任务。在文件末尾添加以下内容,它会在每天的凌晨 1 点(时间你可以自己设置)执行一个脚本,用于将录像文件按天分类并进行归档:

0 1 * * * /usr/bin/sh /usr/local/bin/archive.sh

● 创建名为 archive.sh 的脚本并将其保存在 /usr/local/bin 目录中。这个脚本将会在每天凌晨 3 点运行,用于将录像文件按天分类并进行归档。

上面的设置是基于默认配置的假设,如果你的Shinobi的配置不同请进行相应的修改。

archive.sh 示例:它将搜索 /opt/shinobi/videos 目录中的所有文件,并将其按照录制日期移动到对应的日期目录中:

#!/bin/bash
# 原来视频文件存储目录
src_dir="/opt/shinobi/videos"
# 归档目录,将在这个目录下按日期生成新的子目录
dst_dir="/opt/shinobi/archive"

# 找到源文件夹中所有文件
find "$src_dir" -type f -print0 | while read -d $'\0' file
do
    # 获取文件修改时间
    timestamp=$(stat -c %y "$file" | awk '{print $1}')
    # 创建目标文件夹
    dst_subdir="$dst_dir/$timestamp"
    mkdir -p "$dst_subdir"
    # 将文件移动到目标文件夹
    mv "$file" "$dst_subdir"
done

此脚本假设录像文件存储在 /opt/shinobi/videos 目录中,并将其归档到 /opt/shinobi/archive 目录中。

使用 find 命令找到所有文件,并使用 stat 命令获取文件的修改时间。然后,使用 mkdir 命令在归档目录中创建对应日期的子目录,并使用 mv 命令将文件移动到目标目录中。

路径根据自己需求更改就行了。

使用cron的时候需要注意时区的问题,确保你的cron脚本在你需要的时间

望采纳!!!点击回答右侧采纳即可!!!

shinobi是一个开源的 CCTV 监控软件,它通过使用 Docker 容器来运行。在默认配置下,shinobi 会将所有录像保存在一个文件夹中。

要按天保存录像,可以在配置文件中进行设置。

进入 shinobi 容器:


docker exec -it <shinobi container name> /bin/bash

修改配置文件,在 /conf/super.json 中找到 "record" 部分。

修改"path",把它从默认的 "./videos" 改为 "./videos/%Y-%m-%d"。

重启shinobi容器,这样就会按天保存录像了。

如果配置文件并没有"path"或者是无法找到"path",您可以尝试在设置界面中找到相关设置,或者查看shinobi官网文档.

1、解决办法1

img


2、写一个脚本,每天定时删除
望采纳

在 Shinobi 容器中,可以通过以下步骤来设置按天保存录像:
1:登录 Shinobi 容器。
2:打开 Shinobi 的配置文件,通常位于“/opt/shinobi/conf.json”
3:在配置文件中找到“recordSchedule”字段,并将其中的“saveForDays”值设置为所需天数。例如,如果你想按天保存7天,则将其设置为7。
保存并重新启动 Shinobi 容器以使更改生效。
4:录像将按天保存在Shinobi指定的存储目录中,可以按天查看。

注意:
1:更改配置文件之前请备份原文件。
2:如果在该目录空间不足,你可以考虑使用外部存储或归档过期的录像.
3:为了确保录像能够按天保存,请确保您的系统时间正确设置.