Repository Analysis

blakeblackshear/frigate

NVR with realtime local object detection for IP cameras

4.1 Likely human-written View on GitHub
4.1
Adjusted Score
4.1
Raw Score
100%
Time Factor
2026-05-29
Last Push
33,380
Stars
TypeScript
Language
479,381
Lines of Code
2494
Files
1658
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 10HIGH 17MEDIUM 68LOW 1563

Pattern Findings

1658 matches across 20 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers807 hits · 815 pts
SeverityFileLineSnippet
LOWAGENTS.md204 def test_detects_motion_above_threshold(self):
LOWgenerate_config_translations.py35def extract_translations_from_schema(
LOWgenerate_config_translations.py205def generate_section_translation(config_class: type) -> Dict[str, Any]:
LOWgenerate_config_translations.py213def get_detector_translations(
LOWgenerate_config_translations.py615 def sanitize_camera_descriptions(obj):
LOWCLAUDE.md204 def test_detects_motion_above_threshold(self):
LOWtesting-scripts/face_dataset.py504def degenerate_embedding_test(
LOWtesting-scripts/analyze_recording_keyframes.py80def find_segments_near_timestamp(
LOWweb/i18next.config.ts8function ignoreDynamicNamespaceKeys(): Plugin {
LOWweb/e2e/specs/chat.spec.ts20async function installChatStreamOverride(
LOWweb/e2e/helpers/clipboard.ts16export async function grantClipboardPermissions(
LOWweb/src/context/statusbar-provider.tsx40export function StatusBarMessagesProvider({
LOWweb/src/context/streaming-settings-provider.tsx20export function StreamingSettingsProvider({
LOWweb/src/utils/cameraUtil.ts132export function calculateDetectDimensions(
LOWweb/src/utils/cameraUtil.ts163export function detectCameraAudioFeatures(
LOWweb/src/utils/lifecycleUtil.ts6export function getLifecycleItemDescription(
LOWweb/src/utils/chatUtil.ts231export function getEventIdsFromSearchObjectsToolCalls(
LOWweb/src/utils/chatUtil.ts285export function getFindSimilarObjectsFromToolCalls(
LOWweb/src/utils/dateUtil.ts371export function getBeginningOfDayTimestamp(date: Date) {
LOWweb/src/utils/configUtil.ts112export function getBaseCameraSectionValue(
LOWweb/src/utils/configUtil.ts172export function parseProfileFromSectionPath(sectionPath: string): {
LOWweb/src/utils/configUtil.ts419export function requiresRestartForOverrides(
LOWweb/src/utils/configUtil.ts446export function requiresRestartForFieldPath(
LOWweb/src/utils/configUtil.ts566export function prepareSectionSavePayload(opts: {
LOWweb/src/utils/configUtil.ts794export function getEffectiveAttributeLabels(
LOWweb/src/utils/configUtil.ts848export function resolveHiddenFieldEntries(
LOWweb/src/utils/videoUtil.ts87export function playWithTemporaryMuteFallback(video: HTMLVideoElement) {
LOWweb/src/utils/cameraClone.ts302function applyDetectComputedDefaults(
LOWweb/src/utils/cameraClone.ts472export function buildClonedCameraPayloads({
LOW…nents/classification/ClassificationModelEditDialog.tsx61export default function ClassificationModelEditDialog({
LOW…nts/classification/ClassificationModelWizardDialog.tsx93export default function ClassificationModelWizardDialog({
LOWweb/src/components/ui/circular-progress-bar.tsx12export default function AnimatedCircularProgressBar({
LOWweb/src/components/card/ClassificationCard.tsx205export function GroupedClassificationCard({
LOW…b/src/components/camera/ConnectionQualityIndicator.tsx16export function ConnectionQualityIndicator({
LOWweb/src/components/graph/LineGraph.tsx191export function EventsPerSecondsLineGraph({
LOWweb/src/components/filter/CalendarFilterButton.tsx101export function CalendarRangeFilterButton({
LOW…mponents/config-form/sections/section-special-cases.ts112function buildAttributeFilterSchema(
LOW…mponents/config-form/sections/section-special-cases.ts276export function getEffectiveDefaultsForSection(
LOW…mponents/config-form/sections/section-special-cases.ts373export function sanitizeOverridesForSection(
LOW…nfig-form/sectionExtras/CameraReviewClassification.tsx32export default function CameraReviewClassification({
LOW…onfig-form/sectionExtras/CameraReviewStatusToggles.tsx18export default function CameraReviewStatusToggles({
LOW…fig-form/sectionExtras/NotificationsSettingsExtras.tsx69export default function NotificationsSettingsExtras({
LOW…omponents/config-form/theme/fields/LayoutGridField.tsx132function GridLayoutObjectFieldTemplate(
LOW…onfig-form/theme/widgets/ObjectLabelSwitchesWidget.tsx87function getObjectLabelDisplayName(label: string): string {
LOW…onfig-form/theme/widgets/ObjectLabelSwitchesWidget.tsx91export function ObjectLabelSwitchesWidget(props: WidgetProps) {
LOW…onfig-form/theme/widgets/ReviewLabelSwitchesWidget.tsx57function getReviewLabelDisplayName(
LOW…onfig-form/theme/widgets/ReviewLabelSwitchesWidget.tsx69export function ReviewLabelSwitchesWidget(props: WidgetProps) {
LOW…g-form/theme/widgets/SemanticSearchModelSizeWidget.tsx17export function SemanticSearchModelSizeWidget(props: WidgetProps) {
LOW…onfig-form/theme/widgets/SemanticSearchModelWidget.tsx28export function SemanticSearchModelWidget(props: WidgetProps) {
LOW…/src/components/overlay/MobileReviewSettingsDrawer.tsx83export default function MobileReviewSettingsDrawer({
LOW…c/components/overlay/ClassificationSelectionDialog.tsx44export default function ClassificationSelectionDialog({
LOW…b/src/components/overlay/dialog/SearchFilterDialog.tsx675export function SnapshotClipFilterContent({
LOW…b/src/components/overlay/dialog/SearchFilterDialog.tsx911export function RecognizedLicensePlatesFilterContent({
LOWweb/src/components/ws/WsMessageRow.tsx44function getTrackedObjectTypeColor(objectType: string): string {
LOWweb/src/components/ws/WsMessageRow.tsx156function getTrackedObjectUpdateSummary(data: unknown): string {
LOWweb/src/hooks/use-deferred-stream-metadata.ts19export default function useDeferredStreamMetadata(streamNames: string[]) {
LOWweb/src/hooks/use-config-override.ts89function stripAutoDerivedMissingFromGlobal(
LOWweb/src/hooks/use-config-override.ts110function isAutoDerivedMissingFromGlobal(
LOWweb/src/hooks/use-config-override.ts589function getEffectiveGlobalBaseline(
LOWweb/src/hooks/use-config-override.ts616function deriveSyntheticGlobalValue(
747 more matches not shown…
Excessive Try-Catch Wrapping325 hits · 335 pts
SeverityFileLineSnippet
LOWAGENTS.md359except Exception: # ❌ Too broad
LOWgenerate_config_translations.py518 except Exception as e:
LOWgenerate_config_translations.py578 except Exception as e:
LOWgenerate_config_translations.py644 except Exception as e:
LOWCLAUDE.md359except Exception: # ❌ Too broad
LOWfrigate/watchdog.py111 except Exception:
LOWfrigate/debug_replay.py143 except Exception as e:
LOWfrigate/debug_replay.py318 except Exception as e:
LOWfrigate/debug_replay.py359 except Exception as e:
LOWfrigate/debug_replay.py397 except Exception:
LOWfrigate/app.py213 except Exception:
LOWfrigate/__main__.py90 except Exception as traverse_error:
LOWfrigate/video/ffmpeg.py96 except Exception:
LOWfrigate/embeddings/maintainer.py437 except Exception as e:
LOWfrigate/embeddings/embeddings.py240 except Exception as e:
LOWfrigate/embeddings/embeddings.py607 except Exception as e:
LOWfrigate/embeddings/embeddings.py619 except Exception as e:
LOWfrigate/embeddings/embeddings.py654 except Exception as e:
LOWfrigate/embeddings/onnx/jina_v1_embedding.py108 except Exception:
LOWfrigate/embeddings/onnx/jina_v2_embedding.py114 except Exception:
LOWfrigate/embeddings/onnx/base_embedding.py43 except Exception:
LOWfrigate/record/export.py151 except Exception:
LOWfrigate/record/export.py225 except Exception:
LOWfrigate/record/export.py238 except Exception:
LOWfrigate/record/export.py335 except Exception:
LOWfrigate/record/maintainer.py680 except Exception as e:
LOWfrigate/record/maintainer.py768 except Exception as e:
LOWfrigate/test/test_maintainer.py60 except Exception:
MEDIUMfrigate/util/services.py644def try_get_info(f, h, default="N/A", sensor=None):
LOWfrigate/util/services.py78 except Exception as e:
LOWfrigate/util/services.py99 except Exception as e:
LOWfrigate/util/services.py164 except Exception:
LOWfrigate/util/services.py638 except Exception:
LOWfrigate/util/services.py718 except Exception:
LOWfrigate/util/services.py740 except Exception:
LOWfrigate/util/services.py782 except Exception as e:
LOWfrigate/util/services.py787 except Exception as e:
LOWfrigate/util/services.py916 except Exception:
LOWfrigate/util/media.py253 except Exception as e:
LOWfrigate/util/media.py341 except Exception as e:
LOWfrigate/util/media.py437 except Exception as e:
LOWfrigate/util/media.py517 except Exception as e:
LOWfrigate/util/media.py595 except Exception as e:
LOWfrigate/util/media.py687 except Exception as e:
LOWfrigate/util/config.py834 except Exception:
LOWfrigate/util/downloader.py94 except Exception as e:
LOWfrigate/util/camera_cleanup.py40 except Exception as e:
LOWfrigate/util/camera_cleanup.py47 except Exception as e:
LOWfrigate/util/camera_cleanup.py54 except Exception as e:
LOWfrigate/util/camera_cleanup.py61 except Exception as e:
LOWfrigate/util/camera_cleanup.py70 except Exception as e:
LOWfrigate/util/camera_cleanup.py77 except Exception as e:
LOWfrigate/util/camera_cleanup.py84 except Exception as e:
LOWfrigate/util/camera_cleanup.py99 except Exception as e:
LOWfrigate/util/camera_cleanup.py126 except Exception as e:
LOWfrigate/util/camera_cleanup.py133 except Exception as e:
LOWfrigate/util/camera_cleanup.py139 except Exception as e:
LOWfrigate/util/camera_cleanup.py145 except Exception as e:
LOWfrigate/util/camera_cleanup.py154 except Exception as e:
LOWfrigate/util/camera_cleanup.py164 except Exception as e:
265 more matches not shown…
Deep Nesting230 hits · 216 pts
SeverityFileLineSnippet
LOWgenerate_config_translations.py35
LOWgenerate_config_translations.py285
LOWtesting-scripts/face_dataset.py180
LOWtesting-scripts/process_clip.py141
LOWdocs/scripts/lib/ui_generator.py71
LOWdocs/scripts/lib/ui_generator.py100
LOWdocs/scripts/lib/yaml_extractor.py28
LOWdocs/scripts/lib/yaml_extractor.py134
LOWfrigate/timeline.py81
LOWfrigate/plus.py35
LOWfrigate/plus.py140
LOWfrigate/plus.py184
LOWfrigate/watchdog.py114
LOWfrigate/debug_replay.py322
LOWfrigate/log.py204
LOWfrigate/log.py213
LOWfrigate/storage.py33
LOWfrigate/__main__.py18
LOWfrigate/video/ffmpeg.py55
LOWfrigate/video/ffmpeg.py275
LOWfrigate/video/detect.py176
LOWfrigate/embeddings/genai_embedding.py29
LOWfrigate/embeddings/maintainer.py399
LOWfrigate/embeddings/maintainer.py517
LOWfrigate/embeddings/maintainer.py737
LOWfrigate/embeddings/maintainer.py402
LOWfrigate/embeddings/embeddings.py450
LOWfrigate/embeddings/embeddings.py624
LOWfrigate/embeddings/onnx/jina_v1_embedding.py83
LOWfrigate/embeddings/onnx/jina_v2_embedding.py88
LOWfrigate/track/object_processing.py116
LOWfrigate/track/object_processing.py365
LOWfrigate/track/object_processing.py682
LOWfrigate/track/object_processing.py186
LOWfrigate/track/centroid_tracker.py140
LOWfrigate/track/norfair_tracker.py324
LOWfrigate/track/norfair_tracker.py497
LOWfrigate/track/tracked_object.py125
LOWfrigate/track/tracked_object.py593
LOWfrigate/record/maintainer.py104
LOWfrigate/record/maintainer.py597
LOWfrigate/record/maintainer.py689
LOWfrigate/test/test_maintainer.py31
LOWfrigate/test/test_object_detector.py15
LOWfrigate/util/services.py52
LOWfrigate/util/services.py84
LOWfrigate/util/services.py170
LOWfrigate/util/services.py188
LOWfrigate/util/services.py241
LOWfrigate/util/services.py307
LOWfrigate/util/services.py396
LOWfrigate/util/services.py607
LOWfrigate/util/services.py724
LOWfrigate/util/services.py746
LOWfrigate/util/services.py793
LOWfrigate/util/services.py922
LOWfrigate/util/services.py1073
LOWfrigate/util/media.py67
LOWfrigate/util/media.py100
LOWfrigate/util/media.py260
170 more matches not shown…
Hallucination Indicators10 hits · 95 pts
SeverityFileLineSnippet
CRITICALfrigate/track/centroid_tracker.py95 max_frames = self.detect_config.stationary.max_frames.objects.get(
CRITICALfrigate/track/norfair_tracker.py231 self.detect_config.stationary.max_frames.objects.get(
CRITICALfrigate/track/norfair_tracker.py308 self.detect_config.stationary.max_frames.objects.get(
CRITICALfrigate/track/norfair_tracker.py430 max_frames = self.detect_config.stationary.max_frames.objects.get(
CRITICALfrigate/api/auth.py438 config_roles = list(request.app.frigate_config.auth.roles.keys())
CRITICALfrigate/api/auth.py848 config_roles_set = set(request.app.frigate_config.auth.roles.keys())
CRITICALfrigate/api/auth.py893 config_roles = list(request.app.frigate_config.auth.roles.keys())
CRITICALfrigate/api/auth.py1052 config_roles = list(request.app.frigate_config.auth.roles.keys())
CRITICALfrigate/api/event.py1448 ) in request.app.frigate_config.classification.custom.items():
CRITICALfrigate/api/classification.py719 ) in request.app.frigate_config.classification.custom.items():
Decorative Section Separators23 hits · 75 pts
SeverityFileLineSnippet
MEDIUMtesting-scripts/face_dataset.py51# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py53# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py203# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py205# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py251# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py253# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py368# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py370# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py696# ---------------------------------------------------------------------------
MEDIUMtesting-scripts/face_dataset.py698# ---------------------------------------------------------------------------
MEDIUMweb/src/components/filter/ExportActionGroup.tsx51 // ── Delete ──────────────────────────────────────────────────────
MEDIUMweb/src/components/filter/ExportActionGroup.tsx90 // ── Remove from case ────────────────────────────────────────────
MEDIUMweb/src/components/filter/ExportActionGroup.tsx143 // ── Case picker ─────────────────────────────────────────────────
MEDIUMdocs/docs/guides/reverse_proxy.md111# ------------------------------------------------------------
MEDIUMdocs/docs/guides/reverse_proxy.md113# ------------------------------------------------------------
MEDIUMfrigate/test/http_api/test_http_export.py1125 # ── Bulk delete exports ────────────────────────────────────────
MEDIUMfrigate/test/http_api/test_http_export.py1258 # ── Bulk reassign exports ──────────────────────────────────────
MEDIUMfrigate/test/http_api/test_http_camera_access.py261 # ------------------------------------------------------------------
MEDIUMfrigate/test/http_api/test_http_camera_access.py263 # ------------------------------------------------------------------
MEDIUMfrigate/test/http_api/test_http_camera_access.py275 # ------------------------------------------------------------------
MEDIUMfrigate/test/http_api/test_http_camera_access.py277 # ------------------------------------------------------------------
MEDIUMfrigate/api/chat.py1411# ---------------------------------------------------------------------------
MEDIUMfrigate/api/chat.py1413# ---------------------------------------------------------------------------
Redundant / Tautological Comments46 hits · 68 pts
SeverityFileLineSnippet
LOWfrigate/video/ffmpeg.py378 # Check if enough time has passed to allow ffmpeg restart (backoff pacing)
LOWfrigate/video/ffmpeg.py424 # Check if we're within the grace period after enabling recording
LOWfrigate/embeddings/maintainer.py137 # Check if we need to re-index events
LOWfrigate/embeddings/maintainer.py366 # Check if processor already exists
LOWfrigate/embeddings/embeddings.py470 # Check if data has changed or thumbnail is missing for thumbnail type
LOWfrigate/embeddings/embeddings.py483 # Check if thumbnail needs to be updated (data changed or missing)
LOWfrigate/embeddings/embeddings.py515 # Check if embedding is missing or needs update
LOWfrigate/util/services.py609 # Check if axcl-smi exists
LOWfrigate/util/media.py387 # Check if event exists with inline thumbnail
LOWfrigate/util/config.py703 # Check if it's a percentage
LOWfrigate/util/classification.py498 # Check if we already have a timestamp near this one
LOWfrigate/util/file.py341 # Check if lock file is older than stale_timeout
LOWfrigate/util/file.py439 # Close file descriptor and release fcntl lock
LOWfrigate/util/rknn_converter.py76 # Check if the SoC is actually a supported RK device
LOWfrigate/util/rknn_converter.py286 # Check if RKNN model appeared
LOWfrigate/util/rknn_converter.py291 # Check if lock file is gone (conversion completed or failed)
LOWfrigate/util/rknn_converter.py303 # Check if lock is stale
LOWfrigate/util/rknn_converter.py313 # Check if RKNN file appeared while waiting
LOWfrigate/util/rknn_converter.py363 # Check if equivalent .rknn file exists
LOWfrigate/config/config.py1076 # Check if the config file needs to be migrated.
LOWfrigate/comms/dispatcher.py1047 # Check if this is a global mask
LOWfrigate/comms/dispatcher.py1061 # Check if this is a per-object filter mask
LOWfrigate/comms/ws.py99 # Check if any role is admin
LOWfrigate/data_processing/post/semantic_trigger.py167 # Check if similarity meets threshold
LOWfrigate/data_processing/common/license_plate/mixin.py511 # Check if the boxes are vertically aligned (similar y-coordinates)
LOWfrigate/review/maintainer.py679 # Check if the current segment should be processed based on enabled settings
LOWfrigate/api/auth.py448 # Check if we have any roles
LOWfrigate/api/auth.py723 # Check if password has been changed since token was issued
LOWfrigate/api/event.py1880 # Check if trigger already exists
LOWfrigate/api/event.py2095 # Check if trigger exists for upsert
LOWfrigate/api/camera.py728 # Check if PTZ service is available
LOWfrigate/api/camera.py1055 # Check if the camera has a close method and call it
LOWfrigate/api/record.py313 # Check if this segment overlaps with any recording
LOWfrigate/api/motion_search.py264 # Check if already finished
LOWfrigate/detectors/plugins/zmq_ipc.py118 # Check if model is available and transfer if needed
LOWfrigate/detectors/plugins/zmq_ipc.py187 # Check if this is a JSON response (model management)
LOWfrigate/detectors/plugins/zmq_ipc.py241 # Check if this is a JSON response (model management)
LOWfrigate/detectors/plugins/memryx.py72 # Check if model_type was explicitly set by the user
LOWfrigate/detectors/plugins/memryx.py378 # Check if shutdown is requested
LOWfrigate/detectors/plugins/rknn.py110 # Check if this is an ONNX model or model without extension that needs conversion
LOWfrigate/jobs/media_sync.py121 # Check if a job is already running
LOWfrigate/jobs/manager.py59 # Check if it's the current job
LOWfrigate/jobs/manager.py63 # Check if it's a completed job
LOWfrigate/genai/plugins/gemini.py301 # Check if response is valid
LOWfrigate/genai/plugins/gemini.py616 # Check if we already have this tool call
LOWfrigate/stats/emitter.py93 # Check if values are dicts (dict-of-dicts like cameras/detectors)
Unused Imports56 hits · 56 pts
SeverityFileLineSnippet
LOWtesting-scripts/face_dataset.py34
LOWdocs/scripts/lib/ui_generator.py7
LOWdocs/scripts/lib/section_config_parser.py3
LOWfrigate/video/__init__.py1
LOWfrigate/video/__init__.py2
LOWfrigate/embeddings/genai_embedding.py11
LOWfrigate/util/rknn_converter.py98
LOWfrigate/util/rknn_converter.py121
LOWfrigate/config/config.py1
LOWfrigate/config/__init__.py1
LOWfrigate/config/__init__.py1
LOWfrigate/config/__init__.py3
LOWfrigate/config/__init__.py4
LOWfrigate/config/__init__.py5
LOWfrigate/config/__init__.py6
LOWfrigate/config/__init__.py7
LOWfrigate/config/__init__.py8
LOWfrigate/config/__init__.py9
LOWfrigate/config/__init__.py10
LOWfrigate/config/__init__.py11
LOWfrigate/config/__init__.py12
LOWfrigate/config/__init__.py13
LOWfrigate/config/__init__.py14
LOWfrigate/config/__init__.py15
LOWfrigate/config/camera/__init__.py1
LOWfrigate/config/camera/__init__.py2
LOWfrigate/config/camera/__init__.py3
LOWfrigate/config/camera/__init__.py4
LOWfrigate/config/camera/__init__.py5
LOWfrigate/config/camera/__init__.py6
LOWfrigate/config/camera/__init__.py7
LOWfrigate/config/camera/__init__.py8
LOWfrigate/config/camera/__init__.py9
LOWfrigate/config/camera/__init__.py10
LOWfrigate/config/camera/__init__.py11
LOWfrigate/config/camera/__init__.py12
LOWfrigate/config/camera/__init__.py13
LOWfrigate/config/camera/__init__.py14
LOWfrigate/config/camera/__init__.py15
LOWfrigate/config/camera/__init__.py16
LOWfrigate/config/camera/__init__.py17
LOWfrigate/data_processing/types.py3
LOWfrigate/data_processing/post/object_descriptions.py27
LOWfrigate/service_manager/service.py1
LOWfrigate/service_manager/__init__.py1
LOWfrigate/service_manager/__init__.py2
LOWfrigate/service_manager/__init__.py2
LOWfrigate/api/media_auth.py12
LOWfrigate/detectors/__init__.py3
LOWfrigate/detectors/__init__.py3
LOWfrigate/detectors/__init__.py3
LOWfrigate/detectors/__init__.py4
LOWfrigate/jobs/debug_replay.py32
LOWfrigate/genai/__init__.py16
LOWfrigate/genai/manager.py9
LOWfrigate/genai/manager.py15
Over-Commented Block56 hits · 46 pts
SeverityFileLineSnippet
LOWtesting-scripts/benchmark.py21# object_detector = LocalObjectDetector()
LOWtesting-scripts/benchmark.py61 object_detector.cleanup()
LOWtesting-scripts/benchmark_motion.py21# Nick back:
LOWweb/e2e/specs/face-library.spec.ts361
LOWweb/e2e/specs/face-library.spec.ts381 // DropdownMenu (desktop path only). With modal=false the DropdownMenu
LOWweb/src/utils/configUtil.ts181 return { isProfile: false, actualSection: sectionPath };
LOW…b/src/components/config-form/sectionExtras/registry.ts21 Record<string, RendererComponent>
LOW…/src/components/config-form/section-configs/objects.ts1import type { HiddenFieldContext } from "@/types/configForm";
LOWdocs/docs/configuration/reference.md21 host: mqtt.server.com
LOWdocs/docs/configuration/reference.md41 # certificates (default: None)
LOWdocs/docs/configuration/reference.md61 # Required: type of the detector
LOWdocs/docs/configuration/reference.md81 ipv6:
LOWdocs/docs/configuration/reference.md121 # Optional: Enable authentication
LOWdocs/docs/configuration/reference.md141 # Optional: Trusted proxies for determining IP address to rate limit
LOWdocs/docs/configuration/reference.md221# Optional: set environment variables
LOWdocs/docs/configuration/reference.md241 # objects - cameras are included if they have had a tracked object within the last 30 seconds
LOWdocs/docs/configuration/reference.md261 # or can be set to any path that holds `bin/ffmpeg` & `bin/ffprobe`
LOWdocs/docs/configuration/reference.md281 # Optional: Set tag on HEVC (H.265) recording stream to improve compatibility with Apple players. (default: shown belo
LOWdocs/docs/configuration/reference.md301 max_disappeared: 25
LOWdocs/docs/configuration/reference.md321 # Optional: Default for all object types (default: not set, track forever)
LOWdocs/docs/configuration/reference.md341# Optional: Object configuration
LOWdocs/docs/configuration/reference.md361 person:
LOWdocs/docs/configuration/reference.md381 # Optional: A friendly name for the mask
LOWdocs/docs/configuration/reference.md441 - person
LOWdocs/docs/configuration/reference.md461"""
LOWdocs/docs/configuration/reference.md481 # Optional: The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion.
LOWdocs/docs/configuration/reference.md501 # - 50 - low sensitivity
LOWdocs/docs/configuration/reference.md521 # Required: Coordinates polygon for the mask
LOWdocs/docs/configuration/reference.md541# Optional: Record configuration
LOWdocs/docs/configuration/reference.md561 # if you only want to retain recordings of alerts and detections.
LOWdocs/docs/configuration/reference.md581 alerts:
LOWdocs/docs/configuration/reference.md601 detections:
LOWdocs/docs/configuration/reference.md621# Optional: Configuration for the snapshots written to the clips directory for each tracked object
LOWdocs/docs/configuration/reference.md661
LOWdocs/docs/configuration/reference.md681 blur_confidence_filter: True
LOWdocs/docs/configuration/reference.md781 # Required: Cameras to run classification on
LOWdocs/docs/configuration/reference.md801 # that should be used for live view in frigate WebUI. (default: name of camera)
LOWdocs/docs/configuration/reference.md821 # Additional Examples:
LOWdocs/docs/configuration/reference.md841 back:
LOWdocs/docs/configuration/reference.md861 - detect
LOWdocs/docs/configuration/reference.md881 # hwaccel_args:
LOWdocs/docs/configuration/reference.md941 # Optional: Configuration for how camera is handled in the GUI.
LOWdocs/docs/configuration/reference.md961 user: admin
LOWdocs/docs/configuration/reference.md981 # Frigate will update your config file automatically after a calibration with
LOWdocs/docs/configuration/reference.md1021 friendly_name: Unique name or descriptive text
LOWdocs/docs/configuration/reference.md1041 # Optional: Enable or disable the camera when this profile is active (default: not set, inherits base)
LOWdocs/docs/configuration/reference.md1081 # Optional: Set a timezone to use in the UI (default: use browser local time)
LOWdocs/docs/configuration/autotracking.md81 host: 0.0.0.0
LOWdocs/docs/configuration/autotracking.md101 # A calibration will move the PTZ in increments and measure the time it takes to move.
LOWdocs/docs/configuration/object_detectors.md341 model_type: yolo-generic
LOWdocs/docs/configuration/object_detectors.md16814. Bind-mount the `.zip` file into the container and specify its path using `model.path` in your config.
LOWdocs/docs/frigate/installation.md701# Download Frigate image
LOWfrigate/track/centroid_tracker.py201 # value in each row (i.e. the distance from each current object to
LOWfrigate/detectors/plugins/edgetpu_tfl.py221
LOW.github/workflows/stale.yml21 exempt-draft-pr: false
LOW.github/workflows/stale.yml41 # token: ${{ secrets.GITHUB_TOKEN }}
Cross-File Repetition9 hits · 45 pts
SeverityFileLineSnippet
HIGHfrigate/ffmpeg_presets.py0return the correct preset if in preset format otherwise return none.
HIGHfrigate/ffmpeg_presets.py0return the correct preset if in preset format otherwise return none.
HIGHfrigate/ffmpeg_presets.py0return the correct preset if in preset format otherwise return none.
HIGHfrigate/embeddings/__init__.py0select thumbnail_embedding from vec_thumbnails where id = ?
HIGHfrigate/data_processing/post/semantic_trigger.py0select thumbnail_embedding from vec_thumbnails where id = ?
HIGHfrigate/api/event.py0select thumbnail_embedding from vec_thumbnails where id = ?
HIGHfrigate/data_processing/real_time/license_plate.py0handle processing images for face detection and recognition.
HIGHfrigate/data_processing/real_time/face.py0handle processing images for face detection and recognition.
HIGHfrigate/data_processing/common/license_plate/mixin.py0handle processing images for face detection and recognition.
Verbosity Indicators23 hits · 44 pts
SeverityFileLineSnippet
LOW…mponents/classification/wizard/Step3ChooseExamples.tsx103 // Step 1: Create config for the new model
LOW…mponents/classification/wizard/Step3ChooseExamples.tsx153 // Step 2: Classify each image by moving it to the correct category folder
LOW…mponents/classification/wizard/Step3ChooseExamples.tsx212 // Step 3: Determine if we should train
LOW…mponents/classification/wizard/Step3ChooseExamples.tsx225 // Step 4: Kick off training only if we have enough classes with images
LOWweb/src/components/settings/CameraWizardDialog.tsx113 // Step 1: Can proceed if camera name is set
LOWweb/src/components/settings/CameraWizardDialog.tsx116 // Step 2: Can proceed if at least one stream exists (from probe or manual test)
LOWweb/src/components/settings/CameraWizardDialog.tsx119 // Step 3: Can proceed if at least one stream has 'detect' role
LOWweb/src/components/settings/CameraWizardDialog.tsx126 // Step 4: Always can proceed from final step (save will be handled there)
LOWfrigate/util/classification.py392 # Step 2: Create balanced timestamp selection (100 samples)
LOWfrigate/util/classification.py395 # Step 3: Extract keyframes from recordings with crops applied
LOWfrigate/util/classification.py400 # Step 4: Select 24 most visually distinct images (they're already cropped)
LOWfrigate/util/classification.py403 # Step 5: Save to train directory for later classification
LOWfrigate/util/classification.py744 # Step 2: Select balanced events (100 samples)
LOWfrigate/util/classification.py748 # Step 3: Extract thumbnails from events
LOWfrigate/util/classification.py752 # Step 4: Select 24 most visually distinct thumbnails
LOWfrigate/util/classification.py756 # Step 5: Save to train directory for later classification
LOWfrigate/util/classification.py375 # Step 1: Get review items for the cameras
LOWfrigate/util/classification.py733 # Step 1: Query events for the specified label and cameras
LOWfrigate/data_processing/common/license_plate/mixin.py267 # Step 1: Compute box heights and group boxes by vertical alignment and height similarity
LOWfrigate/data_processing/common/license_plate/mixin.py299 # Step 2: Process each initial group, filter by confidence
LOWfrigate/data_processing/common/license_plate/mixin.py420 # Step 3: Sort the combined plates
LOWfrigate/detectors/plugins/memryx.py356 # Step 4: Slice the padded image into 4 quadrants and concatenate them into 12 channels
LOWfrigate/detectors/plugins/memryx.py362 # Step 5: Concatenate along the channel dimension (axis 2)
Dead Code23 hits · 43 pts
SeverityFileLineSnippet
MEDIUMfrigate/data_processing/post/license_plate.py74
MEDIUMfrigate/data_processing/post/license_plate.py75
MEDIUMfrigate/data_processing/post/license_plate.py77
MEDIUMfrigate/data_processing/post/license_plate.py99
MEDIUMfrigate/data_processing/post/license_plate.py115
MEDIUMfrigate/data_processing/post/license_plate.py142
MEDIUMfrigate/data_processing/post/license_plate.py149
MEDIUMfrigate/data_processing/post/license_plate.py151
MEDIUMfrigate/data_processing/post/license_plate.py152
MEDIUMfrigate/data_processing/post/license_plate.py155
MEDIUMfrigate/data_processing/post/license_plate.py156
MEDIUMfrigate/data_processing/post/license_plate.py159
MEDIUMfrigate/data_processing/post/license_plate.py196
MEDIUMfrigate/data_processing/post/license_plate.py197
MEDIUMfrigate/data_processing/post/license_plate.py200
MEDIUMfrigate/data_processing/post/license_plate.py201
MEDIUMfrigate/data_processing/post/license_plate.py202
MEDIUMfrigate/data_processing/post/license_plate.py203
MEDIUMfrigate/data_processing/post/license_plate.py204
MEDIUMfrigate/data_processing/post/license_plate.py208
MEDIUMfrigate/data_processing/post/license_plate.py209
MEDIUMfrigate/data_processing/post/license_plate.py225
MEDIUMfrigate/data_processing/post/license_plate.py226
Self-Referential Comments10 hits · 30 pts
SeverityFileLineSnippet
MEDIUMdocker/main/build_pysqlite3.sh45# Create the wheel and put it in the /wheels dir.
MEDIUM…c/components/DockerComposeGenerator/config/config.yaml2# This file defines all devices, hardware options, and ports for Frigate Docker Compose generation
MEDIUMfrigate/app.py301 # Create a client for other processes to use
MEDIUMfrigate/test/http_api/test_http_export.py467 # Create a zero-byte file — partial ffmpeg output
MEDIUMfrigate/config/config.py915 # Create a new ObjectMaskConfig with raw_coordinates set
MEDIUMfrigate/data_processing/real_time/whisper_online.py972 # Create the tokenizer
MEDIUMfrigate/data_processing/real_time/whisper_online.py978 # Create the OnlineASRProcessor
MEDIUMfrigate/service_manager/multiprocessing_waiter.py146 # Create the future while still holding the lock,
MEDIUMfrigate/ptz/onvif.py59 # Create a dedicated event loop and run it in a separate thread
MEDIUMfrigate/stats/prometheus.py58 # Create a local copy of CPU usages to work with
Overly Generic Function Names22 hits · 21 pts
SeverityFileLineSnippet
LOWfrigate/test/test_deferred_processor.py59 def handle_request(
LOWfrigate/data_processing/real_time/bird.py186 def handle_request(
LOWfrigate/data_processing/real_time/api.py44 def handle_request(
LOWfrigate/data_processing/real_time/license_plate.py69 def handle_request(
LOW…ate/data_processing/real_time/custom_classification.py355 def handle_request(
LOW…ate/data_processing/real_time/custom_classification.py690 def handle_request(
LOW…igate/data_processing/real_time/audio_transcription.py271 def handle_request(
LOWfrigate/data_processing/real_time/face.py348 def handle_request(
LOWfrigate/data_processing/post/semantic_trigger.py65 def process_data(
LOWfrigate/data_processing/post/semantic_trigger.py269 def handle_request(
LOWfrigate/data_processing/post/object_descriptions.py194 def process_data(self, frame_data: dict, data_type: PostProcessDataEnum) -> None:
LOWfrigate/data_processing/post/object_descriptions.py218 def handle_request(self, topic: str, data: dict[str, Any]) -> str | None:
LOWfrigate/data_processing/post/review_descriptions.py128 def process_data(
LOWfrigate/data_processing/post/review_descriptions.py239 def handle_request(self, topic: str, request_data: dict[str, Any]) -> str | None:
LOWfrigate/data_processing/post/api.py28 def process_data(
LOWfrigate/data_processing/post/api.py42 def handle_request(
LOWfrigate/data_processing/post/license_plate.py60 def process_data(
LOWfrigate/data_processing/post/license_plate.py228 def handle_request(self, topic: str, request_data: dict) -> dict[str, Any] | None:
LOWfrigate/data_processing/post/audio_transcription.py72 def process_data(
LOWfrigate/data_processing/post/audio_transcription.py198 def handle_request(self, topic: str, request_data: dict[str, Any]) -> str | None:
LOWfrigate/data_processing/common/license_plate/mixin.py1672 def handle_request(
LOWfrigate/service_manager/service.py274 def run_task(
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippet
HIGHdocs/docs/configuration/genai/config.md182 api_key: your-api-key # May not be required for local servers
HIGHdocs/docs/configuration/genai/config.md233 api_key: your-api-key
HIGHfrigate/plus.py72 "Plus API key not set. See https://docs.frigate.video/integrations/plus#set-your-api-key"
Cross-Language Confusion3 hits · 12 pts
SeverityFileLineSnippet
HIGHfrigate/api/event.py260 zone_clauses.append((Event.zones.length() == 0))
HIGHfrigate/api/event.py1750 - If a duration is set to null, the event will need to be ended manually by calling /events/{event_id}/end.
HIGHfrigate/api/event.py644 zone_clauses.append((Event.zones.length() == 0))
AI Slop Vocabulary6 hits · 11 pts
SeverityFileLineSnippet
LOWtesting-scripts/analyze_recording_keyframes.py108 # target_ts is before the earliest segment we have — just return the
MEDIUMweb/src/components/timeline/DetailStream.tsx200 // robust to unordered reviewItems and avoids always picking the last
MEDIUMdocs/package-lock.json20214 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
LOWfrigate/util/services.py1127 # If we can't parse the line properly, just add it as is
LOWfrigate/object_detection/base.py340 # if the process has already exited on its own, just return
LOWfrigate/api/auth.py289 # if there wasn't anything in the route, just return the default
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippet
HIGHdocs/docs/configuration/reference.md387 # Optional: Configuration for AI generated tracked object descriptions
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippet
HIGHfrigate/genai/__init__.py295 Send chat messages to LLM with optional tool definitions. This method handles conversation-style inter
Slop Phrases3 hits · 3 pts
SeverityFileLineSnippet
LOW.github/DISCUSSION_TEMPLATE/report-a-bug.yml67 Provide the full name and don't forget to add the version!
LOW.github/DISCUSSION_TEMPLATE/camera-support.yml32 Provide the full name and don't forget to add the version!
LOW.github/DISCUSSION_TEMPLATE/general-support.yml32 Provide the full name and don't forget to add the version!
Fake / Example Data1 hit · 0 pts
SeverityFileLineSnippet
LOWdocs/docs/configuration/reference.md537 email: "admin@example.com"