Site updated at 2016-10-02 21:55:54 UTC
This commit is contained in:
parent
9837e32d9b
commit
92bfa98c80
23 changed files with 63 additions and 59 deletions
|
@ -9,7 +9,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>FFmpeg Binary Sensor - Home Assistant</title>
|
||||
<meta name="author" content="Home Assistant">
|
||||
<meta name="description" content="Instructions how to integrate a varius ffmpeg based binary sensor">
|
||||
<meta name="description" content="Instructions on how to integrate an FFmpeg-based binary sensor">
|
||||
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="canonical" href="https://home-assistant.io/components/binary_sensor.ffmpeg/">
|
||||
|
@ -19,14 +19,14 @@
|
|||
<meta property="og:site_name" content="Home Assistant">
|
||||
<meta property="og:url" content="https://home-assistant.io/components/binary_sensor.ffmpeg/">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:description" content="Instructions how to integrate a varius ffmpeg based binary sensor">
|
||||
<meta property="og:description" content="Instructions on how to integrate an FFmpeg-based binary sensor">
|
||||
<meta property="og:image" content="https://home-assistant.io/images/default-social.png">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@home_assistant">
|
||||
|
||||
<meta name="twitter:title" content="FFmpeg Binary Sensor">
|
||||
<meta name="twitter:description" content="Instructions how to integrate a varius ffmpeg based binary sensor">
|
||||
<meta name="twitter:description" content="Instructions on how to integrate an FFmpeg-based binary sensor">
|
||||
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
|
||||
|
||||
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
|
||||
|
@ -89,11 +89,15 @@
|
|||
<hr class="divider">
|
||||
|
||||
|
||||
<p>The <code class="highlighter-rouge">ffmpeg</code> platform allows you to use every video or audio feed with <a href="http://www.ffmpeg.org/">FFmpeg</a> for various sensors in Home Assistant. Available are: <strong>noise</strong>, <strong>motion</strong>. If the <code class="highlighter-rouge">ffmpeg</code> process is broken, the sensor will be unavailable. To restart the instance, use the service <em>binary_sensor.ffmpeg_restart</em>.</p>
|
||||
<p>The <code class="highlighter-rouge">ffmpeg</code> platform allows you to use any video or audio feed with <a href="http://www.ffmpeg.org/">FFmpeg</a> for various sensors in Home Assistant. Available are: <strong>noise</strong>, <strong>motion</strong>.</p>
|
||||
|
||||
<p class="note">
|
||||
If the <code class="highlighter-rouge">ffmpeg</code> process is broken, the sensor will be unavailable. To restart it, use the service <em>binary_sensor.ffmpeg_restart</em>.
|
||||
</p>
|
||||
|
||||
<h3><a class="title-link" name="noise" href="#noise"></a> Noise</h3>
|
||||
|
||||
<p>To enable your FFmpeg with noise detection in your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
|
||||
<p>To add FFmpeg with noise detection to your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
|
||||
|
||||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
|
||||
<span class="s">binary_sensor</span><span class="pi">:</span>
|
||||
|
@ -110,17 +114,17 @@
|
|||
<p>Configuration variables:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>input</strong> (<em>Required</em>): A ffmpeg compatible input file, stream or feed.</li>
|
||||
<li><strong>tool</strong> (<em>Required</em>): Is fix set to <code class="highlighter-rouge">noise</code>.</li>
|
||||
<li><strong>name</strong> (<em>Optional</em>): This parameter allows you to override the name of your camera.</li>
|
||||
<li><strong>peak</strong> (<em>Optional</em>): Default -30. A peak of dB to detect it as noise. 0 is very loud and -100 is low.</li>
|
||||
<li><strong>duration</strong> (<em>Optional</em>): Default 1 seconds. How long need the noise over the peak to trigger the state.</li>
|
||||
<li><strong>reset</strong> (<em>Optional</em>): Defaults to 20 seconds. The time to reset the state after none new noise is over the peak.</li>
|
||||
<li><strong>extra_arguments</strong> (<em>Optional</em>): Extra option they will pass to <code class="highlighter-rouge">ffmpeg</code>, like audio frequence filtering.</li>
|
||||
<li><strong>output</strong> (<em>Optional</em>): Allow you to send the audio output of this sensor to an icecast server or other ffmpeg supported output, eg. to stream with sonos after state is triggered.</li>
|
||||
<li><strong>input</strong> (<em>Required</em>): An FFmpeg-compatible input file, stream, or feed.</li>
|
||||
<li><strong>tool</strong> (<em>Required</em>): <code class="highlighter-rouge">noise</code>.</li>
|
||||
<li><strong>name</strong> (<em>Optional</em>): Override the name of your camera.</li>
|
||||
<li><strong>peak</strong> (<em>Optional</em>): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low.</li>
|
||||
<li><strong>duration</strong> (<em>Optional</em>): Default 1 second. How long the noise needs to be over the peak to trigger the state.</li>
|
||||
<li><strong>reset</strong> (<em>Optional</em>): Default 20 seconds. The time to reset the state after no new noise is over the peak.</li>
|
||||
<li><strong>extra_arguments</strong> (<em>Optional</em>): Extra options to pass to <code class="highlighter-rouge">ffmpeg</code>, like audio frequency filtering.</li>
|
||||
<li><strong>output</strong> (<em>Optional</em>): 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.</li>
|
||||
</ul>
|
||||
|
||||
<p>For playing with values:</p>
|
||||
<p>To experiment with values:</p>
|
||||
|
||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ffmpeg -i YOUR_INPUT -vn -filter:a <span class="nv">silencedetect</span><span class="o">=</span><span class="nv">n</span><span class="o">=</span>-30dB:d<span class="o">=</span>1 -f null -
|
||||
</code></pre>
|
||||
|
@ -128,9 +132,9 @@
|
|||
|
||||
<h3><a class="title-link" name="motion" href="#motion"></a> Motion</h3>
|
||||
|
||||
<p>FFmpeg doesn’t have a motion detection filter, so it uses a scene filter to detect a new scene/motion. In fact, you can set how big of an object or the size of an image that needs to change in order to detect motion. The option ‘changes’ is the percent value of change between frames. You can add a denoise filter to the video if you want a really small value for ‘changes’.</p>
|
||||
<p>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.</p>
|
||||
|
||||
<p>To enable your FFmpeg with motion detection in your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
|
||||
<p>To add FFmpeg with motion detection to your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
|
||||
|
||||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
|
||||
<span class="s">binary_sensor</span><span class="pi">:</span>
|
||||
|
@ -150,23 +154,23 @@
|
|||
<p>Configuration variables:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>input</strong> (<em>Required</em>): A ffmpeg compatible input file, stream, or feed.</li>
|
||||
<li><strong>tool</strong> (<em>Required</em>): Is fix set to <code class="highlighter-rouge">motion</code>.</li>
|
||||
<li><strong>name</strong> (<em>Optional</em>): This parameter allows you to override the name of your camera.</li>
|
||||
<li><strong>changes</strong> (<em>Optional</em>): Default 10 percent. A lower value is more sensitive. I use 4 / 3.5 on my cameras. It describes how much needs to change between two frames to detect it as motion. See on descripton.</li>
|
||||
<li><strong>input</strong> (<em>Required</em>): An FFmpeg-compatible input file, stream, or feed.</li>
|
||||
<li><strong>tool</strong> (<em>Required</em>): <code class="highlighter-rouge">motion</code>.</li>
|
||||
<li><strong>name</strong> (<em>Optional</em>): Override the name of your camera.</li>
|
||||
<li><strong>changes</strong> (<em>Optional</em>): Default 10%. How much needs to change between two frames to detect it as motion (a lower value is more sensitive).</li>
|
||||
<li><strong>reset</strong> (<em>Optional</em>): Default 20 seconds. The time to reset the state after no new motion is detected.</li>
|
||||
<li><strong>repeat</strong> (<em>Optional</em>): Default 0 repeats (deactivate). How many events need to be detected in <em>repeat_time</em> in order to trigger a motion.</li>
|
||||
<li><strong>repeat_time</strong> (<em>Optional</em>): Default 0 seconds (deactivate). The span of time <em>repeat</em> events need to occur in before triggering a motion.</li>
|
||||
<li><strong>extra_arguments</strong> (<em>Optional</em>): Extra option they will pass to ffmpeg. i.e. video denoise filtering.</li>
|
||||
<li><strong>extra_arguments</strong> (<em>Optional</em>): Extra options to pass to FFmpeg, e.g. video denoise filtering.</li>
|
||||
</ul>
|
||||
|
||||
<p>For playing with values (changes/100 is the scene value on ffmpeg):</p>
|
||||
<p>To experiment with values (changes/100 is the scene value in FFmpeg):</p>
|
||||
|
||||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ffmpeg -i YOUR_INPUT -an -filter:v <span class="k">select</span><span class="o">=</span>gt<span class="o">(</span>scene<span class="se">\,</span>0.1<span class="o">)</span> -f framemd5 -
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<p>If you are running into trouble with this sensor, please refer to this <a href="/components/ffmpeg/#troubleshooting">Troubleshooting section</a>.</p>
|
||||
<p>If you are running into trouble with this sensor, please refer to the <a href="/components/ffmpeg/#troubleshooting">troubleshooting section</a>.</p>
|
||||
|
||||
|
||||
</article>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue