mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-31 15:26:49 +00:00

* Rename Services to Actions in integrations: F * Apply suggestions from code review Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
95 lines
2.5 KiB
Markdown
95 lines
2.5 KiB
Markdown
---
|
|
title: FFmpeg Noise
|
|
description: Instructions on how to integrate an FFmpeg-based noise binary sensor
|
|
ha_category:
|
|
- Image processing
|
|
ha_iot_class: Calculated
|
|
ha_release: 0.27
|
|
ha_domain: ffmpeg_noise
|
|
ha_platforms:
|
|
- binary_sensor
|
|
ha_integration_type: integration
|
|
related:
|
|
- docs: /docs/configuration/
|
|
title: Configuration file
|
|
---
|
|
|
|
The `ffmpeg` {% term integration %} allows you to use any video or audio feed with [FFmpeg](https://www.ffmpeg.org/) 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 %}
|
|
|
|
```yaml
|
|
# 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:
|
|
|
|
```bash
|
|
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.
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
binary_sensor:
|
|
- platform: ffmpeg_noise
|
|
input: FFMPEG_SUPPORTED_INPUT
|
|
extra_arguments: -nostats
|
|
```
|