Not all jsmpeg live-views show up on Android HA client
See original GitHub issueChecklist:
- [YES] I updated to the latest version available
- [YES] I cleared the cache of my browser
Release with the issue: frigate-hass-card v2.0.0 frigate integration v2.1.0 homeassistant (official docker) 2021.11.1
Last working release (if known):
Browser and Operating System: Android HA client (2021.10.0-full)
Description of problem:
On the phone, either via local wifi on same subnet or via ISP.
I have 7 Frigate-hass-card’s on a dedicated lovelace page so no other cards. If the live-source is set to just ‘frigate’, then all cards appear as expected and update accordingly. However when I change all the cards to ‘frigate-jsmpeg’, then some cards appear and update accordingly, but others just appear as transparent empty cards with a ‘sad smiley’ icon in the top left just behind the ‘F’ menu button on the card. This never happens with live-view ‘frigate’ cards, they always work, just with jsmpeg-live-view cards.
Now if I choose one of the other options in one of those empty cards, for example ‘snapshots/clips’, and then choose the ‘live’ button, suddenly the live feed appears.
This doesn’t happen on the desktop, in some cases there may be a delay on the desktop but they always start showing the feeds. However it seems that on the smartphone they time-out (the sad smiley face) I assume and don’t do anything from that point on unless you manually intervene and force the live-feed by cycling through another menu option and back via clicking the live-feed menu button in the card.
Javascript errors shown in the web inspector (if applicable):
*Additional information:
*
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (4 by maintainers)
Hi @Sarah-Connelli,
Thanks for the report. Quick response: Yes, I can reproduce this on the Android HA client, and also Chrome on Android (slightly different behavior but very similar). This could be related to the maximum number of websockets the browser is allowing to be rendered – each JSMPEG view will consume 1 websocket, and I know the max allowable websockets to a given domain can be fairly small depending on the browser (e.g. 6).
In my test case I had 8 cards, and 8 requests were made to Frigate – but for some reason the browser only rendered 4 of them (in my case). Your manual intervention trick could get up to 7 to render, but never more than that (perhaps the websocket limit).
Will investigate further.
Sorry to revise a closed topic. I have this issue on Android and noticed that 4 of my Cameras load and then the remaining 3 show this error. However on the remaining 3 Camera’s I then click on the frigate icon, select clips (that works) and then go back to the live view and the live view loads while still running the original 4 working streams. I can repeat this on the cameras that didn’t initially load and then run all 7 camera’s at once and working well.
I may be wrong but this gives the impression that in some way the WebGL context limits are only used up when loading. Is there not a potential option to look at adding a priority and loading the the cameras sequentially or reloading them when this limit is set?