开源视频监控服务器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

相关推荐
川石课堂软件测试5 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
追风林7 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
城南vision9 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge9 小时前
Docker篇(Docker Compose)
运维·docker·容器
梦魇梦狸º13 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
鬼才血脉13 小时前
docker+mysql配置
mysql·adb·docker
詹姆斯爱研究Java13 小时前
Docker 的基本概念和优势
docker
南猿北者15 小时前
docker镜像仓库常用命令
运维·docker·容器
杨浦老苏15 小时前
Docker可视化管理面板DPanel的安装
运维·docker·群晖
航月17 小时前
FTP、ISCSI、CHRONY、DNS、NFS、DOCKER、MARIADB、NGINX、PHP、CA各服务开启方法
nginx·docker·mariadb