(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{172:function(e,t,r){"use strict";r.r(t),t.default=r.p+"assets/images/media_browser-1a855eaa41d4cf33b7dbc6586cb12a6d.png"},173:function(e,t,r){"use strict";r.r(t),t.default=r.p+"assets/images/notification-b2414ed687bb4ab92b9dfaab95a5a33c.png"},91:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){returni})),r.d(t,"metadata",(function(){returnc})),r.d(t,"toc",(function(){returns})),r.d(t,"default",(function(){returnu}));varn=r(3),o=r(7),a=(r(0),r(98)),i={id:"index",title:"Frigate",sidebar_label:"Features",slug:"/"},c={unversionedId:"index",id:"index",isDocsHomePage:!1,title:"Frigate",description:"A complete and local NVR designed for HomeAssistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.",source:"@site/docs/index.md",slug:"/",permalink:"/frigate/",editUrl:"https://github.com/blakeblackshear/frigate/edit/master/docs/docs/index.md",version:"current",sidebar_label:"Features",sidebar:"docs",next:{title:"How Frigate Works",permalink:"/frigate/how-it-works"}},s=[{value:"Screenshots",id:"screenshots",children:[]}],l={toc:s};functionu(e){vart=e.components,i=Object(o.a)(e,["components"]);returnObject(a.b)("wrapper",Object(n.a)({},l,i,{components:t,mdxType:"MDXLayout"}),Object(a.b)("p",null,"A complete and local NVR designed for HomeAssistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras."),Object(a.b)("p",null,"Use of a ",Object(a.b)("a",Object(n.a)({parentName:"p"},{href:"https://coral.ai/products/"}),"Google Coral Accelerator")," is optional, but highly recommended. The Coral will outperform even the best CPUs and can process 100+ FPS with very little overhead."),Object(a.b)("ul",null,Object(a.b)("li",{parentName:"ul"},"Tight integration with HomeAssistant via a ",Object(a.b)("a",Object(n.a)({parentName:"li"},{href:"https://github.com/blakeblackshear/frigate-hass-integration"}),"custom component")),Object(a.b)("li",{parentName:"ul"},"Designed to minimize resource use and maximize performance by only looking for objects when and where it is necessary"),Object(a.b)("li",{parentName:"ul"},"Leverages multiprocessing heavily with an emphasis on realtime over processing every frame"),Object(a.b)("li",{parentName:"ul"},"Uses a very low overhead motion detection to determine where to run object detection"),Object(a.b)("li",{parentName:"ul"},"Object detection with TensorFlow runs in separate processes for maximum FPS"),Object(a.b)("li",{parentName:"ul"},"Communicates over MQTT for easy integration into other systems"),Object(a.b)("li",{parentName:"ul"},"24/7 recording"),Object(a.b)("li",{parentName:"ul"},"Re-streaming via RTMP to reduce the number of connections to your camera")),Object(a.b)("h2",{id:"screenshots"},"Screenshots"),Object(a.b)("p",null,Object(a.b)("img",{alt:"Media Browser",src:r(172).default})),Object(a.b)("p",null,Object(a.b)("img",{alt:"Notification",src:r(173).default})))}u.isMDXComponent=!0},98:function(e,t,r){"use strict";r.d(t,"a",(function(){returnb})),r.d(t,"b",(function(){returnd}));varn=r(0),o=r.n(n);functiona(e,t,r){returntine?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}functioni(e,t){varr=Object.keys(e);if(Object.getOwnPropertySymbols){varn=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){returnObject.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}returnr}functionc(e){for(vart=1;t<arguments.length;t++){varr=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}returne}functions(e,t){if(null==e)return{};varr,n,o=function(e,t){if(null==e)return{};varr,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);returno}(e,t);if(Object.getOwnPropertySymb