---
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 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.

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
  max_image_width:
    description: The maximum width of single images taken from the camera (aspect ratio will be maintained).
    required: false
    type: integer
  max_stream_width:
    description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained).
    required: false
    type: integer
  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 a Camera proxy 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
```
