mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-29 14:26:50 +00:00

* Extended documentation for proxy camera to include PR 18431 https://github.com/home-assistant/home-assistant/pull/18431 * Further refinements * ✏️ Tweak
121 lines
3.7 KiB
Markdown
121 lines
3.7 KiB
Markdown
---
|
|
layout: page
|
|
title: "Camera Proxy"
|
|
description: "Instructions on how to integrate a camera proxy within Home Assistant."
|
|
date: 2018-03-08 19:00
|
|
sidebar: true
|
|
comments: false
|
|
sharing: true
|
|
footer: true
|
|
ha_category: Camera
|
|
ha_release: 0.65
|
|
---
|
|
|
|
The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output.
|
|
|
|
The current post-processing supports resizing and/or cropping the image/MJPEG as well as limiting the maximum refresh rate.
|
|
|
|
The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections.
|
|
|
|
## {% linkable_title Configuration %}
|
|
|
|
To enable this camera in your installation, you must first have an existing working camera configured in Home Assistant. Next, add the following to your `configuration.yaml` file:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
camera:
|
|
- platform: proxy
|
|
entity_id: camera.<existingcamera>
|
|
max_stream_width: 360
|
|
max_image_width: 720
|
|
```
|
|
|
|
{% configuration %}
|
|
entity_id:
|
|
description: The ID of another Home Assistant camera to post-process.
|
|
required: true
|
|
type: string
|
|
name:
|
|
description: This parameter allows you to override the name of your camera.
|
|
required: false
|
|
type: string
|
|
mode:
|
|
description: The operating mode, either `resize` or `crop`.
|
|
required: false
|
|
type: string
|
|
default: resize
|
|
max_image_width:
|
|
description: The maximum width of single images taken from the camera (aspect ratio will be maintained on resize processing).
|
|
required: false
|
|
type: integer
|
|
max_image_height:
|
|
description: The maximum height of single images taken from the camera, only used for crop operations. If not provided, the original height is assumed by default.
|
|
required: false
|
|
type: integer
|
|
max_stream_width:
|
|
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained on resize processing).
|
|
required: false
|
|
type: integer
|
|
max_stream_height:
|
|
description: The maximum height of the MJPEG stream from the camera, only used for crop operations. If not provided, the original height is assumed by default.
|
|
required: false
|
|
type: integer
|
|
image_top:
|
|
description: The top (y) coordinate to be used as a starting point for crop operations.
|
|
required: false
|
|
type: integer
|
|
default: 0
|
|
image_left:
|
|
description: The left (x) coordinate to be used as a starting point for crop operations.
|
|
required: false
|
|
type: integer
|
|
default: 0
|
|
image_quality:
|
|
description: The quality level used for resulting JPEG for snapshots.
|
|
required: false
|
|
type: integer
|
|
default: 75
|
|
stream_quality:
|
|
description: The quality level used for resulting MJPEG streams.
|
|
required: false
|
|
type: integer
|
|
default: 75
|
|
image_refresh_rate:
|
|
description: The minimum time in seconds between generating successive image snapshots.
|
|
required: false
|
|
type: float
|
|
force_resize:
|
|
description: Resize the image even if the resulting image would take up more bandwidth than the original.
|
|
required: false
|
|
type: boolean
|
|
cache_images:
|
|
description: Preserve the last image and re-send in the case the camera is not responding.
|
|
required: false
|
|
type: boolean
|
|
{% endconfiguration %}
|
|
|
|
## {% linkable_title Examples %}
|
|
|
|
Example of using two Camera proxies along with a Foscam camera:
|
|
|
|
```yaml
|
|
camera:
|
|
- platform: foscam
|
|
ip: 192.168.1.10
|
|
username: foscam_camera
|
|
password: camera_password
|
|
name: mycamera
|
|
- platform: proxy
|
|
entity_id: camera.mycamera
|
|
max_stream_width: 360
|
|
max_image_width: 480
|
|
image_refresh_rate: 5.0
|
|
- platform: proxy
|
|
entity_id: camera.mycamera
|
|
name: My cropped camera
|
|
mode: crop
|
|
max_image_width: 480
|
|
max_image_height: 320
|
|
image_left: 100
|
|
```
|