
* Extended documentation for proxy camera to include PR 18431 https://github.com/home-assistant/home-assistant/pull/18431 * Further refinements * ✏️ Tweak
3.7 KiB
layout | title | description | date | sidebar | comments | sharing | footer | ha_category | ha_release |
---|---|---|---|---|---|---|---|---|---|
page | Camera Proxy | Instructions on how to integrate a camera proxy within Home Assistant. | 2018-03-08 19:00 | true | false | true | true | Camera | 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:
# 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:
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