Rename frigate-jsmpeg to jsmpeg.

This commit is contained in:
Dermot Duffy
2023-02-18 13:08:07 -08:00
parent f67c3252e7
commit 9ed3543023
9 changed files with 31 additions and 22 deletions
+1 -1
View File
@@ -18,7 +18,7 @@
"cameras": [ "cameras": [
{ {
"camera_entity": "camera.big_buck_bunny", "camera_entity": "camera.big_buck_bunny",
"live_provider": "frigate-jsmpeg", "live_provider": "jsmpeg",
"id": "big_buck_bunny_jsmpeg" "id": "big_buck_bunny_jsmpeg"
}, },
{ {
+15 -12
View File
@@ -120,7 +120,7 @@ See the [fully expanded cameras configuration example](#config-expanded-cameras)
|`ha` (when configured with LL-HLS)|Better|High|Better|Builtin|Use the built-in Home Assistant camera streams -- can be configured to use an [LL-HLS](https://www.home-assistant.io/integrations/stream/#ll-hls) feed for lower latency.| |`ha` (when configured with LL-HLS)|Better|High|Better|Builtin|Use the built-in Home Assistant camera streams -- can be configured to use an [LL-HLS](https://www.home-assistant.io/integrations/stream/#ll-hls) feed for lower latency.|
|`ha` (Native WebRTC)|Best|High|Better|Builtin|Use the built-in Home Assistant camera streams -- can be configured to use [native WebRTC](https://www.home-assistant.io/integrations/rtsp_to_webrtc/) offering a very low-latency feed direct to your browser.| |`ha` (Native WebRTC)|Best|High|Better|Builtin|Use the built-in Home Assistant camera streams -- can be configured to use [native WebRTC](https://www.home-assistant.io/integrations/rtsp_to_webrtc/) offering a very low-latency feed direct to your browser.|
|`image`|Poor|Poor|Best|Builtin|Use refreshing snapshots of the built-in Home Assistant camera streams.| |`image`|Poor|Poor|Best|Builtin|Use refreshing snapshots of the built-in Home Assistant camera streams.|
|`frigate-jsmpeg`|Better|Low|Poor|Builtin|Stream the JSMPEG stream from Frigate (proxied via the Frigate integration). See [note below on the required integration version](#jsmpeg-troubleshooting) for this live provider to function. This is the only live provider that can view the Frigate `birdseye` view.| |`jsmpeg`|Better|Low|Poor|Builtin|Use a the JSMPEG stream.|
|`go2rtc`|Best|High|Better|Builtin|Uses [go2rtc](https://github.com/AlexxIT/go2rtc) to stream live feeds. This is supported by Frigate >= `0.12`.| |`go2rtc`|Best|High|Better|Builtin|Uses [go2rtc](https://github.com/AlexxIT/go2rtc) to stream live feeds. This is supported by Frigate >= `0.12`.|
|`webrtc-card`|Best|High|Better|Separate installation required|Embed's [AlexxIT's WebRTC Card](https://github.com/AlexxIT/WebRTC) to stream live feed, requires manual extra setup, see [below](#webrtc). Not to be confused with native Home Assistant WebRTC (use `ha` provider above).| |`webrtc-card`|Best|High|Better|Separate installation required|Embed's [AlexxIT's WebRTC Card](https://github.com/AlexxIT/WebRTC) to stream live feed, requires manual extra setup, see [below](#webrtc). Not to be confused with native Home Assistant WebRTC (use `ha` provider above).|
@@ -128,11 +128,20 @@ See the [fully expanded cameras configuration example](#config-expanded-cameras)
#### Available Camera Engines #### Available Camera Engines
##### Engine Capabilities
|Engine|Live|Supports clips|Supports Snapshots|Supports Recordings|Supports Timeline|Favorite events|Favorite recordings| |Engine|Live|Supports clips|Supports Snapshots|Supports Recordings|Supports Timeline|Favorite events|Favorite recordings|
| - | - | - | - | - | - | - | - | | - | - | - | - | - | - | - | - |
|`frigate`| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :heavy_multiplication_x: | |`frigate`| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :heavy_multiplication_x: |
|`generic`| :white_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: | |`generic`| :white_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_multiplication_x: |
##### Live providers supported per Engine
|Engine / Live Provider|`ha`|`image`|`jsmpeg`|`go2rtc`|`webrtc-card`|
| - | - | - | - | - | - |
|`frigate`| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|`generic`| :white_check_mark: | :white_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | :white_check_mark: |
<a name="camera-frigate-configuration"></a> <a name="camera-frigate-configuration"></a>
#### Camera Frigate configuration #### Camera Frigate configuration
@@ -146,7 +155,7 @@ cameras:
| Option | Default | Overridable | Description | | Option | Default | Overridable | Description |
| - | - | - | - | | - | - | - | - |
| `camera_name` | Autodetected from `camera_entity` if that is specified. | :heavy_multiplication_x: | The Frigate camera name to use when communicating with the Frigate server, e.g. for viewing clips/snapshots or the JSMPEG live view. To view the birdseye view set this to `birdseye` and use the `frigate-jsmpeg` live provider.| | `camera_name` | Autodetected from `camera_entity` if that is specified. | :heavy_multiplication_x: | The Frigate camera name to use when communicating with the Frigate server, e.g. for viewing clips/snapshots or the JSMPEG live view.|
| `url` | | :heavy_multiplication_x: | The URL of the frigate server. If set, this value will be (exclusively) used for a `Frigate UI` menu button. All other communication with Frigate goes via Home Assistant. | | `url` | | :heavy_multiplication_x: | The URL of the frigate server. If set, this value will be (exclusively) used for a `Frigate UI` menu button. All other communication with Frigate goes via Home Assistant. |
| `label` | | :heavy_multiplication_x: | A Frigate label / object filter used to filter events (clips & snapshots), e.g. `person`.| | `label` | | :heavy_multiplication_x: | A Frigate label / object filter used to filter events (clips & snapshots), e.g. `person`.|
| `zone` | | :heavy_multiplication_x: | A Frigate zone used to filter events (clips & snapshots), e.g. `front_door`.| | `zone` | | :heavy_multiplication_x: | A Frigate zone used to filter events (clips & snapshots), e.g. `front_door`.|
@@ -352,7 +361,7 @@ See the [fully expanded live configuration example](#config-expanded-live) for h
| `show_image_during_load` | `true` | :white_check_mark: | If `true`, during the initial stream load, the `image` live provider will be shown instead of the loading video stream. This still image will auto-refresh and is replaced with the live stream once loaded. | | `show_image_during_load` | `true` | :white_check_mark: | If `true`, during the initial stream load, the `image` live provider will be shown instead of the loading video stream. This still image will auto-refresh and is replaced with the live stream once loaded. |
| `actions` | | :white_check_mark: | Actions to use for the `live` view. See [actions](#actions) below.| | `actions` | | :white_check_mark: | Actions to use for the `live` view. See [actions](#actions) below.|
| `controls` | | :white_check_mark: | Configuration for the `live` view controls. See below. | | `controls` | | :white_check_mark: | Configuration for the `live` view controls. See below. |
| `jsmpeg` | | :white_check_mark: | Configuration for the `frigate-jsmpeg` live provider. See below.| | `jsmpeg` | | :white_check_mark: | Configuration for the `jsmpeg` live provider. See below.|
| `webrtc_card` | | :white_check_mark: | Configuration for the `webrtc-card` live provider. See below.| | `webrtc_card` | | :white_check_mark: | Configuration for the `webrtc-card` live provider. See below.|
| `layout` | | :white_check_mark: | See [media layout](#media-layout) below.| | `layout` | | :white_check_mark: | See [media layout](#media-layout) below.|
@@ -2298,7 +2307,7 @@ to provide a separate unambiguous way of referring to that camera, since the
type: custom:frigate-card type: custom:frigate-card
cameras: cameras:
- camera_entity: camera.front_door - camera_entity: camera.front_door
live_provider: frigate-jsmpeg live_provider: jsmpeg
title: Front Door (JSMPEG) title: Front Door (JSMPEG)
- camera_entity: camera.front_door - camera_entity: camera.front_door
live_provider: webrtc-card live_provider: webrtc-card
@@ -3166,7 +3175,7 @@ Using a `panel` dashboard with the following base configuration will result in t
type: custom:frigate-card type: custom:frigate-card
cameras: cameras:
- camera_entity: camera.front_door - camera_entity: camera.front_door
live_provider: frigate-jsmpeg live_provider: jsmpeg
dimensions: dimensions:
aspect_ratio: 1024:600 aspect_ratio: 1024:600
aspect_ratio_mode: static aspect_ratio_mode: static
@@ -3208,12 +3217,6 @@ For some slowly loading cameras, for which [Home Assistant stream preloading](ht
<a name="jsmpeg-troubleshooting"></a> <a name="jsmpeg-troubleshooting"></a>
### JSMPEG Live Camera Only Shows A 'spinner'
You must be using a version of the [Frigate integration](https://github.com/blakeblackshear/frigate-hass-integration) >= 2.1.0
to use JSMPEG proxying. The `frigate-jsmpeg` live provider will not work with earlier
integration versions.
### Timeline shows error message ### Timeline shows error message
If the timeline shows a message such as `Failed to receive response from Home If the timeline shows a message such as `Failed to receive response from Home
@@ -3255,7 +3258,7 @@ possible in carousels that use the Firefox video player (e.g. `clips` carousel,
or live views that use the `frigate` or `webrtc-card` provider). The next and or live views that use the `frigate` or `webrtc-card` provider). The next and
previous buttons may be used to navigate in these instances. previous buttons may be used to navigate in these instances.
Dragging works as expected for snapshots, or for the `frigate-jsmpeg` provider. Dragging works as expected for snapshots, or for the `jsmpeg` provider.
### Progress bar cannot be dragged in Safari ### Progress bar cannot be dragged in Safari
+3 -3
View File
@@ -747,7 +747,7 @@ export class FrigateCardLiveProvider extends LitElement {
return 'ha'; return 'ha';
} }
} else if (this.cameraConfig?.frigate.camera_name) { } else if (this.cameraConfig?.frigate.camera_name) {
return 'frigate-jsmpeg'; return 'jsmpeg';
} }
return frigateCardConfigDefaults.cameras.live_provider; return frigateCardConfigDefaults.cameras.live_provider;
} }
@@ -799,7 +799,7 @@ export class FrigateCardLiveProvider extends LitElement {
} }
if (changedProps.has('cameraConfig')) { if (changedProps.has('cameraConfig')) {
const provider = this._getResolvedProvider(); const provider = this._getResolvedProvider();
if (provider === 'frigate-jsmpeg') { if (provider === 'jsmpeg') {
import('./live-jsmpeg.js'); import('./live-jsmpeg.js');
} else if (provider === 'ha') { } else if (provider === 'ha') {
import('./live-ha.js'); import('./live-ha.js');
@@ -881,7 +881,7 @@ export class FrigateCardLiveProvider extends LitElement {
@frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)}
> >
</frigate-card-live-webrtc-card>` </frigate-card-live-webrtc-card>`
: provider === 'frigate-jsmpeg' : provider === 'jsmpeg'
? html` <frigate-card-live-jsmpeg ? html` <frigate-card-live-jsmpeg
${ref(this._providerRef)} ${ref(this._providerRef)}
class=${classMap(providerClasses)} class=${classMap(providerClasses)}
+6
View File
@@ -735,4 +735,10 @@ const UPGRADES = [
typeof data === 'object' && data ? <RawFrigateCardConfig>data : {}, typeof data === 'object' && data ? <RawFrigateCardConfig>data : {},
); );
}, },
upgradeArrayValue(
CONF_CAMERAS,
upgradeWithOverrides('live_provider', (val) =>
val === 'frigate-jsmpeg' ? 'jsmpeg' : val,
),
),
]; ];
+2 -2
View File
@@ -1197,8 +1197,8 @@ export class FrigateCardEditor extends LitElement implements LovelaceCardEditor
label: localize('config.cameras.live_providers.image'), label: localize('config.cameras.live_providers.image'),
}, },
{ {
value: 'frigate-jsmpeg', value: 'jsmpeg',
label: localize('config.cameras.live_providers.frigate-jsmpeg'), label: localize('config.cameras.live_providers.jsmpeg'),
}, },
{ {
value: 'go2rtc', value: 'go2rtc',
+1 -1
View File
@@ -38,7 +38,7 @@
"live_provider": "Live view provider for this camera", "live_provider": "Live view provider for this camera",
"live_providers": { "live_providers": {
"auto": "Automatic", "auto": "Automatic",
"frigate-jsmpeg": "Frigate JSMpeg", "jsmpeg": "JSMpeg",
"go2rtc": "go2rtc", "go2rtc": "go2rtc",
"ha": "Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)", "ha": "Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",
"image": "Home Assistant images", "image": "Home Assistant images",
+1 -1
View File
@@ -28,7 +28,7 @@
"live_provider": "Provider di visualizzazione dal vivo per questa telecamera", "live_provider": "Provider di visualizzazione dal vivo per questa telecamera",
"live_providers": { "live_providers": {
"auto": "Automatica", "auto": "Automatica",
"frigate-jsmpeg": "Frigate JSMpeg", "jsmpeg": "JSMpeg",
"go2rtc": "", "go2rtc": "",
"ha": "", "ha": "",
"image": "", "image": "",
+1 -1
View File
@@ -28,7 +28,7 @@
"live_provider": "Provedor de visualização ao vivo para esta câmera", "live_provider": "Provedor de visualização ao vivo para esta câmera",
"live_providers": { "live_providers": {
"auto": "Automatico", "auto": "Automatico",
"frigate-jsmpeg": "Frigate JSMpeg", "jsmpeg": "JSMpeg",
"go2rtc": "", "go2rtc": "",
"ha": "", "ha": "",
"image": "", "image": "",
+1 -1
View File
@@ -70,7 +70,7 @@ const LIVE_PROVIDERS = [
'auto', 'auto',
'image', 'image',
'ha', 'ha',
'frigate-jsmpeg', 'jsmpeg',
'go2rtc', 'go2rtc',
'webrtc-card', 'webrtc-card',
] as const; ] as const;