From 45e91b3664502794c1b2faa4b78844fa377d966b Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Wed, 30 Apr 2025 18:11:45 -0600 Subject: [PATCH] Various tweaks (#17978) * Fix NPU stats * Add global camera specific h265 note * Update record docs for apple compatibility * remove * Remove non-in progress requirement --- docs/docs/configuration/camera_specific.md | 11 +++++++++++ docs/docs/configuration/record.md | 4 ++++ web/src/pages/Explore.tsx | 1 - web/src/views/system/GeneralMetrics.tsx | 6 +++--- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/docs/configuration/camera_specific.md b/docs/docs/configuration/camera_specific.md index 0cd1efd47..36d9e9256 100644 --- a/docs/docs/configuration/camera_specific.md +++ b/docs/docs/configuration/camera_specific.md @@ -15,6 +15,17 @@ Many cameras support encoding options which greatly affect the live view experie ::: +## H.265 Cameras via Safari + +Some cameras support h265 with different formats, but Safari only supports the annexb format. When using h265 camera streams for recording with devices that use the Safari browser, the `apple_compatibility` option should be used. + +```yaml +cameras: + h265_cam: # <------ Doesn't matter what the camera is called + ffmpeg: + apple_compatibility: true # <- Adds compatibility with MacOS and iPhone +``` + ## MJPEG Cameras Note that mjpeg cameras require encoding the video into h264 for recording, and restream roles. This will use significantly more CPU than if the cameras supported h264 feeds directly. It is recommended to use the restream role to create an h264 restream and then use that as the source for ffmpeg. diff --git a/docs/docs/configuration/record.md b/docs/docs/configuration/record.md index 28065f0b0..52c0f0c88 100644 --- a/docs/docs/configuration/record.md +++ b/docs/docs/configuration/record.md @@ -174,6 +174,10 @@ To reduce the output file size the ffmpeg parameter `-qp n` can be utilized (whe ::: +## Apple Compatibility with H.265 Streams + +Apple devices running the Safari browser may fail to playback h.265 recordings. The [apple compatibility option](../configuration/camera_specific.md#h265-cameras-via-safari) should be used to ensure seamless playback on Apple devices. + ## Syncing Recordings With Disk In some cases the recordings files may be deleted but Frigate will not know this has happened. Recordings sync can be enabled which will tell Frigate to check the file system and delete any db entries for files which don't exist. diff --git a/web/src/pages/Explore.tsx b/web/src/pages/Explore.tsx index 6b156dfab..7e412201e 100644 --- a/web/src/pages/Explore.tsx +++ b/web/src/pages/Explore.tsx @@ -127,7 +127,6 @@ export default function Explore() { limit: Object.keys(searchSearchParams).length == 0 ? API_LIMIT : undefined, timezone, - in_progress: 0, include_thumbnails: 0, }, ]; diff --git a/web/src/views/system/GeneralMetrics.tsx b/web/src/views/system/GeneralMetrics.tsx index a6be0a418..2ef7ce8d9 100644 --- a/web/src/views/system/GeneralMetrics.tsx +++ b/web/src/views/system/GeneralMetrics.tsx @@ -391,7 +391,7 @@ export default function GeneralMetrics({ series[key] = { name: key, data: [] }; } - if (stats.npu) { + if (stats?.npu) { hasValidNpu = true; series[key].data.push({ x: statsIdx + 1, y: stats.npu }); } @@ -585,8 +585,8 @@ export default function GeneralMetrics({ {(statsHistory.length == 0 || - statsHistory[0].gpu_usages || - statsHistory[0].npu_usages) && ( + gpuSeries.length > 0 || + npuSeries.length > 0) && ( <>