2024-11-27 18:57:16 +01:00

3.9 KiB

title description ha_category ha_release ha_domain ha_platforms ha_integration_type related ha_quality_scale
Camera Proxy Instructions on how to integrate a camera proxy within Home Assistant.
Camera
0.65 proxy
camera
integration
docs title
/docs/configuration/ Configuration file
legacy

The proxy camera {% term integration %} 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 {% term "configuration.yaml" %} file. {% include integrations/restart_ha_after_config_inclusion.md %}

# 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 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:

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