mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-26 19:06:11 +01:00
1 line
6.3 KiB
JavaScript
1 line
6.3 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{84:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return o})),a.d(t,"toc",(function(){return i})),a.d(t,"default",(function(){return m}));var r=a(3),n=a(7),l=(a(0),a(92)),c={id:"hardware",title:"Recommended hardware"},o={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"}},i=[{value:"Cameras",id:"cameras",children:[]},{value:"Computer",id:"computer",children:[]}],b={toc:i};function m(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.")))))}m.isMDXComponent=!0},92:function(e,t,a){"use strict";a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return d}));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 o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?c(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):c(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var b=n.a.createContext({}),m=function(e){var t=n.a.useContext(b),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},u=function(e){var t=m(e.components);return n.a.createElement(b.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},s=n.a.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),u=m(a),s=r,d=u["".concat(c,".").concat(s)]||u[s]||p[s]||l;return a?n.a.createElement(d,o(o({ref:t},b),{},{components:a})):n.a.createElement(d,o({ref:t},b))}));function d(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,c=new Array(l);c[0]=s;var o={};for(var i in t)hasOwnProperty.call(t,i)&&(o[i]=t[i]);o.originalType=e,o.mdxType="string"==typeof e?e:r,c[1]=o;for(var b=2;b<l;b++)c[b]=a[b];return n.a.createElement.apply(null,c)}return n.a.createElement.apply(null,a)}s.displayName="MDXCreateElement"}}]); |