{"id":480,"date":"2026-09-19T09:45:00","date_gmt":"2026-09-19T07:45:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/?p=480"},"modified":"2026-09-10T10:52:15","modified_gmt":"2026-09-10T08:52:15","slug":"ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/","title":{"rendered":"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Traditional motion detection in CCTV surveillance systems relies on pixel contrast variations across video frames. This basic approach generates constant false alarms caused by rain, falling leaves, swaying trees, or shifting shadows. Sending high-resolution video streams to cloud-based computer vision APIs introduces significant latency, privacy vulnerabilities, and high bandwidth costs. Implementing Frigate NVR locally with a Google Coral Edge TPU enables real-time object detection at over 100 frames per second with sub-10-millisecond inference times, completely eliminating weather-induced false alerts while keeping all video footage strictly on-premise.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">1. Hardware Architecture &amp; Coral TPU Acceleration<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Frigate NVR decouples video decoding from AI inference. Utilizing an Application-Specific Integrated Circuit (ASIC) like the Google Coral Edge TPU offloads heavy neural network processing from the host server&#8217;s CPU:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Interface Selection:<\/strong> M.2 and PCIe Google Coral accelerators offer maximum throughput via direct bus access. USB 3.0 Coral accelerators require dedicated USB 3.0 controller ports; connecting to USB 2.0 hubs creates severe bandwidth bottlenecks.<\/li>\r\n<li><strong>Container Pass-Through:<\/strong> When running inside Docker or Proxmox, the USB device (<code>\/dev\/bus\/usb<\/code>) or PCIe device node (<code>\/dev\/apex_0<\/code>) must be passed through directly to the Frigate container without virtualization abstraction layers.<\/li>\r\n<li><strong>Hardware Decoding Acceleration:<\/strong> Video decoding should be assigned to integrated GPU encoders (Intel QuickSync via <code>VAAPI<\/code> or NVIDIA NVDEC) so that host CPU utilization remains below 15% even with multiple simultaneous streams.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/hand-frigate-en.png\" width=\"1120\" height=\"640\" alt=\"Dual-stream setup of Frigate NVR: small detect stream to the Coral TPU, 4K record stream to storage, with zone filtering\">\n<figcaption>The split is what makes detection on modest local hardware possible at all: inference runs on a tiny sub-stream while the 4K main stream is only written to disk, and zones keep the pavement out of the alerts.<\/figcaption>\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">2. Dual-Stream Strategy for Optimal Performance<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Feeding 4K video feeds directly into an object detector wastes compute resources because standard AI models operate on smaller bounding matrices. A robust CCTV architecture mandates a dual-stream configuration per camera:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Detect Stream (Sub-Stream):<\/strong> Configure an IP camera sub-stream at a lower resolution (e.g., <code>640x360<\/code> or <code>1280x720<\/code>) at <strong>5 frames per second (FPS)<\/strong>. This stream is processed exclusively by the Coral TPU for bounding-box recognition.<\/li>\r\n<li><strong>Record Stream (Main Stream):<\/strong> Configure the main RTSP stream at maximum resolution (e.g., <code>3840x2160<\/code> 4K) at <strong>15\u201320 FPS<\/strong>. This stream is written directly to disk without re-encoding when an object is verified.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">3. Step-by-Step Frigate NVR YAML Configuration<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The following production-ready configuration file defines the Edge TPU detector, enables QuickSync hardware decoding, and assigns the dual-stream topology for precision filtering of people, vehicles, and animals:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code class=\"language-yaml\">mqtt:\n  host: 192.168.10.10\n  topic_prefix: frigate\n\ndetectors:\n  coral_tpu:\n    type: edgetpu\n    device: usb\n\nffmpeg:\n  # Using Intel QuickSync hardware acceleration for video decoding\n  hwaccel_args: preset-vaapi\n\nobjects:\n  track:\n    - person\n    - car\n    - dog\n    - cat\n  filters:\n    person:\n      min_score: 0.75\n      threshold: 0.80\n\ncameras:\n  driveway_camera:\n    ffmpeg:\n      inputs:\n        - path: rtsp:\/\/viewer:SecretPassword@192.168.10.101:554\/stream2\n          roles:\n            - detect\n        - path: rtsp:\/\/viewer:SecretPassword@192.168.10.101:554\/stream1\n          roles:\n            - record\n    detect:\n      width: 1280\n      height: 720\n      fps: 5\n    record:\n      enabled: true\n      retain:\n        days: 7\n        mode: motion\n      events:\n        retain:\n          default: 30\n          mode: active_objects<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">4. Step-by-Step False Alarm Suppression &amp; Zone Filtering<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To eliminate alerts caused by stationary parked cars or neighboring properties, spatial filtering rules must be implemented inside the Frigate Web UI:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Privacy Masking:<\/strong> Define polygon motion masks over camera timestamps, overlay text, and swaying vegetation to prevent unnecessary AI inference cycles.<\/li>\r\n<li><strong>Zone Demarcation:<\/strong> Create explicit bounding zones (e.g., <code>driveway_entrance<\/code> vs. <code>public_street<\/code>). Configure notification automations so alerts trigger only when an object&#8217;s bottom-center bounding box enters the private property polygon.<\/li>\r\n<li><strong>Stationary Object Filter:<\/strong> Enable stationary object tracking to ensure vehicles parked permanently on the driveway do not generate repeated motion notifications after initial classification.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">5. Summary &amp; Architectural Value<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>What this tutorial achieves:<\/strong> The successful deployment of an edge-processed, AI-powered CCTV surveillance system using Frigate NVR, Google Coral Edge TPU acceleration, and a dual-stream decoding architecture.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Resulting value:<\/strong> False alarms triggered by rainfall, shadows, and vegetation are permanently eliminated through neural network object verification. Local Edge TPU inference guarantees sub-10-millisecond response times without cloud server reliance, zero ongoing subscription fees, and 100% data privacy. Furthermore, separating detection and high-resolution recording streams ensures maximum 4K evidence retention while keeping CPU load minimal.<\/p>\r\n\n\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.frigate.video\/\" target=\"_blank\" rel=\"noopener noreferrer\">Frigate NVR documentation<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A technical step-by-step tutorial on building a local, zero-false-alarm CCTV surveillance system using Frigate NVR and Google Coral TPU hardware acceleration.<\/p>\n","protected":false},"author":1,"featured_media":14040,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[92648],"tags":[91380,91398,91395,91237,91626,91219],"class_list":["post-480","post","type-post","status-publish","format-standard","hentry","category-tutorials-en-cctv","tag-artificial-intelligence","tag-monitoring-cctv-pl","tag-frigate-nvr","tag-self-hosting","tag-smart-home-de","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"A technical step-by-step tutorial on building a local, zero-false-alarm CCTV surveillance system using Frigate NVR and Google Coral TPU hardware acceleration.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-19T07:45:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-480-ai-powered-edge-video-surveillance-f-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU\",\"datePublished\":\"2026-09-19T07:45:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/\"},\"wordCount\":582,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-480-ai-powered-edge-video-surveillance-f-g.png\",\"keywords\":[\"Artificial Intelligence\",\"CCTV\",\"Frigate NVR\",\"Self-Hosting\",\"Smart Home\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/\",\"name\":\"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-480-ai-powered-edge-video-surveillance-f-g.png\",\"datePublished\":\"2026-09-19T07:45:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-480-ai-powered-edge-video-surveillance-f-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-480-ai-powered-edge-video-surveillance-f-g.png\",\"width\":1200,\"height\":630,\"caption\":\"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cctv\\\/tutorials-en-cctv\\\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/","og_locale":"en_US","og_type":"article","og_title":"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU - Lukas Wojcik - Blog","og_description":"A technical step-by-step tutorial on building a local, zero-false-alarm CCTV surveillance system using Frigate NVR and Google Coral TPU hardware acceleration.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-19T07:45:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-480-ai-powered-edge-video-surveillance-f-g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU","datePublished":"2026-09-19T07:45:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/"},"wordCount":582,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-480-ai-powered-edge-video-surveillance-f-g.png","keywords":["Artificial Intelligence","CCTV","Frigate NVR","Self-Hosting","Smart Home","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/","name":"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-480-ai-powered-edge-video-surveillance-f-g.png","datePublished":"2026-09-19T07:45:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-480-ai-powered-edge-video-surveillance-f-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-480-ai-powered-edge-video-surveillance-f-g.png","width":1200,"height":630,"caption":"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cctv\/tutorials-en-cctv\/ai-powered-edge-video-surveillance-frigate-nvr-with-google-coral-tpu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AI-Powered Edge Video Surveillance: Frigate NVR with Google Coral TPU"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=480"}],"version-history":[{"count":6,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/480\/revisions"}],"predecessor-version":[{"id":17946,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/480\/revisions\/17946"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14040"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}