diff --git a/README.md b/README.md index 87c37b06..21f905d4 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ See the [fully expanded cameras configuration example](#config-expanded-cameras) | `dependencies` | | :white_check_mark: | Other cameras that this camera should depend upon. See [camera dependencies](#camera-dependencies-configuration) below. | | `triggers` | | :white_check_mark: | Define what should cause this camera to update/trigger. See [camera triggers](#camera-trigger-configuration) below. | | `webrtc_card` | | :white_check_mark: | The WebRTC entity/URL to use for this camera with the `webrtc-card` live provider. See below. | +| `cast` | | :white_check_mark: | Configuration that controls how this camera is "casted" / sent to media players. See below. | @@ -332,6 +333,35 @@ cameras: | `occupancy` | `true` | :white_check_mark: | Whether to not to trigger the camera by automatically detecting and using the occupancy `binary_sensor` for this camera and its configured zones and labels. This autodetection only works for Frigate cameras, and only when the occupancy `binary_sensor` entity has been enabled in Home Assistant. If this camera has configured zones, only occupancy sensors for those zones are used -- if the overall _camera_ occupancy sensor is also required, it can be manually added to `entities`. If this camera has configured labels, only occupancy sensors for those labels are used.| | `entities` | | :white_check_mark: | Whether to not to trigger the camera when the state of any Home Assistant entity becomes active (i.e. state becomes `on` or `open`). This works for Frigate or non-Frigate cameras.| +#### Camera Cast Configuration + +The `cast` block configures what how a camera is cast / sent to media players. + +```yaml +cameras: + - cast: +``` + +| Option | Default | Overridable | Description | +| - | - | - | - | +| `method` | `standard` | :white_check_mark: | Whether to use `standard` media casting to send the live view to your media player, or to instead cast a `dashboard` you have manually setup. Casting a dashboard supports a much wider variety of video media, including low latency video providers (e.g. `go2rtc`). This setting has no effect on casting non-live media. | +| `dashboard` | | :white_check_mark: | Configuration for the dashboard to cast. See below. | + +See the [dashboard method cast example](#cast-dashboard-example). + +#### Camera Cast Dashboard Configuration + +```yaml +cameras: + - cast: + dashboard: +``` + +| Option | Default | Overridable | Description | +| - | - | - | - | +| `dashboard_path` | | :white_check_mark: | A required field that specifies the name of the dashboard to cast. You can see this name in your HA URL when you visit the dashboard. | +| `view_path` | | :white_check_mark: | A required field that specifies view/"tab" on that dashboard to cast. This is the value you have specified in the `url` field of the view configuration on the dashboard. | + #### Camera IDs: Referring to cameras in card configuration @@ -1673,8 +1703,6 @@ Pan around a large camera view to only show part of the video feed in the card a ## Examples -## Examples - ### Illustrative Expanded Configuration Reference **Caution**: 🚩 Just copying this full reference into your configuration will cause you a significant maintenance burden. Don't do it! Please only specify what you need as defaults can / do change continually as this card develops. Almost all the values shown here are the defaults (except in cases where is no default, parameters are added here for illustrative purposes). @@ -1710,6 +1738,8 @@ cameras: occupancy: true entities: - binary_sensor.front_door_sensor + cast: + method: standard - camera_entity: camera.entrance live_provider: webrtc-card engine: auto @@ -1747,6 +1777,11 @@ cameras: - mjpeg stream: sitting_room url: 'https://my.custom.go2rtc.backend' + cast: + method: dashboard + dashboard: + dashboard_path: cast + view_path: front-door - camera_entity: camera.sitting_room_webrtc_card live_provider: webrtc_card webrtc_card: @@ -3942,6 +3977,49 @@ overrides: ``` + + +### `dashboard` cast method + +
+ Expand: Using the `dashboard` cast method to cast a low latency live provider + +This example will configure a Frigate card that can cast a dashboard view to a media player, which has a second Frigate card in panel mode with a low-latency live provider. + +#### Source card + +```yaml +type: custom:frigate-card +cameras: + - camera_entity: camera.front_door + cast: + method: dashboard + dashboard: + dashboard_path: cast + view_path: front-door +``` + +#### Dashboard configuration + +This dashboard is configured at the path `/cast/` (path referred to in `dashboard_path` above). + +```yaml +title: Frigate Card Casting +views: + - title: Casting + # This path is referred to in `view_path` above. + path: front-door + # Ensure the video is "maximized" + type: panel + cards: + - type: custom:frigate-card + cameras: + - camera_entity: camera.front_door + live_provider: go2rtc +``` + +
+ ## Card Refreshes