跳到主要内容

音频检测器

Frigate 提供了一个内置的音频检测器,可在 CPU 上运行。与图像的目标检测相比,音频检测是一种相对轻量级的操作,因此唯一的选择就是在 CPU 上运行检测。

配置

音频事件的工作原理是检测音频类型并创建事件,一旦在配置的时间内没有听到该类型的音频,事件就会结束。音频事件会在事件开始时保存快照,并在整个事件过程中保存录音。录音将使用配置的录音留存时间进行保存。

启用音频事件

音频事件可以为所有摄像机启用,也可以只为特定摄像机启用。


audio: # <- enable audio events for all camera
enabled: True

cameras:
front_camera:
ffmpeg:
...
audio:
enabled: True # <- enable audio events for the front_camera

如果使用多个流,则必须在用于音频检测的流上设置 audio 角色,可以是任何流,但流必须包含音频。

备注

用于捕捉音频的 ffmpeg 进程将与分配给摄像机的其他角色一起成为与摄像机的单独连接,因此建议为此目的使用 go2rtc restream。更多信息请参阅restream 文档

cameras:
front_camera:
ffmpeg:
inputs:
- path: rtsp://.../main_stream
roles:
- record
- path: rtsp://.../sub_stream # <- this stream must have audio enabled
roles:
- audio
- detect

配置最小音量

音频检测器使用音量大小的方式与摄像机画面中的动态进行目标检测的方式相同。这意味着,除非音频音量高于配置音量,否则 Frigate 不会运行音频检测,以减少资源占用。不同型号的摄像机音频音量可能差别很大,因此必须进行测试以确定音量水平。可在音频订阅上使用 MQTT explorer 查看检测到的音量级别。

提示

录像时音量被视为动态,这意味着当 record -> retain -> mode 设置为 motion 时,只要音频音量 > min_volume,就会保留该摄像机的录像片段。

配置音频事件

内含的音频模型可检测超过 500种不同类型 的音频,其中许多并不实用。默认情况下,犬吠火警尖叫语音吼叫 都是启用的,但也可以自定义。

audio:
enabled: True
listen:
- bark
- fire_alarm
- scream
- speech
- yell