NNicolas MowenMiscellaneous fixes (#24179)
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Update peewee-migrate to 0.14.x (#21243) Replaces two functions calls, that were deprecated and aliases for the new function name: - Migrator.python -> Migration.run - Migrator.change_column -> Migrator.change_field | 9 个月前 | |
Create scaffolding for case management (#21293) | 6 个月前 | |
Create scaffolding for case management (#21293) | 6 个月前 | |
Improve motion review and add motion search (#22253) * implement motion search and motion previews * tweaks * fix merge issue * fix copilot instructions | 6 个月前 | |
Add sub stream recording with adaptive quality playback (#24009) * add sub stream recording with adaptive quality playback Optionally record a second, lower bitrate stream alongside the main recording stream via a `record_sub` input role and `record.sub` config block, with its own retention windows. Recordings rows now carry the stream type plus the media details needed to serve both streams from one manifest: video codec, audio presence, audio codec and rate, and a record-time keyframe index. Playback resolves coverage across both streams and merges them into a single VOD sequence, falling back to a discontinuity manifest with per-clip init segments when the media signatures differ. The player exposes a quality selector, and an auto governor picks the stream from stall time, bandwidth, codec support, and the save-data hint. * fix tests and i18n | 6 天前 | |
Improve History's seek startup time and recordings query performance (#24011) * serve a segment startup ladder so seeks begin playing sooner nginx-vod was handed one 10s segment per recording file, so every playlist start had to download and decode a full segment before the first frame. Declare real keyframe data per clip and let nginx cut short leading segments from it. - add vod_bootstrap_segment_durations 1000/2000/4000 so each playlist starts with 1s/2s/4s segments before settling at 10s - emit real clip-relative keyFrameDurations (plus firstKeyFrameOffset when nonzero) from the recording keyframe index; rows without an index keep the whole-clip declaration, the only safe cut without keyframe knowledge - drop the manifest's segment_duration field, which was always inert: nginx-vod parses only camelCase segmentDuration - rebuild the player source at the seek target, quantized to a 10s grid, so the ladder applies to every seek and seek URLs stay repeatable for nginx's mapping and response caches - route the seek model, in-range checks, and the stale-report guard through the source window rather than the chunk range - bridge repositioning seeks (>2s from the last played timestamp) through the preview player and hold the release anchor one commit, so neither path paints a stale frame - clear a pending loading timer before replacing it; an orphaned timer escaped onPlaying's clearTimeout and flashed loading mid-playback * keep recordings queries on their indexes Several recordings queries degraded into full scans or large sorts on big databases: the planner ignored index order, or the query shape gave it nothing tight to seek on. Reshape them into bounded seeks and add the composite index the per-stream lookups need. - index recordings on (camera, stream_type, start_time DESC) and drop the (camera, stream_type) index it supersedes - walk the recordings summary day by day with EXISTS probes and per-camera MIN/MAX seeks, skipping ahead over empty gaps instead of bucketing every row for the requested cameras - run the summary endpoint on the event loop rather than the threadpool - bound the unavailable-recordings query by start_time per camera and merge the results in Python - bound the expire query's start_time so it seeks the retention window instead of scanning a camera's whole history - enumerate deleted cameras with one index seek each rather than a camera NOT IN (...) scan - compute bandwidth with segment_size filtered in a CASE projection; as a WHERE predicate it baited the planner into the (camera, segment_size) index plus a full sort of the camera's history - fall back to a 1000-segment window when the recent 100 are all zero-size, so an ingest glitch doesn't report zero bandwidth - limit the needs_refresh count instead of counting every segment - cover sub-only and sparse calendar days, midnight-spanning day attribution, multi-camera gap merging, deleted-camera expiry, and zero-size segment runs * fix mypy | 6 天前 | |
Add a notice registry and System Health tab (#24178) * add a notice registry and System Health tab Problems Frigate detects on its own (ffmpeg crash loops, stuck detectors, failed model downloads, recordings deleted before their retention period) only ever existed as log lines. This adds a `NoticeRegistry` in the main process backed by two tables, an `update_notice` IPC topic so producers in other processes can reach it through the dispatcher, an admin-only API and websocket topic, and a Health tab that lists them. Kinds declare their own mode, severity, and category in one place: state notices are resolved by their producer, event notices are dismissed by the user. * treat a prerelease as behind its final release * fix notices clearing early * rename menu items and update docs * don't resolve the update notice on a failed version lookup | 6 天前 | |
Miscellaneous fixes (#24179) * rename migration * use ASC composite index for event camera and start_time the planner still picks for newest-first single-camera queries but doesn't slow down full per-camera scans on a cold cache * pause playback while the timeline range handles are up * reduce multi camera seeded export range to 30m allows both handlebars to fit within most desktop windows | 6 天前 |