--- title: Camera Proxy description: Instructions on how to integrate a camera proxy within Home Assistant. ha_category: - Camera ha_release: 0.65 ha_domain: proxy ha_platforms: - camera ha_integration_type: integration --- 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. ## 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. 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 default: false cache_images: description: Preserve the last image and re-send in the case the camera is not responding. required: false type: boolean default: false {% endconfiguration %} ## 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 max_stream_width: 480 max_stream_height: 320 image_left: 100 ```