2.6 KiB
title | description | ha_category | ha_iot_class | ha_release | ha_domain | ha_platforms | ha_integration_type | related | ha_quality_scale | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FFmpeg Noise | Instructions on how to integrate an FFmpeg-based noise binary sensor |
|
Calculated | 0.27 | ffmpeg_noise |
|
integration |
|
legacy |
The ffmpeg
{% term integration %} 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.
{% endnote %}
Configuration
To add FFmpeg with noise detection to your installation, add the following to your {% term "configuration.yaml
" %} file.
{% include integrations/restart_ha_after_config_inclusion.md %}
# Example configuration.yaml entry
binary_sensor:
- platform: ffmpeg_noise
input: FFMPEG_SUPPORTED_INPUT
{% configuration %}
input:
description: An FFmpeg-compatible input file, stream, or feed.
required: true
type: string
name:
description: Override the name of your camera.
required: false
type: string
initial_state:
description: Start FFmpeg with Home Assistant.
required: false
type: boolean
default: true
peak:
description: The threshold of detecting noise, in dB. 0 is very loud and -100 is low.
required: false
type: integer
default: -30
duration:
description: How long the noise needs to be over the peak to trigger the state.
required: false
type: integer
default: 1
reset:
description: The time to reset the state after no new noise is over the peak.
required: false
type: integer
default: 20
extra_arguments:
description: Extra options to pass to ffmpeg
, like audio frequency filtering.
required: false
type: string
output:
description: 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.
required: false
type: string
{% endconfiguration %}
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