电脑端

Shinobi:强大的开源视频监控解决方案

Shinobi 是一款功能强大的开源视频监控系统,支持多种摄像头协议,包括广泛使用的 ONVIF(Open Network Video Interface Forum)协议。通过使用 shinobisystems/shinobi Docker 镜像,您可以在几分钟内在绿联 NAS 上部署 Shinobi,并实现对 ONVIF 设备的实时监控与回放功能。

Shinobi 镜像的主要特点

1. 轻量化容器部署:通过 Docker,您无需繁琐的安装步骤,可以轻松地在绿联 NAS 上运行 Shinobi,从而节省系统资源和时间。

2. 支持多种视频协议:Shinobi 支持常见的视频流协议如 RTSP、MJPEG、HLS,并且兼容 ONVIF 协议,能够自动发现并管理 ONVIF 标准的摄像头设备。

3. 实时监控和回放:Shinobi 提供实时视频监控功能,支持录像存储,用户可以随时通过系统回放历史视频。

使用 Docker Compose 部署 Shinobi

要在绿联 NAS 上快速部署 Shinobi,推荐使用 项目Docker Compose 进行容器化部署,尤其适合需要快速创建并管理多个容器的场景。以下步骤将指导您通过 Docker Compose 部署 Shinobi。

进入 Docker 项目界面

在 UGOS Pro 系统中,打开 Docker 应用,点击【项目】 > 【创建】,启动项目创建向导。

配置 Docker Compose 文件

在创建项目时,您需要提供 Docker Compose 配置文件。以下是Shinobi的配置文件示例:

services:
  Shinobi:
    image: registry.gitlab.com/shinobi-systems/shinobi:dev
    container_name: Shinobi
    restart: always
    devices:
      - /dev/dri:/dev/dri
    ports:
      - "8080:8080/tcp"
    volumes:
      - ./streams:/dev/shm/streams:rw
      - ./config:/config:rw
      - ./customAutoLoad:/home/Shinobi/libs/customAutoLoad:rw
      - ./database:/var/lib/mysql:rw
      - ./videos:/home/Shinobi/videos:rw
      - ./plugins:/home/Shinobi/plugins:rw
      - /etc/localtime:/etc/localtime:ro

参数说明

image:指定使用 shinobisystems/shinobi:dev 镜像,这个镜像托管在 GitLab 容器注册表中。

container_name:为容器指定名称,方便管理,此处命名为 Shinobi

devices:将主机的 /dev/dri 设备挂载到容器中,用于硬件加速,如视频转码。

ports:将主机的 8080 端口映射到容器的 8080 端口,用户可以通过主机 IP 加 8080 端口访问 Shinobi 的 Web 界面。

volumes:挂载本地路径至容器中,确保数据的持久性。

./streams将当前目录下的文件夹 streams 映射到容器的 /dev/shm/streams,并赋予读写权限(rw),共享内存用于加速视频处理。

./config将当前目录下的文件夹config映射到容器的 /config赋予读写权限使其能保存设置。

./customAutoLoad:用于加载自定义插件或脚本。

./database:将数据库文件存放在本地的 ./database 目录中。

./videos:用于存储视频录像文件。

./plugins:用于存储插件。

/etc/localtime:同步主机和容器时间,设置为只读。

restart:配置容器在 NAS 重启后自动启动。

部署项目

确认配置文件无误后,点击【立即部署】,系统将自动根据 YAML 文件拉取 Shinobi 镜像并启动容器。部署成功后,您可以通过浏览器访问 http://<your-server-ip>:8080 来进入 Shinobi 的控制台。

517df590494d416fa3b624872d197bde-nOdn.webp

访问 Shinobi 管理后台

部署成功后,打开浏览器,输入 NAS 的 IP 地址和端口号(例如 http://192.168.66.43:8080/super),默认管理员账户和密码可以在容器日志中找到。使用管理员账号登录后即可进入管理后台。

c1dd6dbb348d4807b0af53ba0bcb4260-RRPo.webp
64c69a18a0b74d7483a8a7432d8bdb0d-vmMC.webp
4f8ccdbc30844005a1b7a533ee8f4634-DnNe.webp

创建监控管理账号

在管理后台,点击 Accounts 页面,然后点击 +Add 按钮,添加新的监控管理账号。设置账号、密码、录像保留天数等信息后,点击 Save 保存设置。

18cc498106fe45a8a359ff34a0e109e5-xhKm.webp
df2b4b81fbd9436c8dd338ac1569028c-MZIw.webp

监控账号创建成功显示如下,您随时可以在这个界面修改和删除监控账号。

c1d87df250644c7e87cdc20efbd9ccd5-Htoc.webp

配置 ONVIF 摄像头

接下来我们需要进入 Shinobi 监控界面,在浏览器的地址栏将/super删除后回车进入监控页面登录页,输入刚才创建的监控账号密码后点击“Login”进入Shinobi监控页面。

2b27c7eb4f5b451abb189d94b9480b67-PVlB.webp

点击左侧工具栏中的 ONVIF Scanner。Shinobi 将自动扫描局域网内的 ONVIF 摄像头,您也可以手动输入摄像头的 IP 地址、端口、账号和密码。点击 Search 查找并添加摄像头。

c98552dcc75f4cf58c6aa5287e97e2c5-pZbZ.webp
6209cb8a0a794d1d880a562e75bb204c-dBAt.webp
cdcc2093e5934e298da880809e614f16-uCoT.webp

设置监控模式

双击找到的摄像头,进入设置界面,将Mode监控模式设置为 Record(录制)。

73b1c580eff14459b0f3536147aefe6b-Ebqf.webp

滑动页面,在 Video Codec (视频编码器)和 Audio Codec(音频编码器 中选择 Auto,然后点击 Save 保存设置。

2e272fc6156e4a7f866b3e3be35edb0b-KZCk.webp

查看监控录像

您可以在 Shinobi 界面中查看实时监控画面以及历史录像。录像文件存储在您配置的 ./videos 目录中。通过鼠标悬停在监控画面上,您还可以控制摄像头的转动、缩放等功能。

点击左侧的摄像头小窗口可以把监控画面展示在左侧主屏幕中,如果是刚配置好的摄像头,主屏幕的监控画面会黑屏不展示画面,这个是正常现象,等待几分钟后就可以正常显示画面了。

700308236eab47b7880fda89493f3d48-OFND.webp
7bac2179f9104626aefadeee8b334c6f-lNFM.webp

将鼠标放在监控画面中会出现工具栏,您可以在此查看历史监控录像,也可以控制摄像头的转动方向。

4c3c90b3697d4edab0471b9bd0709a47-yYbL.webp

您也可以在创建shinobi项目时设置的保存视频录像文件夹(如教程中的videos文件夹)查看已经录制好的监控视频。

支持 ONVIF 设备的优势

ONVIF 是一个开放行业标准,促进网络视频设备之间的互操作性。通过对 ONVIF 协议的支持,Shinobi 能够为用户提供以下优势:

1. 自动发现设备:Shinobi 可以自动发现局域网内的 ONVIF 兼容设备,并快速将其添加至系统,简化设备管理流程。

2. 远程实时控制:Shinobi 支持对 PTZ(云台控制)摄像头进行远程操作,允许用户通过界面控制镜头方向和缩放功能。

3. 高兼容性:由于 ONVIF 是一个开放协议,Shinobi 能兼容大多数市场上的 IP 摄像头,为用户提供了高度的灵活性和扩展性。