开源视频监控服务器Shinobi

news2024/11/29 8:00:08

在这里插入图片描述

什么是 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 客户端登录到群晖后,执行下面的命令拉取镜像

# 拉取镜像
docker pull registry.gitlab.com/shinobi-systems/shinobi:latest

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

命令行安装

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

# 新建文件夹 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 文件

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

然后执行下面的命令

# 新建文件夹 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1008171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2023】数据挖掘课程设计:基于TF-IDF的文本分类

目录 一、课程设计题目 基于TF-IDF的文本分类 二、课程设计设置 1. 操作系统 2. IDE 3. python 4. 相关的库 三、课程设计目标 1. 掌握数据预处理的方法,对训练集数据进行预处理; 2. 掌握文本分类建模的方法,对语料库的文档进行建模…

Linux内核4.14版本——drm框架分析(14)——Atomic KMS 架构(struct drm_atomic_state)

目录 1. drm_atomic_state_alloc创建drm_atomic_state 1.1 drm_atomic_state_init 2. 各个drm object对应的state 2.1 drm_atomic_get_crtc_state 2.2 drm_atomic_get_plane_state 2.3 drm_atomic_get_connector_state 2.4 struct __drm_{object}_state 我们从前面两篇文…

excel中的引用与查找函数篇2

如下所有案例中表头均不参与范围查找内: 1、LOOKUP(lookup_value,lookup_vector,[result_vector]):在一行或者一列中查找某个值并从另一行或者列中找到同位置的值 记住:中括号内的参数可以不赋值,若在中间用逗号隔开这个参数&…

【Flink实战】Flink自定义的Source 数据源案例-并行度调整结合WebUI

🚀 作者 :“大数据小禅” 🚀 文章简介 :【Flink实战】玩转Flink里面核心的Source Operator实战 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 目录导航 什么是Flink的并行度Flink自定义的Source 数据…

阿里云通义千问大模型正式开放;玩10次ChatGPT就要消耗1升水

🦉 AI新闻 🚀 阿里云通义千问大模型正式开放,已有超20万企业申请接入测试 摘要:阿里云通义千问大模型已经通过备案并向公众开放。用户可以登录官网体验,企业用户可以通过阿里云调用API。阿里云通义千问在一个月的邀测…

《确保安全:PostgreSQL安全配置与最佳实践》

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🛠️ 全栈技术 Full Stack: &#x1f4da…

go并发处理业务

引言 实际上,在服务端程序开发和爬虫程序开发时,我们的大多数业务都是IO密集型业务,什么是IO密集型业务,通俗地说就是CPU运行时间只占整个业务执行时间的一小部分,而剩余的大部分时间都在等待IO操作。 IO操作包括htt…

uniapp 触底加载

方式一 onReachBottomDistance 缺点:需要整个页面滑动,局部滑动触发不了 { // pages.json // 路由下增加 onReachBottomDistance "path": "detailed/detailed","style": {"navigationBarTitleText": "收…

cpu温度监测 Turbo Boost Switcher Pro for mac最新

Turbo Boost Switcher Pro是一款Mac电脑上的应用程序,旨在帮助用户控制和管理CPU的Turbo Boost功能。Turbo Boost是Intel处理器中的一项技术,可以在需要更高性能时自动提高处理器的频率。然而,这可能会导致电池消耗更快和温度升高。 以下是T…

《计算机视觉中的多视图几何》笔记(2)

Projective Geometry and Transformations of 2D 本章主要介绍本书必要的几何知识与符号。 文章目录 Projective Geometry and Transformations of 2D2.1 Planar geometry2.2 The 2D projective plane2.2.1 Points and lines 2.2.2 Ideal points and the line at infinity2.2…

elementui 中 DateTimePicker 组件时间自定义格式化

elementui 中 DateTimePicker 组件时间自定义格式化 需求分析 需求 elementui 中 DateTimePicker 组件时间自定义格式化 自定义需求&#xff1a;需要获取到 DateTimePicker 组件时间的值为[“2023/9/5 20:2”,“2023/9/4 2:10”] 分析 源码如下&#xff1a; <el-date-pick…

TypeScript类型兼容:协变和逆变

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 引言 协变&#xff08;Covariance&#xff09; 协变&#xff1a;类型的向下兼容性 逆变&#xff08;Contravaria…

deepspeed训练报错torch.distributed.elastic.multiprocessing.errors.ChildFailedError

测试场景&#xff1a;使用deepspeed框架训练gpt模型 问题&#xff1a; 报错torch.distributed.elastic.multiprocessing.errors.ChildFailedError 具体见截图&#xff1a;

随手笔记(四十五)——idea git冲突

图片为引用&#xff0c;在一次导入项目至gitee的过程中&#xff0c;不知道为什么报了403&#xff0c;很奇怪的一个错误&#xff0c;网上很多的答案大概分成两种。 第一种是最多的&#xff0c;直接找到windows凭据删掉 很抱歉的告诉各位&#xff0c;你们很多人到这里就已经解…

线性代数的本质(四)——行列式

文章目录 行列式二阶行列式 n n n 阶行列式行列式的性质克拉默法则行列式的几何理解 行列式 二阶行列式 行列式引自对线性方程组的求解。考虑两个方程的二元线性方程组 { a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 \begin{cases} a_{11}x_1a_{12}x_2b_1 \\ a_{21}x_…

Vue3:proxy数据取值proxy[Target]取值

vue3底层是使用proxy进行代理的&#xff0c;而proxy中[[Target]]才是想要的值。 获取target值的方式一&#xff1a; <script setup>//先引入toRawimport { toRaw } from vue;//再使用console.log(toRaw(数据名))</script> 获取target值的方式二&#xff1a; <…

阿里云服务器配置怎么选择?几核几G?带宽系统盘怎么选?

阿里云服务器配置选择_CPU内存/带宽/存储配置_小白指南&#xff0c;阿里云服务器配置选择方法包括云服务器类型、CPU内存、操作系统、公网带宽、系统盘存储、网络带宽选择、安全配置、监控等&#xff0c;阿小云分享阿里云服务器配置选择方法&#xff0c;选择适合自己的云服务器…

NetSuite知识会汇编-管理员篇顾问篇2023

本月初&#xff0c;开学之际&#xff0c;我们发布了《NetSuite知识会汇编-用户篇 2023》&#xff0c;这次发布《NetSuite知识会汇编-管理员篇&顾问篇2023》。本篇挑选了近两年NetSuite知识会中的一些文章&#xff0c;涉及开发、权限、系统管理等较深的内容&#xff0c;共19…

嵌入式Linux驱动开发(I2C专题)(二)

I2C系统的重要结构体 参考资料&#xff1a; Linux驱动程序: drivers/i2c/i2c-dev.cI2CTools: https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/ 1. I2C硬件框架 2. I2C传输协议 3. Linux软件框架 4. 重要结构体 使用一句话概括I2C传输&#xff1a;APP通过I2…

linux rz乱码文件删除

通过rz上传文件的时候经常会遇到 文件乱码问题&#xff0c;删又删不掉。 使用rz -be的方法上传 遇到乱码文件操作步骤 1. ls -i # 列出文件的编号 2. find . -inum 29229139 -delete # 根据编号删除文件 find 需要扫描的路径 -inum 文件编号 -delete