- Frigate NVR cung cấp giải pháp phát hiện đối tượng dựa trên trí tuệ nhân tạo cục bộ cho camera an ninh được lắp đặt trong nhà hoặc văn phòng
- Hỗ trợ tích hợp với các nền tảng tự động hóa phổ biến như Home Assistant, OpenHab, NodeRed
- Frigate được tích hợp trực tiếp với Home Assistant Media Browser, cho phép tận dụng ngay luồng camera tức thời và tự động hóa
- Nhờ việc cung cấp dữ liệu cảm biến và công tắc theo thời gian thực, có thể xây dựng nhiều kịch bản cảnh báo và tự động hóa khác nhau
- Dựa trên sự hỗ trợ của MQTT, có khả năng liên kết mở rộng, giúp xây dựng nhà thông minh hiệu quả
Các tính năng chính của Frigate NVR
- Frigate NVR chạy AI phát hiện đối tượng tại chỗ, cho phép phân tích video camera an ninh mà không phụ thuộc vào dịch vụ đám mây bên ngoài
- Có thể liên kết với Home Assistant, OpenHab, NodeRed... nên dễ dàng tích hợp với nhiều nền tảng tự động hóa nhà thông minh
- Frigate hiển thị trực tiếp video camera trong Media Browser của Home Assistant và cung cấp thực thể camera độ trễ thấp
- Việc hiển thị kết quả phát hiện đối tượng dưới dạng dữ liệu cảm biến và công tắc thời gian thực mở ra nhiều ứng dụng, từ phát hiện sự kiện dựa trên video, quy tắc tự động hóa đến cài đặt cảnh báo
- Nhờ hỗ trợ giao thức MQTT, có ưu điểm tích hợp được mở rộng với các hệ thống IoT và tự động hóa khác
1 bình luận
Ý kiến trên Hacker News
Tôi đã chạy Frigate hơn 2 năm và thấy nó vượt trội hơn nhiều hệ thống nào mình từng dùng về tốc độ phát hiện và độ tin cậy. Trước đây tôi đã thử Ring, Tapo, Eufy Security, nhưng hiện tại chỉ kết nối camera Tapo với Frigate qua RTSP stream. Việc chặn truy cập internet của các camera này giúp bảo vệ quyền riêng tư gần như hoàn toàn. Tôi không tin tưởng Eufy Security vì cứ mỗi lần bấm thông báo phát hiện chuyển động lại hiện quảng cáo sản phẩm mới trước tiên, dường như quảng cáo được ưu tiên hơn an ninh cá nhân. Vấn đề camera cloud không mở được mặc dù đã trả phí, và cả việc lưu trữ thông tin xác thực bảo mật như mật khẩu mà không mã hóa cũng từng xảy ra. Các lý do này là nguyên nhân chính khiến tôi chuyển sang giải pháp tự lưu trữ. Với Frigate chạy trên phần cứng đã qua sử dụng kèm GPU RX 550 để bật tăng tốc phần cứng, độ trễ phát hiện luôn dưới 1 giây. Tôi đã tự viết một app dùng API Frigate để gửi cảnh báo ảnh chụp nhanh qua Telegram và Pushover, và tự duy trì hệ thống trong 2 năm. Trong thời gian đó chỉ cần khởi động lại dịch vụ 2 lần. Tôi vẫn dùng hoàn toàn ổn định cả bên ngoài nhờ tunnel từ VPS về máy chủ local nhà. Thật sự rất biết ơn dự án tuyệt vời này.
Một bất tiện thường gặp của tôi: tác giả dùng chữ viết tắt NVR ngay ở câu đầu tiên mà không giải thích. NVR là viết tắt của Networked Video Recorder. Nên tránh việc làm vậy nếu độc giả không ai cũng có kinh nghiệm trong mảng này.
GPU và TPU không phải bắt buộc. Chỉ cần chỉnh số lượng camera và vùng phát hiện phù hợp. Tôi dùng substream MJPEG độ phân giải/thước khung thấp cho phát hiện, còn h264 chỉ dùng cho ghi và xem lại. Với nhận dạng trên CPU, OpenVINO nhanh hơn Tensorflow mặc định rất nhiều; trên VM 6 nhân (Ivy Bridge Xeon), chạy 2 camera CPU chỉ dùng khoảng 20%.
Việc tăng tốc video (giải mã video, không phải nhận diện đối tượng) hơi thiếu ổn định, nhưng sau đó đó lại là trải nghiệm tốt nhất với giải pháp nhận diện đối tượng thời gian thực. Không còn cảnh thú nhỏ kéo tôi dậy giữa đêm nữa. Ngoài ra, tôi đăng ký hằng năm để hỗ trợ huấn luyện mô hình AI bằng dữ liệu báo sai (false positive) tôi cung cấp; nhờ đó độ chính xác tăng đáng kể.
Việc đóng gói của Frigate thực sự gây ấn tượng. Mặc dù go2rtc hoặc MediaMTX (go2rtc, MediaMTX) đủ tốt cho mặc định, nếu muốn thêm xử lý AI thì lại không có công cụ "theo kiểu Unix" nào thực sự sẵn sàng; phải tự triển khai bằng Python.
Nếu không cần xử lý video đã ghi theo thời gian thực, ví dụ muốn trích xuất một cảnh trong video 5 giờ khi một xe đi qua một vị trí cụ thể hoặc có người lái xe cầm điện thoại, bạn sẽ bắt đầu từ đâu và nên dùng framework nào?
Đây có phải câu hỏi hài hước kiểu: chỉ cần treo tấm biển lớn ghi "hãy vô hiệu hóa camera của tôi" là hệ thống bị vô hiệu hóa?
Tôi dùng Frigate với 5 camera IP (3 Hikvision, 2 Amcrest) và 1 camera USB. Với USB Coral TPU, máy i7-6700 cũ chạy mượt với mức chiếm dụng CPU khoảng 30%. Không phải tối ưu nhất nhưng vẫn dùng được. Video Amcrest phát tốt; Hikvision đôi khi cần transcode do vấn đề codec. Frigate không có tính năng gửi video đã ghi ra ngoài, nên dù tôi tự mirror thư mục lưu trữ thì về bản chất vẫn khó tách và sao lưu riêng các sự kiện quan trọng.
Tôi nhấn mạnh rằng chỉ cần điều chỉnh số camera và vùng phát hiện hợp lý là CPU alone đủ, không cần GPU hay TPU. Kinh nghiệm chia sẻ về việc dùng các model khác nhau như Openvino, Tensorflow.
Một điểm khác một chút là tại sao vẫn cần tự lắp camera giám sát cho chính mình? Có nghiên cứu tâm lý cho rằng chúng còn làm tăng stress, lo lắng. Với việc phòng ngừa tội phạm chúng không có tác dụng lớn, và đối với điều tra cảnh sát hoặc làm bằng chứng bảo hiểm thì dường như cần backup offsite. Dù CCTV có mặt khắp nơi, trường hợp đóng góp đáng kể vào giải quyết tội phạm (ví dụ nhận diện biển số xe) vẫn rất ít.
Tôi là người dùng cũ của Frigate đã 4 năm. Tôi chỉ dùng riêng Frigate không có Home Assistant, nhưng gần đây lại đưa Home Assistant trở lại và kết nối stream WebRTC của Nest Cam với Frigate. Giờ tôi có thể dùng giống như cũ mà không cần đăng ký Nest Aware, nên khá hài lòng về chi phí.