Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
-
+
diff --git a/a24c32bc.fa674108.js b/a24c32bc.0b3e2294.js
similarity index 68%
rename from a24c32bc.fa674108.js
rename to a24c32bc.0b3e2294.js
index 02605cf7c..f96abbf4b 100644
--- a/a24c32bc.fa674108.js
+++ b/a24c32bc.0b3e2294.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{88:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return i})),a.d(t,"toc",(function(){return o})),a.d(t,"default",(function(){return p}));var r=a(3),n=a(7),l=(a(0),a(97)),c={id:"hardware",title:"Recommended hardware"},i={unversionedId:"hardware",id:"hardware",isDocsHomePage:!1,title:"Recommended hardware",description:"Cameras",source:"@site/docs/hardware.md",slug:"/hardware",permalink:"/frigate/hardware",editUrl:"https://github.com/blakeblackshear/frigate/edit/master/docs/docs/hardware.md",version:"current",sidebar:"docs",previous:{title:"How Frigate Works",permalink:"/frigate/how-it-works"},next:{title:"Installation",permalink:"/frigate/installation"}},o=[{value:"Cameras",id:"cameras",children:[]},{value:"Computer",id:"computer",children:[]},{value:"Unraid",id:"unraid",children:[]}],b={toc:o};function p(e){var t=e.components,a=Object(n.a)(e,["components"]);return Object(l.b)("wrapper",Object(r.a)({},b,a,{components:t,mdxType:"MDXLayout"}),Object(l.b)("h2",{id:"cameras"},"Cameras"),Object(l.b)("p",null,"Cameras that output H.264 video and AAC audio will offer the most compatibility with all features of Frigate and HomeAssistant. It is also helpful if your camera supports multiple substreams to allow different resolutions to be used for detection, streaming, clips, and recordings without re-encoding."),Object(l.b)("h2",{id:"computer"},"Computer"),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",Object(r.a)({parentName:"tr"},{align:null}),"Name"),Object(l.b)("th",Object(r.a)({parentName:"tr"},{align:null}),"Inference Speed"),Object(l.b)("th",Object(r.a)({parentName:"tr"},{align:null}),"Notes"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Atomic Pi"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"16ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Good option for a dedicated low power board with a small number of cameras. Can leverage Intel QuickSync for stream decoding.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Intel NUC NUC7i3BNK"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"8-10ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Great performance. Can handle many cameras at 5fps depending on typical amounts of motion.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"BMAX B2 Plus"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"10-12ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Good balance of performance and cost. Also capable of running many other services at the same time as frigate.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Minisforum GK41"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"9-10ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Great alternative to a NUC with dual Gigabit NICs. Easily handles several 1080p cameras.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Raspberry Pi 3B (32bit)"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"60ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Can handle a small number of cameras, but the detection speeds are slow due to USB 2.0.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Raspberry Pi 4 (32bit)"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"15-20ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Can handle a small number of cameras. The 2GB version runs fine.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Raspberry Pi 4 (64bit)"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"10-15ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Can handle a small number of cameras. The 2GB version runs fine.")))),Object(l.b)("h2",{id:"unraid"},"Unraid"),Object(l.b)("p",null,"Many people have powerful enough NAS devices or home servers to also run docker. There is a Unraid Community App.\nTo install make sure you have the ",Object(l.b)("a",Object(r.a)({parentName:"p"},{href:"https://forums.unraid.net/topic/38582-plug-in-community-applications/"}),"community app plugin here"),'. Then search for "Frigate" in the apps section within Unraid - you can see the online store ',Object(l.b)("a",Object(r.a)({parentName:"p"},{href:"https://unraid.net/community/apps?q=frigate#r"}),"here")),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",Object(r.a)({parentName:"tr"},{align:null}),"Name"),Object(l.b)("th",Object(r.a)({parentName:"tr"},{align:null}),"Inference Speed"),Object(l.b)("th",Object(r.a)({parentName:"tr"},{align:null}),"Notes"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),Object(l.b)("a",Object(r.a)({parentName:"td"},{href:"http://coral.ai"}),"M2 Coral Edge TPU")),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"6.2ms"),Object(l.b)("td",Object(r.a)({parentName:"tr"},{align:null}),"Little complicated to get installed, as needs drivers on the host OS, ",Object(l.b)("a",Object(r.a)({parentName:"td"},{href:"https://forums.unraid.net/topic/98064-support-blakeblackshear-frigate/?do=findComment&comment=945776"}),"info here"))))))}p.isMDXComponent=!0},97:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return s}));var r=a(0),n=a.n(r);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var b=n.a.createContext({}),p=function(e){var t=n.a.useContext(b),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=p(e.components);return n.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,b=o(e,["components","mdxType","originalType","parentName"]),m=p(a),d=r,s=m["".concat(c,".").concat(d)]||m[d]||u[d]||l;return a?n.a.createElement(s,i(i({ref:t},b),{},{components:a})):n.a.createElement(s,i({ref:t},b))}));function s(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,c=new Array(l);c[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var b=2;b=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var b=n.a.createContext({}),p=function(e){var t=n.a.useContext(b),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=p(e.components);return n.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,b=o(e,["components","mdxType","originalType","parentName"]),m=p(a),d=r,s=m["".concat(c,".").concat(d)]||m[d]||u[d]||l;return a?n.a.createElement(s,i(i({ref:t},b),{},{components:a})):n.a.createElement(s,i({ref:t},b))}));function s(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,c=new Array(l);c[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var b=2;bAdvanced | Frigate
-
+
@@ -22,7 +22,7 @@
Event and clip information is managed in a sqlite database at /media/frigate/clips/frigate.db. If that database is deleted, clips will be orphaned and will need to be cleaned up manually. They also won't show up in the Media Browser within HomeAssistant.
If you are storing your clips on a network share (SMB, NFS, etc), you may get a database is locked error message on startup. You can customize the location of the database in the config if necessary.
This may need to be in a custom location if network storage is used for clips.
The labelmap can be customized to your needs. A common reason to do this is to combine multiple object types that are easily confused when you don't need to be as granular such as car/truck. You must retain the same number of labels, but you can change the names. To change:
The default config will look for a USB Coral device. If you do not have a Coral, you will need to configure a CPU detector. If you have PCI or multiple Coral devices, you need to configure your detector devices in the config file. When using multiple detectors, they run in dedicated processes, but pull from a common queue of requested detections across all cameras.
Tune your object filters to adjust false positives: min_area, max_area, min_score, threshold.
For object filters in your configuration, any single detection below min_score will be ignored as a false positive. threshold is based on the median of the history of scores (padded to 3 values) for a tracked object. Consider the following frames when min_score is set to 0.6 and threshold is set to 0.85:
Frame
Current Score
Score History
Computed Score
Detected Object
1
0.7
0.0, 0, 0.7
0.0
No
2
0.55
0.0, 0.7, 0.0
0.0
No
3
0.85
0.7, 0.0, 0.85
0.7
No
4
0.90
0.7, 0.85, 0.95, 0.90
0.875
Yes
5
0.88
0.7, 0.85, 0.95, 0.90, 0.88
0.88
Yes
6
0.95
0.7, 0.85, 0.95, 0.90, 0.88, 0.95
0.89
Yes
In frame 2, the score is below the min_score value, so frigate ignores it and it becomes a 0.0. The computed score is the median of the score history (padding to at least 3 values), and only when that computed score crosses the threshold is the object marked as a true positive. That happens in frame 4 in the example.
HassOS users can manage their configuration directly in the addon Configuration tab. For other installations, the default location for the config file is /config/config.yml. This can be overridden with the CONFIG_FILE environment variable. Camera specific ffmpeg parameters are documented here.
It is recommended to start with a minimal configuration and add to it:
Each of your cameras must be configured. The following is the minimum required to register a camera in Frigate. Check the camera configuration page for a complete list of options.
This setting, for example, allows Frigate to consume my 10-15fps camera streams on
my relatively low powered Haswell machine with relatively low cpu usage.
-
+
diff --git a/configuration/optimizing/index.html b/configuration/optimizing/index.html
index ed8aee5a9..a81e97588 100644
--- a/configuration/optimizing/index.html
+++ b/configuration/optimizing/index.html
@@ -8,7 +8,7 @@
Optimizing performance | Frigate
-
+
@@ -25,7 +25,7 @@
NOTICE: If you are using the addon, ensure you turn off Protection mode for hardware acceleration.
AMD/ATI GPUs (Radeon HD 2000 and newer GPUs) via libva-mesa-driver (https://trac.ffmpeg.org/wiki/Hardware/QuickSync)
Note: You also need to set LIBVA_DRIVER_NAME=radeonsi as an environment variable on the container.
ffmpeg:
hwaccel_args:
--hwaccel
- vaapi
--hwaccel_device
- /dev/dri/renderD128
Nvidia GPU based decoding via NVDEC is supported, but requires special configuration. See the nvidia NVDEC documentation for more details.
This repository holds the Home Assistant Addon, for use with Home Assistant OS and compatible installations. It is the piece that allows you to run Frigate from your Home Assistant Supervisor tab.
This repository holds the custom integration that allows your Home Assistant installation to automatically create entities for your Frigate instance, whether you run that with the addon or in a separate Docker instance.
The Web UI requires an instance of Frigate to interact with for all of its data. You can either run an instance locally (recommended) or attach to a separate instance accessible on your network.
To run the local instance, follow the core development instructions.
If you won't be making any changes to the Frigate HTTP API, you can attach the web development server to any Frigate instance on your network. Skip this step and go to 3a.
3a. Run the development server against a non-local instance#
To run the development server against a non-local instance, you will need to provide an environment variable, SNOWPACK_PUBLIC_API_HOST that tells the web application how to connect to the Frigate API:
cd web && SNOWPACK_PUBLIC_API_HOST=http://<ip-address-to-your-frigate-instance>:5000 npm run start
Ensure lint passes. This command will ensure basic conformance to styles, applying as many automatic fixes as possible, including Prettier formatting.
npm run lint
Add to unit tests and ensure they pass. As much as possible, you should strive to increase test coverage whenever making changes. This will help ensure features do not accidentally become broken in the future.
npm run test
Test in different browsers. Firefox, Chrome, and Safari all have different quirks that make them unique targets to interact with.
Cameras that output H.264 video and AAC audio will offer the most compatibility with all features of Frigate and HomeAssistant. It is also helpful if your camera supports multiple substreams to allow different resolutions to be used for detection, streaming, clips, and recordings without re-encoding.
Many people have powerful enough NAS devices or home servers to also run docker. There is a Unraid Community App.
-To install make sure you have the community app plugin here. Then search for "Frigate" in the apps section within Unraid - you can see the online store here
+To install make sure you have the community app plugin here. Then search for "Frigate" in the apps section within Unraid - you can see the online store here