NVR with realtime local object detection for IP cameras
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Miscellaneous fixes (0.18 beta) (#23898) * update homekit docs * update dictionary * preserve function names in production builds adds only 162kb gzipped/450k unzipped to the bundle * margin tweak * fix maximum update depth exceeded when dragging the timeline handlebar Dragging the handlebar, especially quickly or with fast direction changes, could exceed React's nested update limit and unmount the whole app, leaving a blank screen. Motion search was worst affected. The drag loop committed a new time into React state on every animation frame. Edge auto-scrolling mutates scrollTop each iteration, so the value always differed and React's same-value bail-out never engaged, letting the update chain run to the limit of 50. Pace those commits to one per 100ms and flush the pending value on release, so the drop position is still exact. The handlebar position and label are written to the DOM directly and remain at frame rate. useUserInteraction dispatched state on every scroll and touchmove event; only commit on the leading edge. Motion search also passed fresh array literals for the timeline's events, motion events and unavailable ranges, giving the segment memo and the drag effect new dependencies on every render. Both views also passed an inline arrow for onHandlebarDraggingChange, which is an effect dependency that calls setState. * Verify motion search jobs belong to the requested camera * Apply persisted profile and runtime overrides before workers start Worker processes are handed a copy of the config when they start and only learn about later changes from the config_updater broadcast, which is plain ZMQ PUB/SUB with no queue, ack, or retained value, so a message published before a subscriber has connected is dropped and never re-sent. The persisted profile and the runtime camera toggles were restored only by that broadcast, at the very end of startup, so a worker that lost the race kept its yaml values for the rest of the session: audio detection kept running on a camera whose audio had been toggled off, even though /api/config, the UI, and the runtime state file all showed it disabled. Split both restores into a config half and a publish half. ProfileManager.restore_persisted_profile_to_config() and Dispatcher.reapply_runtime_state_to_config() now run right after init_profile_manager(), before the first worker starts, so every worker is handed a config that already carries both layers. ProfileManager.restore_persisted_profile() and Dispatcher.restore_runtime_state() still run at the end of startup: the recording, review, and embeddings processes start before the dispatcher exists, so the broadcast remains their only channel, and MQTT needs the retained switch states. Both config passes have to stay after init_profile_manager(), which snapshots the config as the no-profile base that deactivation resets to. * End timeline drags on touchcancel | 29 天前 | |
Implement Wizard for Creating Classification Models (#20622) * Implement extraction of images for classification state models * Add object classification dataset preparation * Add first step wizard * Update i18n * Add state classification image selection step * Improve box handling * Add object selector * Improve object cropping implementation * Fix state classification selection * Finalize training and image selection step * Cleanup * Design optimizations * Cleanup mobile styling * Update no models screen * Cleanups and fixes * Fix bugs * Improve model training and creation process * Cleanup * Dynamically add metrics for new model * Add loading when hitting continue * Improve image selection mechanism * Remove unused translation keys * Adjust wording * Add retry button for image generation * Make no models view more specific * Adjust plus icon * Adjust form label * Start with correct type selected * Cleanup sizing and more font colors * Small tweaks * Add tips and more info * Cleanup dialog sizing * Add cursor rule for frontend * Cleanup * remove underline * Lazy loading | 10 个月前 | |
Initial implementation of D-FINE model via ONNX (#16772) * initial implementation of D-FINE model * revert docker-compose * add docs for D-FINE * remove weird auto-format issue | 1 年前 | |
Add AI policy docs (#23805) * add frigate github AI policy * update language * add tldr | 1 个月前 | |
Settings UI tweaks (#22547) * fix genai settings ui - add roles widget to select roles for genai providers - add dropdown in semantic search to allow selection of embeddings genai provider * tweak grouping to prioritize fieldOrder before groups previously, groups were always rendered first. now fieldOrder is respected, and any fields in a group will cause the group and all the fields in that group to be rendered in order. this allows moving the enabled switches to the top of the section * mobile tweaks stack buttons, add more space on profiles pane, and move the overridden badge beneath the description * language consistency * prevent camera config sections from being regenerated for profiles * conditionally import axengine module to match other detectors * i18n * update vscode launch.json for new integrated browser * formatting | 5 个月前 | |
Improve the devcontainer experience (#3492) * Make it easier to run the devcontainer * Some more improvements * Tidy up few other things * Better name stages * Fix CI * Setup everything with one click * Allow to set IMAGE_OWNER * Change IMAGE_OWNER to IMAGE_REPO * Fix CI with IMAGE_REPO * Fix nodejs installation * Test devcontainer build as part of CI * Build devcontainer in its own job * Fix devcontainer cli installation * Fix devcontainer build * Fix devcontainer build in CI again * Enable buildkit only * Increase coverage of devcontainer test * Fix devcontainer start in CI * Ensure latest version of docker compose is used * Fix install compose action * Disable CI stuff which does not work until we fix them | 3 年前 | |
remove all references to degirum in frigate (#23882) the company ceased operations on 1 Aug 2026 | 1 个月前 | |
Add more vehicle types to default attribute map (#24097) * run lpr on more vehicle types by default before, a config change to attribute_map was required * logging tweaks * remove arg * use attributes for frontend check * docs * only check thumbnail attributes the object can have | 8 天前 | |
fix export case download with non-ascii names (#24100) | 7 天前 | |
Improve motion review and add motion search (#22253) * implement motion search and motion previews * tweaks * fix merge issue * fix copilot instructions | 5 个月前 | |
fix yolonas colab notebook (#22936) | 4 个月前 | |
Miscellaneous fixes (0.18 beta) (#23854) * fix watchdog process restarts reverting to the boot config /api/config/set parses a new FrigateConfig and swaps the API and dispatcher onto it, but FrigateApp.config was never rebound, so the watchdog factories rebuilt a crashed process from the config as of startup. Fix is to read through a ConfigHolder that the swap updates. * fix birdseye camera overrides being clobbered by a global mode change A global birdseye save published only the global object, leaving the output process to infer which cameras were inheriting by comparing against the previous global mode. That cannot tell an inherited value from an explicit one that happens to match, so it overwrote the override until a restart. Publish the per-camera values the config parse already resolved instead. * Reject non-finite numbers in GenAI review descriptions A model returning NaN for confidence or potential_threat_level slipped through the model_construct fallback, which skips validation, and was written into the review segment's JSON data. NaN is not valid JSON, so every subsequent /review request failed with "Out of range float values are not JSON compliant", blanking the review page for any time range containing the poisoned row. * restore fused DetectionOutput in the OpenVINO SSD model conversion * fix rgb swap issue for face dataset testing script | 1 个月前 | |
Add more vehicle types to default attribute map (#24097) * run lpr on more vehicle types by default before, a config change to attribute_map was required * logging tweaks * remove arg * use attributes for frontend check * docs * only check thumbnail attributes the object can have | 8 天前 | |
Improve the devcontainer experience (#3492) * Make it easier to run the devcontainer * Some more improvements * Tidy up few other things * Better name stages * Fix CI * Setup everything with one click * Allow to set IMAGE_OWNER * Change IMAGE_OWNER to IMAGE_REPO * Fix CI with IMAGE_REPO * Fix nodejs installation * Test devcontainer build as part of CI * Build devcontainer in its own job * Fix devcontainer cli installation * Fix devcontainer build * Fix devcontainer build in CI again * Enable buildkit only * Increase coverage of devcontainer test * Fix devcontainer start in CI * Ensure latest version of docker compose is used * Fix install compose action * Disable CI stuff which does not work until we fix them | 3 年前 | |
Miscellaneous fixes (0.18 beta) (#23725) | 1 个月前 | |
use fstr log style | 5 年前 | |
Miscellaneous fixes (#23651) | 1 个月前 | |
Add AI policy docs (#23805) * add frigate github AI policy * update language * add tldr | 1 个月前 | |
Miscellaneous fixes (#23258) * render orphaned filter entries as collapsibles instead of the Key/Value editor * Symlink for various AI files * change replay confg dialog to platform aware sheet * change agents title * fix test * tweak collapsible * remove camera ui section in settings no point to having it anymore with profiles and camera management settings * fix admin response cache leak to non-admin users via nginx proxy_cache * add model fetcher endpoint for genai config ui --------- Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com> | 3 个月前 | |
Initial support for Hailo-8L (#12431) * Initial support for Hailo-8L Added file for Hailo-8L detector including dockerfile, h8l.mk, h8l.hcl, hailo8l.py, ci.yml and ssd_mobilenat_v1.hef as the inference network. Added files to help with the installation of Hailo-8L dependences like generate_wheel_conf.py, requirements-wheel-h8l.txt and modified setup.py to try and work with any hardware. Updated docs to reflect Initial Hailo-8L support including oject_detectors.md, hardware.md and installation.md. * Update .github/workflows/ci.yml typo h8l not arm64 Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com> * Update docs/docs/configuration/object_detectors.md Clarity for the end user and correct uses of words Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com> * Update docs/docs/frigate/installation.md typo Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com> * update Installation.md to clarify Hailo-8L installation process. * Update docs/docs/frigate/hardware.md Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> * Update hardware.md add Inference time. * Oops no new line at the end of the file. * Update docs/docs/frigate/hardware.md typo Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> * Update dockerfile to download the ssd_modilenet_v1 model instead of having it in the repo. * Updated dockerfile so it dose not download the model file. add function to download it at runtime. update model path. * fix formatting according to ruff and removed unnecessary functions. --------- Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com> Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> | 1 年前 | |
Add AI policy docs (#23805) * add frigate github AI policy * update language * add tldr | 1 个月前 | |
llc to inc and 2025 to 2026 (#21484) | 7 个月前 | |
Add networking options for configuring listening ports (#21779) | 6 个月前 | |
docs: fix alt text and capitalization in documentation (#21551) - Fix incorrect alt text in README.md for mask and zone editor screenshot - Capitalize 'Frigate' in audio_detectors.md for consistency | 7 个月前 | |
llc to inc and 2025 to 2026 (#21484) | 7 个月前 | |
llc to inc and 2025 to 2026 (#21484) | 7 个月前 | |
fix(audio): correct sodeling typo to yodeling (#23946) * fix(audio): correct sodeling typo to yodeling Fixes a typo in audio-labelmap.txt where the yodeling class was misspelled as "sodeling". * fix(i18n): remove duplicate sodeling key in en audio.json The en audio.json already contains a correct "yodeling" key. Remove the duplicate/misspelled "sodeling" entry to avoid ambiguity. | 21 天前 | |
Work through most of the cspell warnings in python (#13794) | 1 年前 | |
Use Frigate amd64 cache image for devcontainer build (#22888) * Cache intel driver build * Use Frigate's cached build | 4 个月前 | |
Fix review summary report analysis creation to be scoped for users with full camera access only (#24056) * Fix review summary analysis * Add ability to scope based on full camera access | 12 天前 | |
Increase ruff coverage (#23644) * Pin ruff * Add python upgrade fixes This enables python upgrade checks in ruff to look for deprecated types and patterns. This namely fixes: - usage of deprecated `Typing` which is now built in - some specific exceptions which are caught and have new aliases Some specific UP checks were also ignored as they are stylistic / unimportant and likely to cause bugs * Remove async blocking calls Use asyncio.to_thread on two remaining blocking calls to fix hanging event thread loop. Enable this specific rule to block it in the future. * Use proper logging mechanism * Correctly format logs * Raise with context When raising an exception include the from context to improve debugging * Cleanup | 1 个月前 | |
Cleanup Detector labelmap (#4932) * Add missing labels to default labelmap. Fill any holes with "unknown". Remove unique labelmap for tensorrt. * Replace "truck" with "car" on Openvino labelmap | 3 年前 | |
Docs improvements (#8641) * go all in on ruff * upgrade docusaurus * add netlify toml * broken link * fix netlify toml * start filling out guide * add debian setup detail * simplify bash command | 2 年前 | |
Implement support for notifications (#12523) * Setup basic notification page * Add basic notification implementation * Register for push notifications * Implement dispatching * Add fields * Handle image and link * Add notification config * Add field for users notification tokens * Implement saving of notification tokens * Implement VAPID key generation * Implement public key encoding * Implement webpush from server * Implement push notification handling * Make notifications config only * Add maskable icon * Use zod form to control notification settings in the UI * Use js * Always open notification * Support multiple endpoints * Handle cleaning up expired notification registrations * Correctly unsubscribe notifications * Change ttl dynamically * Add note about notification latency and features * Cleanup docs * Fix firefox pushes * Add links to docs and improve formatting * Improve wording * Fix docstring Co-authored-by: Blake Blackshear <blake@frigate.video> * Handle case where native auth is not enabled * Show errors in UI --------- Co-authored-by: Blake Blackshear <blake@frigate.video> | 1 年前 | |
Increase ruff coverage (#23644) * Pin ruff * Add python upgrade fixes This enables python upgrade checks in ruff to look for deprecated types and patterns. This namely fixes: - usage of deprecated `Typing` which is now built in - some specific exceptions which are caught and have new aliases Some specific UP checks were also ignored as they are stylistic / unimportant and likely to cause bugs * Remove async blocking calls Use asyncio.to_thread on two remaining blocking calls to fix hanging event thread loop. Enable this specific rule to block it in the future. * Use proper logging mechanism * Correctly format logs * Raise with context When raising an exception include the from context to improve debugging * Cleanup | 1 个月前 |
Frigate NVR™ - 一个具有实时目标检测的本地 NVR
English | [简体中文]
一个完整的本地网络视频录像机(NVR),专为Home Assistant设计,具备 AI 目标/物体检测功能。使用 OpenCV 和 TensorFlow 在本地为 IP 摄像头执行实时物体检测。
强烈推荐使用 GPU 或者 AI 加速器(例如Google Coral 加速器 或者 Hailo等)。它们的运行效率远远高于现在的顶级 CPU,并且功耗也极低。
- 通过自定义组件与 Home Assistant 紧密集成
- 设计上通过仅在必要时和必要地点寻找目标,最大限度地减少资源使用并最大化性能
- 大量利用多进程处理,强调实时性而非处理每一帧
- 使用非常低开销的画面变动检测(也叫运动检测)来确定运行目标检测的位置
- 使用 TensorFlow 进行目标检测,并运行在单独的进程中以达到最大 FPS
- 通过 MQTT 进行通信,便于集成到其他系统中
- 根据检测到的物体设置保留时间进行视频录制
- 24/7 全天候录制
- 通过 RTSP 重新流传输以减少摄像头的连接数
- 支持 WebRTC 和 MSE,实现低延迟的实时观看
社区中文翻译文档
你可以在这里查看文档 https://docs.frigate-cn.video
赞助
如果您想通过捐赠支持开发,请使用 Github Sponsors。
协议
本项目采用 MIT 许可证授权。
代码部分:本代码库中的源代码、配置文件和文档均遵循 MIT 许可证。您可以自由使用、修改和分发这些代码,但必须保留原始版权声明。
商标部分:“Frigate”名称、“Frigate NVR”品牌以及 Frigate 的 Logo 为 Frigate, Inc. 的商标,不在 MIT 许可证覆盖范围内。 有关品牌资产的规范使用详情,请参阅我们的《商标政策》。
截图
实时监控面板
简单的核查工作流程
多摄像头可按时间轴查看
内置遮罩和区域编辑器
翻译
我们使用 Weblate 平台提供翻译支持,欢迎参与进来一起完善。
非官方中文讨论社区
欢迎加入中文讨论 QQ 群:1043861059
Bilibili:https://space.bilibili.com/3546894915602564
中文社区赞助商
本项目 CDN 加速及安全防护由 Tencent EdgeOne 赞助
Copyright © 2026 Frigate, Inc.
项目介绍
具备实时本地对象检测功能的网络视频录像机,适用于IP摄像头【此简介由AI生成】
MIT Python6.06 K提交数aicameragoogle-coralhome-assistanthome-automationhomeautomationmqttnvrobject-detectionrealtimertsptensorflow
定制我的领域