home-assistant.io/source/_components/camera.proxy.markdown
Giuseppe 4935d9d704 Extended documentation for proxy camera to include PR 18431 (#7491)
* Extended documentation for proxy camera to include PR 18431

https://github.com/home-assistant/home-assistant/pull/18431

* Further refinements

* ✏️ Tweak
2018-12-05 09:02:46 +01:00

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