FFmpeg Noise

The ffmpeg integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] allows you to use any video or audio feed with FFmpeg for various sensors in Home Assistant.

Note

If the ffmpeg process is broken, the sensor will be unavailable. To control the FFmpeg process of sensor, use the ffmpeg.start, ffmpeg.stop, and ffmpeg.restart actions.

Configuration

To add FFmpeg with noise detection to your installation, add the following to your configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] file. 在更改了configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件后,重启 Home Assistant 以应用更改。 该集成现在显示在集成页面的 设置 > 设备与服务 下。其实体在集成卡片上以及实体标签上列出。

# Example configuration.yaml entry
binary_sensor:
  - platform: ffmpeg_noise
    input: FFMPEG_SUPPORTED_INPUT

Configuration Variables

input string Required

An FFmpeg-compatible input file, stream, or feed.

name string (Optional)

Override the name of your camera.

initial_state boolean (Optional, default: true)

Start FFmpeg with Home Assistant.

peak integer (Optional, default: -30)

The threshold of detecting noise, in dB. 0 is very loud and -100 is low.

duration integer (Optional, default: 1)

How long the noise needs to be over the peak to trigger the state.

reset integer (Optional, default: 20)

The time to reset the state after no new noise is over the peak.

extra_arguments string (Optional)

Extra options to pass to ffmpeg, like audio frequency filtering.

output string (Optional)

Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered.

To experiment with values:

ffmpeg -i YOUR_INPUT -vn -filter:a silencedetect=n=-30dB:d=1 -f null -

Troubleshooting

Unresponsive after a while

If the noise sensor becomes unresponsive, make sure you have extra_arguments: -nostats in the configuration.

# Example configuration.yaml entry
binary_sensor:
  - platform: ffmpeg_noise
    input: FFMPEG_SUPPORTED_INPUT
    extra_arguments: -nostats