2.6 KiB
layout, title, description, date, sidebar, comments, sharing, footer, logo, ha_category, ha_release
layout | title | description | date | sidebar | comments | sharing | footer | logo | ha_category | ha_release |
---|---|---|---|---|---|---|---|---|---|---|
page | FFmpeg Camera | Instructions how to integrate a Video fees with FFmpeg as cameras within Home Assistant. | 2016-08-13 08:00 | true | false | true | true | ffmpeg.png | Camera | 0.26 |
The ffmpeg
platform allows you to use every video feed with FFmpeg as camera in Home Assistant.
You need a `ffmpeg` binary in your system path. On Debain 8 you can install it from backports. If you want Hardware support on a Raspberry Pi you need tobuild from source by yourself. Windows binary are avilable on the [FFmpeg](http://www.ffmpeg.org/) website.
To enable your FFmpeg feed in your installation, add the following to your configuration.yaml
file:
# Example configuration.yaml entry
camera:
- platform: ffmpeg
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg
ffmpeg_bin: /usr/bin/ffmpeg
extra_arguments: -q:v 2
Configuration variables:
- input (Required): A ffmpeg compatible input file, stream or feed.
- name (Optional): This parameter allows you to override the name of your camera.
- ffmpeg_bin (Optional): Default 'ffmpeg'.
- extra_arguments (Optional): Extra option they will pass to
ffmpeg
. i.e. image quality or video filter options.
{% linkable_title Image quality %}
You can control the image quality
with extra_arguments
-q:v 2-32
or with lossless option -pred 1
.
{% linkable_title Troubleshooting %}
In most of case, ffmpeg
autodetect all needed options to read a video/audio stream or file. But it is possible in rare cases that's needed to set a option to help ffmpeg
. Per default ffmpeg
use 5 seconds to detect all options or abort.
First check, if your stream playable by ffmpeg
with (use option -an
or -vn
to disable video or audio stream):
$ ffmpeg -i INPUT -an -f null -
Now you can see what going wrong. Following list could be help to solve your trouble:
[rtsp @ ...] UDP timeout, retrying with TCP
: You need to set RTSP transport in the configuration with:input: -rtsp_transport tcp -i INPUT
[rtsp @ ...] Could not find codec parameters for stream 0 (Video: ..., none): unspecified size
: FFmpeg need more data or time for autodetect. You can set theanalyzeduration
and/orprobesize
option, play with this value. If you know the needed value you can set it with:input: -analyzeduration xy -probesize xy tcp -i INPUT
. More information about that can be found on FFmpeg.