2018-10-03 12:42:57 +02:00

157 lines
4.7 KiB
Markdown

---
layout: page
title: "Amcrest IP Camera"
description: "Instructions on how to integrate Amcrest IP cameras within Home Assistant."
date: 2017-06-24 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: amcrest.png
ha_category: Hub
ha_iot_class: "Local Polling"
ha_release: 0.49
---
The `amcrest` camera platform allows you to integrate your
[Amcrest](https://amcrest.com/) IP camera in Home Assistant.
## {% linkable_title Configuration %}
To enable your camera in your installation,
add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
amcrest:
- host: IP_ADDRESS_CAMERA_1
username: YOUR_USERNAME
password: YOUR_PASSWORD
sensors:
- motion_detector
- sdcard
switches:
- motion_detection
- motion_recording
- host: IP_ADDRESS_CAMERA_2
username: YOUR_USERNAME
password: YOUR_PASSWORD
resolution: low
stream_source: snapshot
sensors:
- ptz_preset
```
{% configuration %}
host:
description: >
The IP address or hostname of your camera.
If using a hostname, make sure the DNS works as expected.
required: true
type: string
username:
description: The username for accessing your camera.
required: true
type: string
password:
description: The password for accessing your camera.
required: true
type: string
name:
description: >
This parameter allows you to override the name of your camera. In the case of multi-camera setups,
this is highly recommended as camera id number will be randomly changed at each reboot if a name is not allocated.
required: false
type: string
default: Amcrest Camera
port:
description: The port that the camera is running on.
required: false
type: integer
default: 80
resolution:
description: >
This parameter allows you to specify the camera resolution.
For a high resolution (1080/720p), specify the option `high`.
For VGA resolution (640x480p), specify the option `low`.
required: false
type: string
default: high
stream_source:
description: >
The data source for the live stream. `mjpeg` will use the camera's native
MJPEG stream, whereas `snapshot` will use the camera's snapshot API to
create a stream from still images. You can also set the `rtsp` option to
generate the streaming via RTSP protocol.
required: false
type: string
default: snapshot
ffmpeg_arguments:
description: >
Extra options to pass to ffmpeg, e.g.,
image quality or video filter options.
required: false
type: string
authentication:
description: >
Defines which authentication method to use only when **stream_source**
is **mjpeg**. Currently, *aiohttp* only support *basic*.
required: false
type: string
default: basic
scan_interval:
description: Defines the update interval of the sensor in seconds.
required: false
type: integer
default: 10
sensors:
description: >
Conditions to display in the frontend.
The following conditions can be monitored:
required: false
type: list
default: None
keys:
motion_detector:
description: "Return `true`/`false` when a motion is detected."
sdcard:
description: Return the SD card usage by reporting the total and used space.
ptz_preset:
description: >
Return the number of PTZ preset positions
configured for the given camera.
switches:
description: >
Switches to display in the frontend.
The following switches can be monitored:
required: false
type: list
default: None
keys:
motion_detection:
description: Enable/disable motion detection setting.
motion_recording:
description: Enable/disable recording on motion detection setting.
{% endconfiguration %}
**Note:** Amcrest cameras with newer firmware no longer have the ability to
stream `high` definition video with MJPEG encoding. You may need to use `low`
resolution stream or the `snapshot` stream source instead. If the quality seems
too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in
your camera's configuration manager. If you defined the *stream_source* to
**mjpeg**, make sure your camera supports *Basic* HTTP authentication.
Newer Amcrest firmware may not work, then **rtsp** is recommended instead.
**Note:** If you set the `stream_source` option to `rtsp`,
make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/)
documentation to install the `ffmpeg`.
Finish its configuration by visiting the
[Amcrest sensor page](/components/sensor.amcrest/) or
[Amcrest camera page](/components/camera.amcrest/).
To check if your Amcrest camera is supported/tested, visit the
[supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix)
link from the `python-amcrest` project.