开源视频监控服务器Shinobi

什么是 Shinobi ?

Shinobi 是用 Node.JS 编写的开源 CCTV 解决方案。采用多帐户系统、WebSocket Streams 和直接保存到 MP4 的设计。Shinobi 提供了一个基于 Web 的用户界面,使用户可以通过浏览器来查看和管理监控视频,Shinobi 支持多个品牌的摄像头和网络视频流,并提供了广泛的定制选项。

安装

在群晖上以 Docker 方式安装。

镜像下载

Docker Hub 上的版本还是两年前的

现在的镜像发布在 gitlab registry,一共有 6tags ,老苏选择了 latest,对应的是 CPU版,如果你的设备带 nvidia显卡,可以考虑选择 nvidia 的版本,这个版本支持 GPU (NVIDIA CUDA)

新旧两个版本对比一下,尺寸差距还是很大的

SSH 客户端登录到群晖后,执行下面的命令拉取镜像

bash 复制代码
# 拉取镜像
docker pull registry.gitlab.com/shinobi-systems/shinobi:latest

如果拉不动,这回 docker 代理网站:https://dockerproxy.com/ 似乎也帮不上忙了

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 shinobi 和 子目录
mkdir -p /volume1/docker/shinobi/{config,customAutoLoad,database,plugins,videos}

# 新建临时文件存储文件系统
mkdir -p /dev/shm/Shinobi/streams

# 进入 shinobi 目录
cd /volume1/docker/shinobi

# 启动容器
docker run -d \
   --name=shinobi \
   --shm-size=2048m \
   -p 8686:8080 \
   -v $(pwd)/config:/config \
   -v $(pwd)/customAutoLoad:/home/Shinobi/libs/customAutoLoad \
   -v $(pwd)/database:/var/lib/mysql \
   -v $(pwd)/plugins:/home/Shinobi/plugins \
   -v $(pwd)/videos:/home/Shinobi/videos \
   -v /etc/TZ:/etc/TZ:ro \
   -v /etc/localtime:/etc/localtime:ro \
   -v /dev/shm/Shinobi/streams:/dev/shm/streams \
   registry.gitlab.com/shinobi-systems/shinobi:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  shinobi:
    image: registry.gitlab.com/shinobi-systems/shinobi:latest
    container_name: shinobi
    shm_size: 2048m
    ports:
      - 8686:8080
    volumes:
      - ./config:/config
      - ./customAutoLoad:/home/Shinobi/libs/customAutoLoad
      - ./database:/var/lib/mysql
      - ./plugins:/home/Shinobi/plugins
      - ./videos:/home/Shinobi/videos
      - /etc/TZ:/etc/TZ:ro
      - /etc/localtime:/etc/localtime:ro
      - /dev/shm/Shinobi/streams:/dev/shm/streams

然后执行下面的命令

bash 复制代码
# 新建文件夹 shinobi 和 子目录
mkdir -p /volume1/docker/shinobi/{config,customAutoLoad,database,plugins,videos}

# 新建临时文件存储文件系统
mkdir -p /dev/shm/Shinobi/streams

# 进入 shinobi 目录
cd /volume1/docker/shinobi

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8686/super 就能看到管理员登陆界面

默认管理员用户名: admin@shinobi.video 密码: admin

登录成功

新建用户

首先记得,安全起见,请重置帐户admin@shinobi.video 的密码

新建一个用户

只要设置邮件、密码即可,其他项可以根据需要设置

Max Storage Amount 表示最大可用存储,例如可以设置为 10000,表示 10G

设置中文

在浏览器中输入 http://群晖IP:8686,使用刚刚创建的账户登陆

登录成功之后

左侧菜单找到 Account Settings --> Preferances --> Dashboard Language

下拉找到 zh,点右下角的 Save 按钮保存,刷新页面之后就可以了

不过老苏觉得,这翻译水平估计是用软件自动翻的,反而有点看不懂了,所以后面还是按英文界面截的图

添加摄像头

左侧菜单找到 Monitor Settings 开始添加摄像头

填入摄像头主流 RTSP 地址

如果有的话,填入摄像头子流 RTSP 地址

其他都是先用的默认值,保存

使用

回到左侧菜单 Monitors,后面的数字已经从 0 变为了 1

Videos 中过一会儿会有录像

还可以设置区域检测

录像保存在群晖上,这下就是 SD 卡挂了,也不用担心没有录像了

功能挺多的,慢慢来摸索吧,不过内存占用还是有点高的

参考文档

Shinobi Systems / Shinobi · GitLab

地址:https://gitlab.com/Shinobi-Systems/Shinobi
Shinobi - Simple CCTV and NVR Solution - Home

地址:https://shinobi.video/
Docker · dev · Shinobi Systems / Shinobi · GitLab

地址:https://gitlab.com/Shinobi-Systems/Shinobi/-/tree/dev/Docker
ShinobiDocs

地址:https://docs.shinobi.video/
linux - When should I use /dev/shm/ and when should I use /tmp/? - Super User

地址:https://superuser.com/questions/45342/when-should-i-use-dev-shm-and-when-should-i-use-tmp

相关推荐
无妄无望4 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
爱宇阳5 小时前
禅道社区版 Docker Compose 服务迁移教程
运维·docker·容器
xzl046 小时前
docker运行Ubuntu22.04
docker
vue学习7 小时前
docker 学习dockerfile 构建 Nginx 镜像-部署 nginx 静态网
java·学习·docker
热爱生活的五柒8 小时前
vscode如何链接远程服务器里面的docker里面的目录
服务器·vscode·docker
hello_zzw10 小时前
docker部署MySQL主从服务集群
mysql·adb·docker
vue学习10 小时前
docker 运行容器限制内存、限制磁盘 IO
运维·docker·容器
山塘小鱼儿11 小时前
open-webui docker高速下载&本地部署
运维·docker·容器
落日漫游12 小时前
docker 网络模式
docker
递归尽头是星辰18 小时前
Docker容器化核心知识体系:从入门到实践
docker·云原生·devops·容器化·镜像构建