|
|
這篇從「你手上只有一台 NAS 和一支攝影機」開始,做到 Frigate 畫面上真的框出一個人、而且 Home Assistant 收得到通知。
每一個步驟後面都有「你會看到什麼」。做完步驟 6 要能自己確認步驟 6 成功了,才走步驟 7。看不到預期的輸出就停在那裡,往下走只會讓你分不清是哪一步壞的。

做完這篇你會有什麼
- 一台跑在 NAS 上的 Frigate 0.18,用瀏覽器就能看即時畫面與事件回放
- 一份算過的 docker-compose.yml 與 config.yml,不是抄來的,是照你家攝影機的解析度算出來的
- 會分辨人、車、貓,樹葉晃動不會通知你
- 接進 Home Assistant,可以寫「偵測到人才開燈」這種自動化
- 七個可以親手跑一次的驗證指令,每個都有標準答案
先講清楚一件事:Frigate 很吃資源,但吃多吃少是可以事先算出來的。下面步驟 1 到 3 就是在算,算完你才知道要不要另外花錢買加速器(很多人其實不用)。不要跳過去直接裝,裝完卡住再回來查會浪費很多時間。
---
版本說明(2026-09 現況)
Frigate 目前的穩定版是 0.18.0(2026-09-12 發布)。這篇的所有設定都是照 0.18 的語法寫的。
如果你在別的地方看到舊教學,注意這幾個地方已經不一樣了:
- 錄影保留:0.17 起改成分層,record.continuous.days 和 record.motion.days 是兩個分開的欄位。舊教學的 record.events 這個區塊已經不存在了
- 快照:0.18 起硬碟上只留乾淨的 WebP,clean_copy 這個選項被移除了
- 已移除的設定:sync_recordings、timelapse_args、ui.date_format、ui.time_format。寫了會啟動失敗
- shm 大小公式:現在的乘數是 20,不是舊文件的 9。照舊公式算會太小,症狀是容器跑一跑突然掛掉
- 0.18 新增了完整的 UI 設定介面(分類側邊欄、逐欄位驗證)。但這是「新增」不是「取代」——YAML 仍然完全支援。這篇還是用 YAML,因為 YAML 可以版本控制、可以貼給別人看
⚠⚠ 還有一件更重要的事:Coral 已經不是預設答案了
這是這篇跟兩年前所有 Frigate 教學最大的差異,而且它過期的時候完全沒有症狀——舊文章讀起來還是很有道理。
Frigate 官方硬體頁現在的原文是:
- The Coral is no longer recommended for new Frigate installations, except in
- deployments with particularly low power requirements or hardware incapable of
- utilizing alternative AI accelerators for object detection.
複製代碼
翻成中文:Coral 已不推薦用於新安裝,例外只有兩種——特別在意功耗的部署,以及硬體本身無法使用其他 AI 加速器的情況。
為什麼會反轉:google-coral 的 edgetpu、libedgetpu、libcoral 等倉庫已於 2026-04-19 封存(變成唯讀,驅動在 Linux kernel 6.2 以上不加社群修補就編譯不起來);Coral 只支援 ssdlite / mobilenet 這類較舊的模型架構,精度輸給現在的 YOLOv9;而且它只是偵測加速器,不加速影片解碼。同時間 Intel 內顯的 OpenVINO 與 Hailo 的 M.2 加速卡都變得又便宜又好取得。
如果你手上已經有 Coral:它現在還是完全能用,Frigate 也還支援。這一段不是叫你丟掉,是叫你不要為了裝 Frigate 特地去買一片。
---
步驟 1:算出你的 NAS 夠不夠,以及要用哪個偵測器
先做這一步,不然你會在步驟 8 發現 CPU 100% 然後整台 NAS 變慢。
SSH 進你的 NAS,跑這三行:
- # 1. CPU 是什麼
- cat /proc/cpuinfo | grep "model name" | head -1
- # 2. 有沒有 Intel 內顯可以用(OpenVINO 與硬體解碼都靠它)
- ls -l /dev/dri
- # 3. 核心版本(0.18 的 Intel GPU 統計需要 6.5 以上)
- uname -r
複製代碼
你會看到什麼
有 Intel 內顯的機器(例如 Synology DS920+、DS923+ 之外的 Intel 機種、大部分 x86 NAS)會回:
- model name : Intel(R) Celeron(R) J4125 CPU @ 2.00GHz
- crw-rw---- 1 root video 226, 0 Sep 25 10:12 /dev/dri/card0
- crw-rw---- 1 root video 226, 128 Sep 25 10:12 /dev/dri/renderD128
- 4.4.302+
複製代碼
重點是有沒有 renderD128 那一行。
- 有 renderD128:這是最好的結果。你可以用內顯做硬體解碼,而且可以用 OpenVINO 當偵測器,不用多花一毛錢
- ls: /dev/dri: No such file or directory:這台是 AMD Ryzen 或 Realtek/ARM 的機種(例如 DS423、DS220j),沒有可用的內顯。這種機器要另外想辦法,往下看「沒有內顯怎麼辦」
- uname -r 顯示 4.4.x:Synology 的 DSM 7 核心確實還是 4.4,這代表 0.18 的「Intel GPU 使用率統計」那個新頁面會是空的(那個功能需要 kernel 6.5 以上)。這只是統計看不到,硬體解碼與 OpenVINO 本身照樣能用
四種偵測器的實際差別
- 偵測器 推論時間 成本 這篇的建議
- Intel 內顯 OpenVINO 15-30 ms 0 元(已內建) 【第一選擇】有 renderD128 就用這個
- Hailo-8L (M.2) 8-15 ms 約 NT$2,200 NAS 有 M.2 插槽才考慮
- Hailo-8 (M.2) 5-10 ms 約 NT$6,500 8 支以上攝影機才需要
- Coral USB 8-12 ms 約 NT$2,000+ 【只在沒有其他選擇時】
- 純 CPU 100-200 ms 0 元 一支就吃掉一顆核心,不可行
複製代碼
決策流程(照這個順序)
- 有 renderD128 → 直接用 OpenVINO。不要買任何東西。四支攝影機以內綽綽有餘
- 有 renderD128 但攝影機超過六支 → 先用 OpenVINO 跑起來,看步驟 8 的推論時間,真的不夠再考慮加速卡
- 沒有 renderD128、但 NAS 有空的 M.2 插槽 → 買 Hailo-8L。它是官方現在排第一的推薦
- 沒有 renderD128、也沒有 M.2 插槽 → 這正是官方說的「硬體無法使用其他加速器」的例外情況,買 Coral USB
- 已經有 Coral 了 → 就用它,不用換
沒有內顯怎麼辦(三個選項與採購資訊)
- Hailo-8L M.2 A+E key:搜「Hailo-8L M.2」,約 NT$2,200。前提是你的 NAS 有空的 M.2 插槽而且 BIOS 認得——Synology 的 M.2 插槽多半被鎖定只能插它自家的 SSD,先查你的型號
- Coral USB:搜「Coral USB Accelerator」或「Coral 加速器」,蝦皮、露天約 NT$2,000~3,000。要跟信譽好的賣家買——缺貨很久、仿品不少,假的插上去根本認不到。要接受的風險是驅動倉庫已封存,長期沒有修正
- 換一台機器跑 Frigate:Intel N100 迷你主機約 NT$4,500~6,500,內顯的 OpenVINO 效能比 Coral 好、還能順便做影片解碼。攝影機三支以上時這通常最划算——NAS 繼續當儲存,運算交給它
---
|
|