Shinobi
Shinobi 是一个现代的开源 NVR (网络视频录像机),使用 Node.js 编写。对于个人或教育用途,Pro 版本不需要许可证密钥。如果计划用于商业目的,请参阅上游文档。
安装
安装 shinobi-gitAUR。
node
运行的方式一致。因此,施加了一些限制- 从 webUI 安装插件将不起作用。如果需要这些插件,请以 root 用户身份手动启动服务器。
- webUI 中的重启功能将不起作用,因为没有使用
pm2
。 - 绑定到 <1000 的端口将不起作用,因为只有 root 用户才能这样做。这仅在使用 FTP 或 SMTP 接收运动/物体检测时相关。请参阅#来自摄像机的运动/物体检测,了解几种解决方法。
配置
安装并设置 MariaDB 服务器
有关初始设置,请参阅MariaDB#安装,然后使用以下命令为 Shinobi 创建数据库
# mysql > CREATE DATABASE ccio; flush privileges; \q
创建 Shinobi 的用户 majesticflame
并授予其对新数据库的所有权限
# mysql < /usr/share/shinobi/sql/user.sql
/usr/share/shinobi/sql/user.sql
,例如,如果您的 LAN IP 是 192.168.9.100。$ sed 's/127.0.0.1/192.168.9.100/g' < /usr/share/shinobi/sql/user.sql > /tmp/user.sql
然后使用 scp 或任何其他机制将文件复制到您的 MariaDB 服务器,然后运行修改后的 sql 文件
# mysql < /tmp/user.sql
最后,使用表填充数据库
# mysql ccio < /usr/share/shinobi/sql/framework.sql
设置 Shinobi
/etc/shinobi/conf.json
并替换 db.host
下的 127.0.0.1。根据需要自定义 /etc/shinobi/conf.json
。
可以选择相应地设置邮件部分,并将 cron 密钥替换为注释中指示的随机内容。
可以选择通过编辑 /etc/shinobi/super.json
并将 "pass" 的值替换为 md5sum 哈希密码来更改超级管理员密码。像这样生成一个
$ echo -n PASSWORD | md5sum
启动和启用带有 shinobi.target
单元的 shinobi。shinobi.target
将启动/停止 shinobi-camera.service
和 shinobi-cron.service
。浏览至 https://127.0.0.1:8080/super 以执行初始设置,包括创建用户。请参阅官方配置指南以获得详细的演练。完成后,浏览至 https://127.0.0.1:8080 并以非管理员用户身份登录。
/etc/shinobi/conf.json
中 ip
下的 127.0.0.1 替换为 LAN IP。Android 和 iOS 应用
适用于 Android 和 iOS 的 Shinobi 移动应用程序可通过此公共测试获得。
技巧和窍门
摄像机视频和 Shinobi 之间的延迟
摄像机和 Shinobi 仪表板之间存在一定程度的滞后或延迟是正常的,并且取决于流类型和视频设置。请参阅上游文档,了解有关最大限度减少延迟的一些技巧。
Shinobi 原生的运动/物体检测
Shinobi 可以监视视频源,并且仅在检测到运动时才录制。原生支持全帧或触发区域。请参阅上游文档的 setting-up-motion-detection 文章。
来自摄像机的运动/物体检测
一些摄像机制造商在其摄像机固件中提供原生运动/物体检测。当摄像机检测到运动时,Shinobi 可以接受外部事件来触发录制,并且这些事件通过 SMTP 或 FTP 进行通信。
由于我们的软件包不是以 root 用户身份运行 node
,因此它无法使用这些服务的本机端口(STMP 为 25,FTP 为 21)。
建议只需在 Shinobi 和摄像机上为这些服务选择一个高于 1,000 的端口。
如果硬性要求使用本机端口,请为 shinobi-camera.service
使用drop-in snippet
[Service] AmbientCapabilities=CAP_NET_BIND_SERVICE
资源
- Shinobi 文档 - 官方文档和指南。
- iSpy 摄像头数据库 - 各种摄像机 URL 的大型数据库。
- Shinobi 摄像头数据库 - 可搜索的支持摄像机数据库,包括协议、流 URL 和其他技术规格等内容。
- Home assistant 摄像头数据库 - 另一个查找流 URL 的资源。