deploy: b93d354c60
1
064d4f6f.2024243c.js
Normal file
1
1.ae1576eb.js
Normal file
1
17896441.8d5dd138.js
Normal file
1
1c86fc29.0c5fb744.js
Normal file
2
2.0c8f52fa.js
Normal file
5
2.0c8f52fa.js.LICENSE.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
/*!
|
||||||
|
Copyright (c) 2017 Jed Watson.
|
||||||
|
Licensed under the MIT License (MIT), see
|
||||||
|
http://jedwatson.github.io/classnames
|
||||||
|
*/
|
1
24.22ef4830.js
Normal file
1
36572f8b.34c10841.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{74:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return s}));var n=r(3),a=r(7),o=(r(0),r(92)),i={id:"web",title:"Web Interface"},c={unversionedId:"usage/web",id:"usage/web",isDocsHomePage:!1,title:"Web Interface",description:"Frigate comes bundled with a simple web ui that supports the following:",source:"@site/docs/usage/web.md",slug:"/usage/web",permalink:"/usage/web",editUrl:"https://github.com/blakeblackshear/frigate/edit/master/docs/docs/usage/web.md",version:"current",sidebar:"docs",previous:{title:"Integration with Home Assistant",permalink:"/usage/home-assistant"},next:{title:"HTTP API",permalink:"/usage/api"}},u=[],l={toc:u};function s(e){var t=e.components,r=Object(a.a)(e,["components"]);return Object(o.b)("wrapper",Object(n.a)({},l,r,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Frigate comes bundled with a simple web ui that supports the following:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"Show cameras"),Object(o.b)("li",{parentName:"ul"},"Browse events"),Object(o.b)("li",{parentName:"ul"},"Mask helper")))}s.isMDXComponent=!0},92:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return m}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(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))}))}return e}function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(r),f=n,m=p["".concat(i,".").concat(f)]||p[f]||b[f]||o;return r?a.a.createElement(m,c(c({ref:t},l),{},{components:r})):a.a.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l<o;l++)i[l]=r[l];return a.a.createElement.apply(null,i)}return a.a.createElement.apply(null,r)}f.displayName="MDXCreateElement"}}]);
|
1
3b8c55ea.ebbab834.js
Normal file
1
3e34525f.182b79a7.js
Normal file
28
404.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<meta name="generator" content="Docusaurus v2.0.0-alpha.70">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Frigate Blog RSS Feed">
|
||||||
|
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Frigate Blog Atom Feed"><title data-react-helmet="true">Page Not Found | Frigate</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Frigate"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docusaurus_locale" content="en"><meta data-react-helmet="true" name="docusaurus_tag" content="default"><link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico"><link rel="stylesheet" href="/styles.3cef2c0e.css">
|
||||||
|
<link rel="preload" href="/styles.9ee538de.js" as="script">
|
||||||
|
<link rel="preload" href="/runtime~main.fe1f2385.js" as="script">
|
||||||
|
<link rel="preload" href="/main.eeed996f.js" as="script">
|
||||||
|
<link rel="preload" href="/1.ae1576eb.js" as="script">
|
||||||
|
<link rel="preload" href="/2.0c8f52fa.js" as="script">
|
||||||
|
<link rel="preload" href="/24.22ef4830.js" as="script">
|
||||||
|
<link rel="preload" href="/935f2afb.73bfd95b.js" as="script">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
|
||||||
|
<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_11B0">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/"><img src="/img/logo.svg" alt="Frigate" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/logo-dark.svg" alt="Frigate" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"><strong class="navbar__title">Frigate</strong></a><a class="navbar__item navbar__link" href="/">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2N3Q"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_3NWk">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_3NWk">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img src="/img/logo.svg" alt="Frigate" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/logo-dark.svg" alt="Frigate" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"><strong class="navbar__title">Frigate</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/">Docs</a></li><li class="menu__list-item"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><main class="container margin-vert--xl"><div class="row"><div class="col col--6 col--offset-3"><h1 class="hero__title">Page Not Found</h1><p>We could not find what you were looking for.</p><p>Please contact the owner of the site that linked you to the original URL and let them know their link is broken.</p></div></div></main></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">Community</h4><ul class="footer__items"><li class="footer__item"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li><li class="footer__item"><a href="https://github.com/blakeblackshear/frigate/discussions" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discussions</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2021 Blake Blackshear</div></div></div></footer></div>
|
||||||
|
<script src="/styles.9ee538de.js"></script>
|
||||||
|
<script src="/runtime~main.fe1f2385.js"></script>
|
||||||
|
<script src="/main.eeed996f.js"></script>
|
||||||
|
<script src="/1.ae1576eb.js"></script>
|
||||||
|
<script src="/2.0c8f52fa.js"></script>
|
||||||
|
<script src="/24.22ef4830.js"></script>
|
||||||
|
<script src="/935f2afb.73bfd95b.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
57316f1e.5720bfff.js
Normal file
1
72a19f07.727007cf.js
Normal file
1
76183543.f03f2ab0.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{135:function(e,t,r){"use strict";r.r(t),t.default=r.p+"assets/images/diagram-3101f1674015822e176773924caae31a.png"},79:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return u}));var n=r(3),o=r(7),a=(r(0),r(92)),i={id:"how-it-works",title:"How Frigate Works",sidebar_label:"How it works"},c={unversionedId:"how-it-works",id:"how-it-works",isDocsHomePage:!1,title:"How Frigate Works",description:"Frigate is designed to minimize resource and maximize performance by only looking for objects when and where it is necessary",source:"@site/docs/how-it-works.md",slug:"/how-it-works",permalink:"/how-it-works",editUrl:"https://github.com/blakeblackshear/frigate/edit/master/docs/docs/how-it-works.md",version:"current",sidebar_label:"How it works",sidebar:"docs",previous:{title:"Frigate",permalink:"/"},next:{title:"Recommended hardware",permalink:"/hardware"}},s=[],l={toc:s};function u(e){var t=e.components,i=Object(o.a)(e,["components"]);return Object(a.b)("wrapper",Object(n.a)({},l,i,{components:t,mdxType:"MDXLayout"}),Object(a.b)("p",null,"Frigate is designed to minimize resource and maximize performance by only looking for objects when and where it is necessary"),Object(a.b)("p",null,Object(a.b)("img",{alt:"Diagram",src:r(135).default})),Object(a.b)("ol",null,Object(a.b)("li",{parentName:"ol"},"Look for Motion"),Object(a.b)("li",{parentName:"ol"},"Calculate Detection Regions"),Object(a.b)("li",{parentName:"ol"},"Run Object Detection")))}u.isMDXComponent=!0},92:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return m}));var n=r(0),o=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=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))}))}return e}function s(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),u=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=u(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},b=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=u(r),b=n,m=p["".concat(i,".").concat(b)]||p[b]||f[b]||a;return r?o.a.createElement(m,c(c({ref:t},l),{},{components:r})):o.a.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=b;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l<a;l++)i[l]=r[l];return o.a.createElement.apply(null,i)}return o.a.createElement.apply(null,r)}b.displayName="MDXCreateElement"}}]);
|
1
935f2afb.73bfd95b.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{80:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"Frigate","items":[{"type":"link","label":"Features","href":"/"},{"type":"link","label":"How it works","href":"/how-it-works"},{"type":"link","label":"Recommended hardware","href":"/hardware"},{"type":"link","label":"Installation","href":"/installation"},{"type":"link","label":"Troubleshooting","href":"/troubleshooting"}]},{"collapsed":true,"type":"category","label":"Configuration","items":[{"type":"link","label":"Configuration","href":"/configuration/index"},{"type":"link","label":"Cameras","href":"/configuration/cameras"},{"type":"link","label":"Optimizing performance","href":"/configuration/optimizing"},{"type":"link","label":"Detectors","href":"/configuration/detectors"},{"type":"link","label":"Reducing false positives","href":"/configuration/false_positives"},{"type":"link","label":"Advanced","href":"/configuration/advanced"}]},{"collapsed":true,"type":"category","label":"Usage","items":[{"type":"link","label":"Home Assistant","href":"/usage/home-assistant"},{"type":"link","label":"Web Interface","href":"/usage/web"},{"type":"link","label":"HTTP API","href":"/usage/api"},{"type":"link","label":"MQTT","href":"/usage/mqtt"}]}]},"permalinkToSidebar":{"/configuration/advanced":"docs","/configuration/cameras":"docs","/configuration/detectors":"docs","/configuration/false_positives":"docs","/configuration/index":"docs","/configuration/optimizing":"docs","/hardware":"docs","/how-it-works":"docs","/":"docs","/installation":"docs","/troubleshooting":"docs","/usage/api":"docs","/usage/home-assistant":"docs","/usage/mqtt":"docs","/usage/web":"docs"}}')}}]);
|
1
9901f42d.7a555dc8.js
Normal file
1
9d9f8394.e61ac0c5.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{82:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return s}));var o=n(3),r=n(7),a=(n(0),n(92)),i={id:"troubleshooting",title:"Troubleshooting"},c={unversionedId:"troubleshooting",id:"troubleshooting",isDocsHomePage:!1,title:"Troubleshooting",description:'"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5639eeb6e140] moov atom not found"',source:"@site/docs/troubleshooting.md",slug:"/troubleshooting",permalink:"/troubleshooting",editUrl:"https://github.com/blakeblackshear/frigate/edit/master/docs/docs/troubleshooting.md",version:"current",sidebar:"docs",previous:{title:"Installation",permalink:"/installation"},next:{title:"Configuration",permalink:"/configuration/index"}},l=[{value:""mov,mp4,m4a,3gp,3g2,mj2 @ 0x5639eeb6e140 moov atom not found"",id:"movmp4m4a3gp3g2mj2--0x5639eeb6e140-moov-atom-not-found",children:[]},{value:""ffmpeg didnt return a frame. something is wrong"",id:"ffmpeg-didnt-return-a-frame-something-is-wrong",children:[]},{value:""On connect called"",id:"on-connect-called",children:[]}],u={toc:l};function s(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(a.b)("wrapper",Object(o.a)({},u,n,{components:t,mdxType:"MDXLayout"}),Object(a.b)("h2",{id:"movmp4m4a3gp3g2mj2--0x5639eeb6e140-moov-atom-not-found"},'"',"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5639eeb6e140]",' moov atom not found"'),Object(a.b)("p",null,"These messages in the logs are expected in certain situations. Frigate checks the integrity of the video cache before assembling clips. Occasionally these cached files will be invalid and cleaned up automatically."),Object(a.b)("h2",{id:"ffmpeg-didnt-return-a-frame-something-is-wrong"},'"ffmpeg didnt return a frame. something is wrong"'),Object(a.b)("p",null,"Turn on logging for the ffmpeg process by overriding the global_args and setting the log level to ",Object(a.b)("inlineCode",{parentName:"p"},"info")," (the default is ",Object(a.b)("inlineCode",{parentName:"p"},"fatal"),"). Note that all ffmpeg logs show up in the Frigate logs as ",Object(a.b)("inlineCode",{parentName:"p"},"ERROR")," level. This does not mean they are actually errors."),Object(a.b)("pre",null,Object(a.b)("code",Object(o.a)({parentName:"pre"},{className:"language-yaml"}),"ffmpeg:\n global_args: -hide_banner -loglevel info\n")),Object(a.b)("h2",{id:"on-connect-called"},'"On connect called"'),Object(a.b)("p",null,'If you see repeated "On connect called" messages in your config, check for another instance of frigate. This happens when multiple frigate containers are trying to connect to mqtt with the same client_id.'))}s.isMDXComponent=!0},92:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var o=n(0),r=n.n(o);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=r.a.createContext({}),s=function(e){var t=r.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return r.a.createElement(u.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},f=r.a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=s(n),f=o,d=p["".concat(i,".").concat(f)]||p[f]||m[f]||a;return n?r.a.createElement(d,c(c({ref:t},u),{},{components:n})):r.a.createElement(d,c({ref:t},u))}));function d(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:o,i[1]=c;for(var u=2;u<a;u++)i[u]=n[u];return r.a.createElement.apply(null,i)}return r.a.createElement.apply(null,n)}f.displayName="MDXCreateElement"}}]);
|
1
a238e6ce.46f3fb71.js
Normal file
1
a24c32bc.59804272.js
Normal file
1
a62f9e4d.62dedbaf.js
Normal file
1
ad721137.f21cc7ee.js
Normal file
BIN
assets/images/diagram-3101f1674015822e176773924caae31a.png
Normal file
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 1.1 MiB |
BIN
assets/images/media_browser-1a855eaa41d4cf33b7dbc6586cb12a6d.png
Normal file
After Width: | Height: | Size: 781 KiB |
BIN
assets/images/notification-b2414ed687bb4ab92b9dfaab95a5a33c.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
10
blog/atom.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<id>https://blakeblackshear.github.io/frigate/blog</id>
|
||||||
|
<title>Frigate Blog</title>
|
||||||
|
<updated>2015-10-25T23:29:00.000Z</updated>
|
||||||
|
<generator>https://github.com/jpmonette/feed</generator>
|
||||||
|
<link rel="alternate" href="https://blakeblackshear.github.io/frigate/blog"/>
|
||||||
|
<subtitle>Frigate Blog</subtitle>
|
||||||
|
<icon>https://blakeblackshear.github.io/frigate/img/favicon.ico</icon>
|
||||||
|
</feed>
|
11
blog/rss.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<rss version="2.0">
|
||||||
|
<channel>
|
||||||
|
<title>Frigate Blog</title>
|
||||||
|
<link>https://blakeblackshear.github.io/frigate/blog</link>
|
||||||
|
<description>Frigate Blog</description>
|
||||||
|
<lastBuildDate>Sun, 25 Oct 2015 23:29:00 GMT</lastBuildDate>
|
||||||
|
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||||
|
<generator>https://github.com/jpmonette/feed</generator>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
1
c377a04b.16e26e54.js
Normal file
1
ce3e42ad.fe8f03f7.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{88:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"Highlight",(function(){return p})),r.d(t,"default",(function(){return d}));var n=r(3),o=r(7),a=(r(0),r(92)),c={id:"mdx",title:"Powered by MDX"},i={unversionedId:"mdx",id:"mdx",isDocsHomePage:!1,title:"Powered by MDX",description:"You can write JSX and use React components within your Markdown thanks to MDX.",source:"@site/docs/mdx.md",slug:"/mdx",permalink:"/mdx",editUrl:"https://github.com/blakeblackshear/frigate/edit/master/docs/docs/mdx.md",version:"current"},u=[],p=function(e){var t=e.children,r=e.color;return Object(a.b)("span",{style:{backgroundColor:r,borderRadius:"2px",color:"#fff",padding:"0.2rem"}},t)},l={toc:u,Highlight:p};function d(e){var t=e.components,r=Object(o.a)(e,["components"]);return Object(a.b)("wrapper",Object(n.a)({},l,r,{components:t,mdxType:"MDXLayout"}),Object(a.b)("p",null,"You can write JSX and use React components within your Markdown thanks to ",Object(a.b)("a",Object(n.a)({parentName:"p"},{href:"https://mdxjs.com/"}),"MDX"),"."),Object(a.b)(p,{color:"#25c2a0",mdxType:"Highlight"},"Docusaurus green")," and ",Object(a.b)(p,{color:"#1877F2",mdxType:"Highlight"},"Facebook blue")," are my favorite colors.",Object(a.b)("p",null,"I can write ",Object(a.b)("strong",{parentName:"p"},"Markdown")," alongside my ",Object(a.b)("em",{parentName:"p"},"JSX"),"!"))}d.isMDXComponent=!0},92:function(e,t,r){"use strict";r.d(t,"a",(function(){return d})),r.d(t,"b",(function(){return b}));var n=r(0),o=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=o.a.createContext({}),l=function(e){var t=o.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=l(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},f=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),d=l(r),f=n,b=d["".concat(c,".").concat(f)]||d[f]||s[f]||a;return r?o.a.createElement(b,i(i({ref:t},p),{},{components:r})):o.a.createElement(b,i({ref:t},p))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,c=new Array(a);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var p=2;p<a;p++)c[p]=r[p];return o.a.createElement.apply(null,c)}return o.a.createElement.apply(null,r)}f.displayName="MDXCreateElement"}}]);
|
32
configuration/advanced/index.html
Normal file
44
configuration/cameras/index.html
Normal file
32
configuration/detectors/index.html
Normal file
32
configuration/false_positives/index.html
Normal file
32
configuration/index/index.html
Normal file
45
configuration/nvdec/index.html
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<meta name="generator" content="Docusaurus v2.0.0-alpha.70">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Frigate Blog RSS Feed">
|
||||||
|
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Frigate Blog Atom Feed"><title data-react-helmet="true">nVidia hardware decoder | Frigate</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docusaurus_locale" content="en"><meta data-react-helmet="true" name="docusaurus_version" content="current"><meta data-react-helmet="true" name="docusaurus_tag" content="docs-default-current"><meta data-react-helmet="true" property="og:title" content="nVidia hardware decoder | Frigate"><meta data-react-helmet="true" name="description" content="Certain nvidia cards include a hardware decoder, which can greatly improve the"><meta data-react-helmet="true" property="og:description" content="Certain nvidia cards include a hardware decoder, which can greatly improve the"><meta data-react-helmet="true" property="og:url" content="https://blakeblackshear.github.io/frigate/configuration/nvdec"><link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico"><link data-react-helmet="true" rel="canonical" href="https://blakeblackshear.github.io/frigate/configuration/nvdec"><link rel="stylesheet" href="/styles.3cef2c0e.css">
|
||||||
|
<link rel="preload" href="/styles.9ee538de.js" as="script">
|
||||||
|
<link rel="preload" href="/runtime~main.fe1f2385.js" as="script">
|
||||||
|
<link rel="preload" href="/main.eeed996f.js" as="script">
|
||||||
|
<link rel="preload" href="/1.ae1576eb.js" as="script">
|
||||||
|
<link rel="preload" href="/2.0c8f52fa.js" as="script">
|
||||||
|
<link rel="preload" href="/24.22ef4830.js" as="script">
|
||||||
|
<link rel="preload" href="/935f2afb.73bfd95b.js" as="script">
|
||||||
|
<link rel="preload" href="/17896441.8d5dd138.js" as="script">
|
||||||
|
<link rel="preload" href="/57316f1e.5720bfff.js" as="script">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
|
||||||
|
<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_11B0">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/"><img src="/img/logo.svg" alt="Frigate" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/logo-dark.svg" alt="Frigate" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"><strong class="navbar__title">Frigate</strong></a><a class="navbar__item navbar__link" href="/">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2N3Q"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_3NWk">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_3NWk">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img src="/img/logo.svg" alt="Frigate" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/logo-dark.svg" alt="Frigate" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"><strong class="navbar__title">Frigate</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/">Docs</a></li><li class="menu__list-item"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><div class="docPage_vMrn"><main class="docMainContainer_2iGs"><div class="container padding-vert--lg docItemWrapper_1bxp"><div class="row"><div class="col docItemCol_U38p"><div class="docItemContainer_a7m4"><article><header><h1 class="docTitle_Oumm">nVidia hardware decoder</h1></header><div class="markdown"><p>Certain nvidia cards include a hardware decoder, which can greatly improve the
|
||||||
|
performance of video decoding. In order to use NVDEC, a special build of
|
||||||
|
ffmpeg with NVDEC support is required. The special docker architecture 'amd64nvidia'
|
||||||
|
includes this support for amd64 platforms. An aarch64 for the Jetson, which
|
||||||
|
also includes NVDEC may be added in the future.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_prK2" id="docker-setup"></a>Docker setup<a class="hash-link" href="#docker-setup" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_prK2" id="requirements"></a>Requirements<a class="hash-link" href="#requirements" title="Direct link to heading">#</a></h3><p><a href="https://www.nvidia.com/en-us/drivers/unix/" target="_blank" rel="noopener noreferrer">nVidia closed source driver</a> required to access NVDEC.
|
||||||
|
<a href="https://github.com/NVIDIA/nvidia-docker" target="_blank" rel="noopener noreferrer">nvidia-docker</a> required to pass NVDEC to docker.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_prK2" id="setting-up-docker-compose"></a>Setting up docker-compose<a class="hash-link" href="#setting-up-docker-compose" title="Direct link to heading">#</a></h3><p>In order to pass NVDEC, the docker engine must be set to <code>nvidia</code> and the environment variables
|
||||||
|
<code>NVIDIA_VISIBLE_DEVICES=all</code> and <code>NVIDIA_DRIVER_CAPABILITIES=compute,utility,video</code> must be set.</p><p>In a docker compose file, these lines need to be set:</p><div class="mdxCodeBlock_1zKU"><div class="codeBlockContent_actS"><div tabindex="0" class="prism-code language-undefined codeBlock_tuNs thin-scrollbar"><div class="codeBlockLines_3uvA" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">services:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> frigate:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> ...</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> image: blakeblackshear/frigate:stable-amd64nvidia</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> runtime: nvidia</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> environment:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> - NVIDIA_VISIBLE_DEVICES=all</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> - NVIDIA_DRIVER_CAPABILITIES=compute,utility,video</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_2GIj">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_prK2" id="setting-up-the-configuration-file"></a>Setting up the configuration file<a class="hash-link" href="#setting-up-the-configuration-file" title="Direct link to heading">#</a></h3><p>In your frigate config.yml, you'll need to set ffmpeg to use the hardware decoder.
|
||||||
|
The decoder you choose will depend on the input video.</p><p>A list of supported codecs (you can use <code>ffmpeg -decoders | grep cuvid</code> in the container to get a list)</p><div class="mdxCodeBlock_1zKU"><div class="codeBlockContent_actS"><div tabindex="0" class="prism-code language-undefined codeBlock_tuNs thin-scrollbar"><div class="codeBlockLines_3uvA" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... h263_cuvid Nvidia CUVID H263 decoder (codec h263)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... h264_cuvid Nvidia CUVID H264 decoder (codec h264)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... hevc_cuvid Nvidia CUVID HEVC decoder (codec hevc)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... mjpeg_cuvid Nvidia CUVID MJPEG decoder (codec mjpeg)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... mpeg1_cuvid Nvidia CUVID MPEG1VIDEO decoder (codec mpeg1video)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... mpeg2_cuvid Nvidia CUVID MPEG2VIDEO decoder (codec mpeg2video)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... mpeg4_cuvid Nvidia CUVID MPEG4 decoder (codec mpeg4)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... vc1_cuvid Nvidia CUVID VC1 decoder (codec vc1)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... vp8_cuvid Nvidia CUVID VP8 decoder (codec vp8)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> V..... vp9_cuvid Nvidia CUVID VP9 decoder (codec vp9)</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_2GIj">Copy</button></div></div><p>For example, for H265 video (hevc), you'll select <code>hevc_cuvid</code>. Add
|
||||||
|
<code>-c:v hevc_covid</code> to your ffmpeg input arguments:</p><div class="mdxCodeBlock_1zKU"><div class="codeBlockContent_actS"><div tabindex="0" class="prism-code language-undefined codeBlock_tuNs thin-scrollbar"><div class="codeBlockLines_3uvA" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">ffmpeg:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> input_args:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> ...</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> - -c:v</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> - hevc_cuvid</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_2GIj">Copy</button></div></div><p>If everything is working correctly, you should see a significant improvement in performance.
|
||||||
|
Verify that hardware decoding is working by running <code>nvidia-smi</code>, which should show the ffmpeg
|
||||||
|
processes:</p><div class="mdxCodeBlock_1zKU"><div class="codeBlockContent_actS"><div tabindex="0" class="prism-code language-undefined codeBlock_tuNs thin-scrollbar"><div class="codeBlockLines_3uvA" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">+-----------------------------------------------------------------------------+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| NVIDIA-SMI 455.38 Driver Version: 455.38 CUDA Version: 11.1 |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">|-------------------------------+----------------------+----------------------+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| | | MIG M. |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">|===============================+======================+======================|</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 GeForce GTX 166... Off | 00000000:03:00.0 Off | N/A |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 38% 41C P2 36W / 125W | 2082MiB / 5942MiB | 5% Default |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| | | N/A |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">+-------------------------------+----------------------+----------------------+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
|
||||||
|
</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">+-----------------------------------------------------------------------------+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| Processes: |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| GPU GI CI PID Type Process name GPU Memory |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| ID ID Usage |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">|=============================================================================|</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 N/A N/A 12737 C ffmpeg 249MiB |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 N/A N/A 12751 C ffmpeg 249MiB |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 N/A N/A 12772 C ffmpeg 249MiB |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 N/A N/A 12775 C ffmpeg 249MiB |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 N/A N/A 12800 C ffmpeg 249MiB |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 N/A N/A 12811 C ffmpeg 417MiB |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">| 0 N/A N/A 12827 C ffmpeg 417MiB |</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">+-----------------------------------------------------------------------------+</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_2GIj">Copy</button></div></div><p>To further improve performance, you can set ffmpeg to skip frames in the output,
|
||||||
|
using the fps filter:</p><div class="mdxCodeBlock_1zKU"><div class="codeBlockContent_actS"><div tabindex="0" class="prism-code language-undefined codeBlock_tuNs thin-scrollbar"><div class="codeBlockLines_3uvA" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain"> output_args:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> - -filter:v</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> - fps=fps=5</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_2GIj">Copy</button></div></div><p>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.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/blakeblackshear/frigate/edit/master/docs/docs/configuration/nvdec.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2LL7"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></div></div><div class="margin-vert--lg"><nav class="pagination-nav" aria-label="Blog list page navigation"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></div></div></div><div class="col col--3"><div class="tableOfContents_2xL- thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#docker-setup" class="table-of-contents__link">Docker setup</a><ul><li><a href="#requirements" class="table-of-contents__link">Requirements</a></li><li><a href="#setting-up-docker-compose" class="table-of-contents__link">Setting up docker-compose</a></li><li><a href="#setting-up-the-configuration-file" class="table-of-contents__link">Setting up the configuration file</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">Community</h4><ul class="footer__items"><li class="footer__item"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li><li class="footer__item"><a href="https://github.com/blakeblackshear/frigate/discussions" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discussions</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2021 Blake Blackshear</div></div></div></footer></div>
|
||||||
|
<script src="/styles.9ee538de.js"></script>
|
||||||
|
<script src="/runtime~main.fe1f2385.js"></script>
|
||||||
|
<script src="/main.eeed996f.js"></script>
|
||||||
|
<script src="/1.ae1576eb.js"></script>
|
||||||
|
<script src="/2.0c8f52fa.js"></script>
|
||||||
|
<script src="/24.22ef4830.js"></script>
|
||||||
|
<script src="/935f2afb.73bfd95b.js"></script>
|
||||||
|
<script src="/17896441.8d5dd138.js"></script>
|
||||||
|
<script src="/57316f1e.5720bfff.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
35
configuration/optimizing/index.html
Normal file
1
f6d78023.cce5bb65.js
Normal file
32
hardware/index.html
Normal file
32
how-it-works/index.html
Normal file
BIN
img/diagram.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
img/example-mask-poly.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
img/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
img/frigate.png
Normal file
After Width: | Height: | Size: 12 KiB |
3
img/logo-dark.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M130 446.5C131.6 459.3 145 468 137 470C129 472 94 406.5 86 378.5C78 350.5 73.5 319 75.4999 301C77.4999 283 181 255 181 247.5C181 240 147.5 247 146 241C144.5 235 171.3 238.6 178.5 229C189.75 214 204 216.5 213 208.5C222 200.5 233 170 235 157C237 144 215 129 209 119C203 109 222 102 268 83C314 64 460 22 462 27C464 32 414 53 379 66C344 79 287 104 287 111C287 118 290 123.5 288 139.5C286 155.5 285.76 162.971 282 173.5C279.5 180.5 277 197 282 212C286 224 299 233 305 235C310 235.333 323.8 235.8 339 235C358 234 385 236 385 241C385 246 344 243 344 250C344 257 386 249 385 256C384 263 350 260 332 260C317.6 260 296.333 259.333 287 256L285 263C281.667 263 274.7 265 267.5 265C258.5 265 258 268 241.5 268C225 268 230 267 215 266C200 265 144 308 134 322C124 336 130 370 130 385.5C130 399.428 128 430.5 130 446.5Z" fill="white"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 936 B |
3
img/logo.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M130 446.5C131.6 459.3 145 468 137 470C129 472 94 406.5 86 378.5C78 350.5 73.5 319 75.5 301C77.4999 283 181 255 181 247.5C181 240 147.5 247 146 241C144.5 235 171.3 238.6 178.5 229C189.75 214 204 216.5 213 208.5C222 200.5 233 170 235 157C237 144 215 129 209 119C203 109 222 102 268 83C314 64 460 22 462 27C464 32 414 53 379 66C344 79 287 104 287 111C287 118 290 123.5 288 139.5C286 155.5 285.76 162.971 282 173.5C279.5 180.5 277 197 282 212C286 224 299 233 305 235C310 235.333 323.8 235.8 339 235C358 234 385 236 385 241C385 246 344 243 344 250C344 257 386 249 385 256C384 263 350 260 332 260C317.6 260 296.333 259.333 287 256L285 263C281.667 263 274.7 265 267.5 265C258.5 265 258 268 241.5 268C225 268 230 267 215 266C200 265 144 308 134 322C124 336 130 370 130 385.5C130 399.428 128 430.5 130 446.5Z" fill="black"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 933 B |
BIN
img/media_browser.png
Normal file
After Width: | Height: | Size: 781 KiB |
BIN
img/notification.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
32
index.html
Normal file
38
installation/index.html
Normal file
2
main.eeed996f.js
Normal file
44
main.eeed996f.js.LICENSE.txt
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
object-assign
|
||||||
|
(c) Sindre Sorhus
|
||||||
|
@license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
||||||
|
* @license MIT */
|
||||||
|
|
||||||
|
/** @license React v0.19.1
|
||||||
|
* scheduler.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v16.13.1
|
||||||
|
* react-is.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v16.14.0
|
||||||
|
* react-dom.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v16.14.0
|
||||||
|
* react.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
32
mdx/index.html
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<meta name="generator" content="Docusaurus v2.0.0-alpha.70">
|
||||||
|
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Frigate Blog RSS Feed">
|
||||||
|
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Frigate Blog Atom Feed"><title data-react-helmet="true">Powered by MDX | Frigate</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docusaurus_locale" content="en"><meta data-react-helmet="true" name="docusaurus_version" content="current"><meta data-react-helmet="true" name="docusaurus_tag" content="docs-default-current"><meta data-react-helmet="true" property="og:title" content="Powered by MDX | Frigate"><meta data-react-helmet="true" name="description" content="You can write JSX and use React components within your Markdown thanks to MDX."><meta data-react-helmet="true" property="og:description" content="You can write JSX and use React components within your Markdown thanks to MDX."><meta data-react-helmet="true" property="og:url" content="https://blakeblackshear.github.io/frigate/mdx"><link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico"><link data-react-helmet="true" rel="canonical" href="https://blakeblackshear.github.io/frigate/mdx"><link rel="stylesheet" href="/styles.3cef2c0e.css">
|
||||||
|
<link rel="preload" href="/styles.9ee538de.js" as="script">
|
||||||
|
<link rel="preload" href="/runtime~main.fe1f2385.js" as="script">
|
||||||
|
<link rel="preload" href="/main.eeed996f.js" as="script">
|
||||||
|
<link rel="preload" href="/1.ae1576eb.js" as="script">
|
||||||
|
<link rel="preload" href="/2.0c8f52fa.js" as="script">
|
||||||
|
<link rel="preload" href="/24.22ef4830.js" as="script">
|
||||||
|
<link rel="preload" href="/935f2afb.73bfd95b.js" as="script">
|
||||||
|
<link rel="preload" href="/17896441.8d5dd138.js" as="script">
|
||||||
|
<link rel="preload" href="/ce3e42ad.fe8f03f7.js" as="script">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
|
||||||
|
<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_11B0">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/"><img src="/img/logo.svg" alt="Frigate" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/logo-dark.svg" alt="Frigate" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"><strong class="navbar__title">Frigate</strong></a><a class="navbar__item navbar__link" href="/">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2N3Q"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_3NWk">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_3NWk">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img src="/img/logo.svg" alt="Frigate" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/logo-dark.svg" alt="Frigate" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"><strong class="navbar__title">Frigate</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/">Docs</a></li><li class="menu__list-item"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><div class="docPage_vMrn"><main class="docMainContainer_2iGs"><div class="container padding-vert--lg docItemWrapper_1bxp"><div class="row"><div class="col docItemCol_U38p"><div class="docItemContainer_a7m4"><article><header><h1 class="docTitle_Oumm">Powered by MDX</h1></header><div class="markdown"><p>You can write JSX and use React components within your Markdown thanks to <a href="https://mdxjs.com/" target="_blank" rel="noopener noreferrer">MDX</a>.</p><span style="background-color:#25c2a0;border-radius:2px;color:#fff;padding:0.2rem">Docusaurus green</span> and <span style="background-color:#1877F2;border-radius:2px;color:#fff;padding:0.2rem">Facebook blue</span> are my favorite colors.<p>I can write <strong>Markdown</strong> alongside my <em>JSX</em>!</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/blakeblackshear/frigate/edit/master/docs/docs/mdx.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2LL7"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></div></div><div class="margin-vert--lg"><nav class="pagination-nav" aria-label="Blog list page navigation"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></div></div></div><div class="col col--3"><div class="tableOfContents_2xL- thin-scrollbar"></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">Community</h4><ul class="footer__items"><li class="footer__item"><a href="https://github.com/blakeblackshear/frigate" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li><li class="footer__item"><a href="https://github.com/blakeblackshear/frigate/discussions" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discussions</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2021 Blake Blackshear</div></div></div></footer></div>
|
||||||
|
<script src="/styles.9ee538de.js"></script>
|
||||||
|
<script src="/runtime~main.fe1f2385.js"></script>
|
||||||
|
<script src="/main.eeed996f.js"></script>
|
||||||
|
<script src="/1.ae1576eb.js"></script>
|
||||||
|
<script src="/2.0c8f52fa.js"></script>
|
||||||
|
<script src="/24.22ef4830.js"></script>
|
||||||
|
<script src="/935f2afb.73bfd95b.js"></script>
|
||||||
|
<script src="/17896441.8d5dd138.js"></script>
|
||||||
|
<script src="/ce3e42ad.fe8f03f7.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
runtime~main.fe1f2385.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
!function(e){function r(r){for(var n,a,c=r[0],u=r[1],i=r[2],d=0,b=[];d<c.length;d++)a=c[d],Object.prototype.hasOwnProperty.call(f,a)&&f[a]&&b.push(f[a][0]),f[a]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(l&&l(r);b.length;)b.shift()();return o.push.apply(o,i||[]),t()}function t(){for(var e,r=0;r<o.length;r++){for(var t=o[r],n=!0,a=1;a<t.length;a++){var u=t[a];0!==f[u]&&(n=!1)}n&&(o.splice(r--,1),e=c(c.s=t[0]))}return e}var n={},f={23:0},o=[];function a(e){return c.p+""+({3:"064d4f6f",4:"17896441",5:"1c86fc29",6:"36572f8b",7:"3b8c55ea",8:"3e34525f",9:"57316f1e",10:"72a19f07",11:"76183543",12:"935f2afb",13:"9901f42d",14:"9d9f8394",15:"a238e6ce",16:"a24c32bc",17:"a62f9e4d",18:"ad721137",19:"c377a04b",20:"ce3e42ad",21:"f6d78023"}[e]||e)+"."+{1:"ae1576eb",2:"0c8f52fa",3:"2024243c",4:"8d5dd138",5:"0c5fb744",6:"34c10841",7:"ebbab834",8:"182b79a7",9:"5720bfff",10:"727007cf",11:"f03f2ab0",12:"73bfd95b",13:"7a555dc8",14:"e61ac0c5",15:"46f3fb71",16:"59804272",17:"62dedbaf",18:"f21cc7ee",19:"16e26e54",20:"fe8f03f7",21:"cce5bb65",24:"22ef4830"}[e]+".js"}function c(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,c),t.l=!0,t.exports}c.e=function(e){var r=[],t=f[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=f[e]=[r,n]}));r.push(t[2]=n);var o,u=document.createElement("script");u.charset="utf-8",u.timeout=120,c.nc&&u.setAttribute("nonce",c.nc),u.src=a(e);var i=new Error;o=function(r){u.onerror=u.onload=null,clearTimeout(d);var t=f[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",i.name="ChunkLoadError",i.type=n,i.request=o,t[1](i)}f[e]=void 0}};var d=setTimeout((function(){o({type:"timeout",target:u})}),12e4);u.onerror=u.onload=o,document.head.appendChild(u)}return Promise.all(r)},c.m=e,c.c=n,c.d=function(e,r,t){c.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,r){if(1&r&&(e=c(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(c.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)c.d(t,n,function(r){return e[r]}.bind(null,n));return t},c.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(r,"a",r),r},c.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},c.p="/",c.gca=function(e){return a(e={17896441:"4",76183543:"11","064d4f6f":"3","1c86fc29":"5","36572f8b":"6","3b8c55ea":"7","3e34525f":"8","57316f1e":"9","72a19f07":"10","935f2afb":"12","9901f42d":"13","9d9f8394":"14",a238e6ce:"15",a24c32bc:"16",a62f9e4d:"17",ad721137:"18",c377a04b:"19",ce3e42ad:"20",f6d78023:"21"}[e]||e)},c.oe=function(e){throw console.error(e),e};var u=window.webpackJsonp=window.webpackJsonp||[],i=u.push.bind(u);u.push=r,u=u.slice();for(var d=0;d<u.length;d++)r(u[d]);var l=i;t()}([]);
|
1
sitemap.xml
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://blakeblackshear.github.io/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/configuration/advanced</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/configuration/cameras</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/configuration/detectors</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/configuration/false_positives</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/configuration/index</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/configuration/nvdec</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/configuration/optimizing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/hardware</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/how-it-works</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/installation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/mdx</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/troubleshooting</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/usage/api</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/usage/home-assistant</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/usage/mqtt</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://blakeblackshear.github.io/usage/web</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>
|
1
styles.3cef2c0e.css
Normal file
1
styles.9ee538de.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[,,,,,,,,,,,,,,,,,function(e,n,o){},,,,,,,,,,,,,,,,,,,,function(e,n,o){e.exports={baseUrlIssueBanner:"baseUrlIssueBanner_1-cE"}},,,,,,,,,,function(e,n,o){},,,,function(e,n,o){},function(e,n,o){},,,function(e,n,o){e.exports={skipToContent:"skipToContent_11B0"}},function(e,n,o){e.exports={announcementBar:"announcementBar_1JSk",announcementBarClose:"announcementBarClose_1-Um",announcementBarContent:"announcementBarContent_2EqR",announcementBarCloseable:"announcementBarCloseable_3bpQ"}},function(e,n,o){e.exports={toggle:"toggle_3NWk"}},function(e,n,o){e.exports={themedImage:"themedImage_YANc","themedImage--light":"themedImage--light_3CMI","themedImage--dark":"themedImage--dark_3ARp"}},function(e,n,o){e.exports={displayOnlyInLargeViewport:"displayOnlyInLargeViewport_2N3Q",hideLogoText:"hideLogoText_2jLQ",navbarHideable:"navbarHideable_17Wu",navbarHidden:"navbarHidden_19ww"}},function(e,n,o){e.exports={footerLogoLink:"footerLogoLink_31Aa"}},function(e,n,o){},function(e,n,o){},,function(e,n,o){e.exports={tableOfContents:"tableOfContents_2xL-",docItemContainer:"docItemContainer_1Kik"}},function(e,n,o){e.exports={iconEdit:"iconEdit_2LL7"}},function(e,n,o){e.exports={docTitle:"docTitle_Oumm",docItemContainer:"docItemContainer_a7m4",docItemCol:"docItemCol_U38p",docLastUpdatedAt:"docLastUpdatedAt_1Qna"}},function(e,n,o){e.exports={sidebar:"sidebar_3gvy",sidebarWithHideableNavbar:"sidebarWithHideableNavbar_CROi",sidebarHidden:"sidebarHidden_3AzR",sidebarLogo:"sidebarLogo_xFc8",menu:"menu_1yIk",menuLinkText:"menuLinkText_yu3-",menuWithAnnouncementBar:"menuWithAnnouncementBar_3qTP",collapseSidebarButton:"collapseSidebarButton_2WRA",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_CoMu",sidebarMenuIcon:"sidebarMenuIcon_1CUI",sidebarMenuCloseIcon:"sidebarMenuCloseIcon_ZwX-"}},function(e,n,o){e.exports={codeBlockContent:"codeBlockContent_actS",codeBlockTitle:"codeBlockTitle_2eSY",codeBlock:"codeBlock_tuNs",codeBlockWithTitle:"codeBlockWithTitle_1UkA",copyButton:"copyButton_2GIj",codeBlockLines:"codeBlockLines_3uvA"}},function(e,n,o){},function(e,n,o){e.exports={enhancedAnchor:"enhancedAnchor_prK2"}},function(e,n,o){e.exports={mdxCodeBlock:"mdxCodeBlock_1zKU"}},function(e,n,o){e.exports={docPage:"docPage_vMrn",docSidebarContainer:"docSidebarContainer_3Ak5",docSidebarContainerHidden:"docSidebarContainerHidden_27Ua",collapsedDocSidebar:"collapsedDocSidebar_2fQg",docMainContainer:"docMainContainer_2iGs",docItemWrapperEnhanced:"docItemWrapperEnhanced_1x_V",docItemWrapper:"docItemWrapper_1bxp"}}]]);
|