--- 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 ha_quality_scale: legacy --- 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 ```