在群晖NAS中使用Frigate和Coral USB加速器

经过长时间的等待,我的 google coral usb accelerate 终于到了。快速浏览一下我使用安全摄像头进行物体检测的旧设置。 (见: 家庭自动化完全配置)

  • 运行 frigate docker 的英特尔 NUC i5 裸机 -CPU检测器
  • 黑群晖 w/ DSM 7.1 在带有 6 个 HDD 和 1 个用于缓存的 SSD 的 i5 定制机上运行。
  • 在 DSM 7.1 中运行的 Home Assistant docker 容器

上述配置的明显缺点是 NUC i5 中缓慢的 CPU 检测器造成的性能瓶颈。虽然它可以完成工作,但在网络中添加更多安全摄像头可能会严重影响整体检测率。

Google Coral USB 加速器是一个 USB 配件,具有 Edge TPU,可为现有系统带来机器学习推理。我们可以将繁重的工作留给 Coral,只让 CPU 执行 ffmpeg 编码工作,从而显着提高家庭自动化的性能.

docker compose 文件与旧文件几乎相同,除了一个棘手的部分:将 volume 部分中的 usb 设备指定为 /dev/bus/usb:/dev/bus/usb

 1  frigate:
 2    container_name: frigate
 3    privileged: true # this may not be necessary for all setups
 4    restart: unless-stopped
 5    image: ghcr.io/blakeblackshear/frigate:stable
 6    shm_size: "128mb" # update for your cameras based on calculation above
 7    devices:
 8      - /dev/bus/usb:/dev/bus/usb # passes the USB Coral, needs to be modified for other versions
 9      # - /dev/apex_0:/dev/apex_0 # passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
10      # - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
11    volumes:
12      - /etc/localtime:/etc/localtime:ro
13      - ${USERDIR}/frigate/config.yml:/config/config.yml:ro
14      - ${USERDIR}/frigate/db:/database
15      - ${USERDIR}/frigate/media:/media/frigate
16      - /dev/bus/usb:/dev/bus/usb
17      - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
18        target: /tmp/cache
19        tmpfs:
20          size: 1000000000
21    ports:
22      - "5050:5000"
23      - "1935:1935" # RTMP feeds
24    environment:
25      FRIGATE_RTSP_PASSWORD: ${FRIGATE_RTSP_PASSWORD}

现在我已经成功地将我的 frigate 容器从 NUC 迁移到 Synology NAS。太棒了!看看容器列表,我的黑群晖正在开足马力努力工作。

Synology Docker Container List

comments powered by Disqus

翻译: