mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-15 13:26:54 +00:00
Spliting doc for ffmpeg binary sensor (#1924)
This commit is contained in:
parent
623024ee29
commit
9b6240553a
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: "FFmpeg Binary Sensor"
|
title: "FFmpeg Motion Binary Sensor"
|
||||||
description: "Instructions on how to integrate an FFmpeg-based binary sensor"
|
description: "Instructions on how to integrate an FFmpeg-based motion binary sensor"
|
||||||
date: 2016-08-25 08:00
|
date: 2016-08-25 08:00
|
||||||
sidebar: true
|
sidebar: true
|
||||||
comments: false
|
comments: false
|
||||||
@ -10,45 +10,15 @@ footer: true
|
|||||||
logo: ffmpeg.png
|
logo: ffmpeg.png
|
||||||
ha_category: Binary Sensor
|
ha_category: Binary Sensor
|
||||||
ha_release: 0.27
|
ha_release: 0.27
|
||||||
ha_iot_class: "Local Polling"
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant. Available are: **noise**, **motion**.
|
The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www.ffmpeg.org/) for motion sensors in Home Assistant.
|
||||||
|
|
||||||
<p class='note'>
|
<p class='note'>
|
||||||
If the `ffmpeg` process is broken, the sensor will be unavailable. To controll the ffmpeg process of sensor, use the service *binary_sensor.ffmpeg_start*, *binary_sensor.ffmpeg_stop*, *binary_sensor.ffmpeg_restart*.
|
If the `ffmpeg` process is broken, the sensor will be unavailable. To controll the ffmpeg process of sensor, use the service *ffmpeg.start*, *ffmpeg.stop*, *ffmpeg.restart*.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
### {% linkable_title Noise %}
|
|
||||||
|
|
||||||
To add FFmpeg with noise detection to your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
binary_sensor:
|
|
||||||
- platform: ffmpeg
|
|
||||||
tool: noise
|
|
||||||
```
|
|
||||||
|
|
||||||
Configuration variables:
|
|
||||||
|
|
||||||
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed.
|
|
||||||
- **tool** (*Required*): `noise`.
|
|
||||||
- **name** (*Optional*): Override the name of your camera.
|
|
||||||
- **initial_state** (*Optional*): Default true. Start ffmpeg with home-assistant.
|
|
||||||
- **peak** (*Optional*): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low.
|
|
||||||
- **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state.
|
|
||||||
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak.
|
|
||||||
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering.
|
|
||||||
- **output** (*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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ ffmpeg -i YOUR_INPUT -vn -filter:a silencedetect=n=-30dB:d=1 -f null -
|
|
||||||
```
|
|
||||||
|
|
||||||
### {% linkable_title Motion %}
|
### {% linkable_title Motion %}
|
||||||
|
|
||||||
FFmpeg doesn't have a motion detection filter, but can use a scene filter to detect a new scene/motion. You can set how much needs to change in order to detect motion with the option 'changes', the percent value of change between frames. If you want a really small value for 'changes', you can also add a denoise filter.
|
FFmpeg doesn't have a motion detection filter, but can use a scene filter to detect a new scene/motion. You can set how much needs to change in order to detect motion with the option 'changes', the percent value of change between frames. If you want a really small value for 'changes', you can also add a denoise filter.
|
||||||
@ -59,16 +29,14 @@ To add FFmpeg with motion detection to your installation, add the following to y
|
|||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: ffmpeg
|
- platform: ffmpeg
|
||||||
tool: motion
|
|
||||||
input: FFMPEG_SUPPORTED_INPUT
|
input: FFMPEG_SUPPORTED_INPUT
|
||||||
```
|
```
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
|
|
||||||
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed.
|
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed.
|
||||||
- **tool** (*Required*): `motion`.
|
|
||||||
- **name** (*Optional*): Override the name of your camera for the frontend.
|
- **name** (*Optional*): Override the name of your camera for the frontend.
|
||||||
- **initial_state** (*Optional*): Start `ffmpeg` with Home Assistant. Defaults to `true`.
|
- **initial_state** (*Optional*): Start `ffmpeg` with Home Assistant. Defaults to `true`.
|
||||||
- **changes** (*Optional*): How much needs to change between two frames to detect it as motion (a lower value is more sensitive). Defaults to 10%.
|
- **changes** (*Optional*): How much needs to change between two frames to detect it as motion (a lower value is more sensitive). Defaults to 10%.
|
||||||
- **reset** (*Optional*): The time to reset the state after no new motion is detected. Defaults to 20 seconds.
|
- **reset** (*Optional*): The time to reset the state after no new motion is detected. Defaults to 20 seconds.
|
||||||
- **repeat** (*Optional*): How many events need to be detected in *repeat_time* in order to trigger a motion. Defaults to 0 repeats (deactivated).
|
- **repeat** (*Optional*): How many events need to be detected in *repeat_time* in order to trigger a motion. Defaults to 0 repeats (deactivated).
|
||||||
@ -85,7 +53,7 @@ If you are running into trouble with this sensor, please refer to the [troublesh
|
|||||||
|
|
||||||
#### {% linkable_title Tipps %}
|
#### {% linkable_title Tipps %}
|
||||||
|
|
||||||
- Use motion only in a customer area with [crop filter](https://ffmpeg.org/ffmpeg-filters.html#crop):
|
- Use motion only in a customer area with [crop filter](https://ffmpeg.org/ffmpeg-filters.html#crop):
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
extra_arguments: -filter:v "crop=100:100:12:34"
|
extra_arguments: -filter:v "crop=100:100:12:34"
|
48
source/_components/binary_sensor.ffmpeg_noise.markdown
Normal file
48
source/_components/binary_sensor.ffmpeg_noise.markdown
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "FFmpeg Noise Binary Sensor"
|
||||||
|
description: "Instructions on how to integrate an FFmpeg-based noise binary sensor"
|
||||||
|
date: 2016-08-25 08:00
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
logo: ffmpeg.png
|
||||||
|
ha_category: Binary Sensor
|
||||||
|
ha_release: 0.27
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant.
|
||||||
|
|
||||||
|
<p class='note'>
|
||||||
|
If the `ffmpeg` process is broken, the sensor will be unavailable. To controll the ffmpeg process of sensor, use the service *ffmpeg.start*, *ffmpeg.stop*, *ffmpeg.restart*.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
### {% linkable_title Noise %}
|
||||||
|
|
||||||
|
To add FFmpeg with noise detection to your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
binary_sensor:
|
||||||
|
- platform: ffmpeg
|
||||||
|
input: FFMPEG_SUPPORTED_INPUT
|
||||||
|
```
|
||||||
|
|
||||||
|
Configuration variables:
|
||||||
|
|
||||||
|
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed.
|
||||||
|
- **name** (*Optional*): Override the name of your camera.
|
||||||
|
- **initial_state** (*Optional*): Default true. Start ffmpeg with home-assistant.
|
||||||
|
- **peak** (*Optional*): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low.
|
||||||
|
- **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state.
|
||||||
|
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak.
|
||||||
|
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering.
|
||||||
|
- **output** (*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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ ffmpeg -i YOUR_INPUT -vn -filter:a silencedetect=n=-30dB:d=1 -f null -
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user