docker容器shinobi 保存的录像如何按天保存,而不是全部在一起。
找了半天设置,似乎没找到有按天保存的参数。
回答的人好像都没弄明白的我的意思,录像文件是按天文件夹保存,没用过就不要来回答,答非所问。
看看其他监控的保存截图。
docker pull migoller/shinobidocker
这是docker镜像
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
在 Shinobi 容器中,可以通过以下步骤来设置按天保存录像:
1:登录 Shinobi 容器。
2:打开 Shinobi 的配置文件,通常位于“/opt/shinobi/conf.json”
3:在配置文件中找到“recordSchedule”字段,并将其中的“saveForDays”值设置为所需天数。例如,如果你想按天保存7天,则将其设置为7。
保存并重新启动 Shinobi 容器以使更改生效。
4:录像将按天保存在Shinobi指定的存储目录中,可以按天查看。
注意:
1:更改配置文件之前请备份原文件。
2:如果在该目录空间不足,你可以考虑使用外部存储或归档过期的录像.
3:为了确保录像能够按天保存,请确保您的系统时间正确设置.