录像
可以启用录像,并存储在 /media/frigate/recordings
。录像的文件夹结构为 YYYYY-MM-DD/HH/<camera_name>/MM.SS.mp4
,使用UTC 时间。这些录像直接从摄像机数据流写入,无需重新编码。每台摄像机在配置中都支持可配置的留存策略。Frigate 在决定是否删除记录时,会选择录像留存和事件留存之间最大的匹配留存值。
新的录像剪辑会从摄像机数据流写入缓存,只有在符合设置的录像留存策略时才会移动到磁盘。
H265 录像只能在 Chrome 108+、Edge 和 Safari 中查看。所有其它浏览器都需要使用 H264 编码录制。
通用录像配置
最保守:确保保存所有视频
在部署 Frigate 的环境中,即使没有检测到动态,也必须存储连续的视频,对于用户来说,以下配置可将所有视频存储3天。3天后,只有包含动态并与事件重叠的视频才会被保留,直到 30 天后。
record:
enabled: True
retain:
days: 3
mode: all
events:
retain:
default: 30
mode: motion
减少存储空间:仅在检测到动态时保存视频
为了减少存储需求,您可以调整配置,只保留检测到动态的视频。
record:
enabled: True
retain:
days: 3
mode: motion
events:
retain:
default: 30
mode: motion
最少: 唯事件
如果您只想保留有事件发生的视频,除非事件正在进行中,否则此配置将丢弃视频。
record:
enabled: True
retain:
days: 0
mode: all
events:
retain:
default: 30
mode: motion
如果我的存储空间用完了,Frigate 会删除旧录像吗?
如果存储空间不足一小时,最长的两小时记录将被删除。
配置录像留存
Frigate 支持连续录像和基于事件的录像,并有不同的留存模式和留存期。
留存配置支持小数,这意味着可以将其配置为保留 0.5
天。
连续录像
可通过以下配置设置留存连续录像的天数,其中 X 为数字,默认情况下连续录像被禁用。
record:
enabled: True
retain:
days: 1 # <- 连续录像的天数
连续记录支持不同的留存模式如下所述
事件录像
如果您只在禁用录像的旧版本中使用剪辑,可以使用以下配置获得相同的行为。这也是启用录像时的默认行为。
record:
enabled: True
events:
retain:
default: 10 # <- 保存事件录像的天数
此配置可将与事件重叠且有动态跟踪目标的录像剪辑保留 10 天。由于多个事件可以引用相同的录像剪辑,这就避免了为重叠事件存储重复剪辑,减少了总体存储需求。
警告:如果摄像机在配置中已禁用录像,则通过上述方法启用录像将不起作用。
不同的留存模式意味着什么?
Frigate 使用 record
角色从数据流中保存 10 秒钟的剪辑。这些选项决定了哪些录像剪辑会被保留用于连续录像(但也会影响事件)。
比方说,您配置了 Frigate,这样门铃摄像头就能保留最近2天的连续录像。
- 如果使用
all
选项,这两天的所有48小时都将保留并可查看。 - 如果使用
motion
选项,这48小时中只有 Frigate 检测到动态的剪辑。这是一个中间选项,它不会保留所有48小时,但可能会保留所有潜在需要关注的剪辑。 - 在使用
active_objects
选项时,唯一会被保留的剪辑是那些有一个不被认为是静止的真正活动目标的剪辑。
事件也有相同的可用选择。让我们考虑这样一种情况:你开车停在车道上,然后进去,4 个小时后再出来。
- 如果使用
all
选项,事件持续时间内的所有剪辑都将保存在事件中。该事件将有 4 个小时的剪辑。 - 如果使用
motion
选项,则会保存事件持续时间内有动态的所有剪辑。这意味着,街道上驶过的汽车、走过的行人、灯光变化等任何剪辑都会被保存。 - 如果使用
active_objects
,则只会保存目标处于动态状态的剪辑。在这种情况下,唯一会保存的剪辑就是汽车开过来、你进去、你出来以及汽车开走的剪辑。从根本上将 4 小时的事件剪辑减少到一两分钟。
所有motion
剪辑存储 7 天,active objects
存储 14 天,上述留存模式的配置示例如下:
record:
enabled: True
retain:
days: 7
mode: motion
events:
retain:
default: 14
mode: active_objects
上述配置示例可全局添加,也可按每台摄像机添加。
特定目标留存
您还可以为某个目标类型设置特定的留存。下面的配置示例以之前的示例为基础,还规定狗的录像只需保留 2 天,而汽车的录像应保留 7 天。
record:
enabled: True
retain:
days: 7
mode: motion
events:
retain:
default: 14
mode: active_objects
objects:
dog: 2
car: 7
我可以进行 "连续 "录像,但只在特定时间进行吗?
使用 Frigate UI、HomeAssistant 或 MQTT,摄像机可实现自动化,只在特定情况下或特定时间进行录像。
如何导出录像?
Frigate WebUI 的导出页面允许导出指定开始和停止时间的实时剪辑,以及导出指定开始和停止时间的缩时剪辑。这些导出操作可能需要一段时间,因此必须等文件保存到不再进行为止。
缩时导出
导出缩时视频时,默认速度为25倍,每秒30帧。这意味着每25秒的(实时)录制会浓缩为 1 秒的延时视频(始终不带音频),流畅度为 30 FPS。
要配置加速因子、帧频和其他自定义设置,可以使用配置参数 timelapse_args
。下面的配置示例将缩时速度改为 60 倍(将 1 小时的录像转换为 1 分钟的缩时录像),帧频为 25 FPS:
record:
enabled: True
export:
timelapse_args: "-vf setpts=PTS/60 -r 25"
使用 hwaccel_args
时,会在全局范围内使用硬件编码来生成缩时。编码器决定自己的行为,因此生成的文件大小可能会过大。
为了减小输出文件的大小,可以使用 ffmpeg 参数 -qp n
(其中 n
代表量化参数的值)。可以调整该值,以便在质量和文件大小之间取得可接受的平衡。
使用磁盘同步录像
在某些情况下,录像文件可能会被删除,但 Frigate 并不知道发生了这种情况。可以启用录像同步,让 Frigate 检查文件系统,删除不存在文件的任何数据库条目。
record:
sync_recordings: True
同步操作会占用大量 CPU 资源,在大多数情况下并不需要,只有当必要时才启用。