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

## {% 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
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
```
