perf: Change media fetches to be asynchronous to view render (#1702)

This is a fairly non-trivial change in terms of consequence, so a greater than average chance something breaks. This is necessary since some cameras (e.g. Reolink) are materially slower to fetch media, and this change substantially improves card responsiveness.
This commit is contained in:
Dermot Duffy
2024-12-01 20:57:48 -08:00
committed by GitHub
parent c69fdff5e3
commit 9ac6134446
23 changed files with 1489 additions and 829 deletions
+35
View File
@@ -127,6 +127,39 @@
},
"url": "URL de la interfície d'usuari de MotionEye"
},
"proxy": {
"dynamic": "",
"editor_label": "",
"media": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
},
"ssl_ciphers": {
"auto": "",
"default": "",
"editor_label": "",
"insecure": "",
"intermediate": "",
"modern": ""
},
"ssl_verification": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
}
},
"reolink": {
"editor_label": "",
"media_resolution": {
"editor_label": "",
"high": "",
"low": ""
},
"url": ""
},
"title": "Títol d'aquesta càmera (detecció automàtica de l'entitat)",
"triggers": {
"editor_label": "Opcions d'activació",
@@ -574,7 +607,9 @@
},
"error": {
"awaiting_live": "S'està esperant que es carregui la transmissió en directe ...",
"awaiting_media": "",
"camera_initialization": "",
"camera_initialization_reolink": "",
"could_not_render_elements": "No s'han pogut representar els elements de la imatge",
"could_not_resolve": "No s'ha pogut resoldre l'URL multimèdia",
"diagnostics": "Diagnòstic de targetes. Reviseu la informació confidencial abans de compartir-la",
+1
View File
@@ -607,6 +607,7 @@
},
"error": {
"awaiting_live": "Waiting for live stream to load ...",
"awaiting_media": "Waiting for media to load",
"camera_initialization": "Camera initialization failed",
"camera_initialization_reolink": "Could not initialize Reolink camera",
"could_not_render_elements": "Could not render picture elements",
+35
View File
@@ -127,6 +127,39 @@
},
"url": "URL de l’interface MotionEye"
},
"proxy": {
"dynamic": "",
"editor_label": "",
"media": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
},
"ssl_ciphers": {
"auto": "",
"default": "",
"editor_label": "",
"insecure": "",
"intermediate": "",
"modern": ""
},
"ssl_verification": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
}
},
"reolink": {
"editor_label": "",
"media_resolution": {
"editor_label": "",
"high": "",
"low": ""
},
"url": ""
},
"title": "Titre de cette caméra (détection automatique à partir de l'entité)",
"triggers": {
"editor_label": "Modèle de répertoire des films",
@@ -574,7 +607,9 @@
},
"error": {
"awaiting_live": "En attente du flux en direct...",
"awaiting_media": "",
"camera_initialization": "",
"camera_initialization_reolink": "",
"could_not_render_elements": "Impossible de restituer les éléments de l'image",
"could_not_resolve": "Impossible de résoudre l'URL du média",
"diagnostics": "Diagnostic de la carte. Veuillez enlever les informations confidentielles avant de les partager",
+35
View File
@@ -127,6 +127,39 @@
},
"url": "URL dell'interfaccia utente di MotionEye"
},
"proxy": {
"dynamic": "",
"editor_label": "",
"media": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
},
"ssl_ciphers": {
"auto": "",
"default": "",
"editor_label": "",
"insecure": "",
"intermediate": "",
"modern": ""
},
"ssl_verification": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
}
},
"reolink": {
"editor_label": "",
"media_resolution": {
"editor_label": "",
"high": "",
"low": ""
},
"url": ""
},
"title": "Titolo per questa telecamera (Autoidentificato dall'entità)",
"triggers": {
"editor_label": "Trigger Opzioni",
@@ -574,7 +607,9 @@
},
"error": {
"awaiting_live": "",
"awaiting_media": "",
"camera_initialization": "",
"camera_initialization_reolink": "",
"could_not_render_elements": "Impossibile renderizzare gli elementi dell'immagine",
"could_not_resolve": "Impossibile risolvere l'URL dei media",
"diagnostics": "Diagnostica delle carte.Si prega di rivedere per informazioni riservate prima di condividere",
+35
View File
@@ -127,6 +127,39 @@
},
"url": "URL da interface de usuário do MotionEye"
},
"proxy": {
"dynamic": "",
"editor_label": "",
"media": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
},
"ssl_ciphers": {
"auto": "",
"default": "",
"editor_label": "",
"insecure": "",
"intermediate": "",
"modern": ""
},
"ssl_verification": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
}
},
"reolink": {
"editor_label": "",
"media_resolution": {
"editor_label": "",
"high": "",
"low": ""
},
"url": ""
},
"title": "Título para esta câmera (detectado automaticamente pela entidade)",
"triggers": {
"editor_label": "Opções de acionamento",
@@ -574,7 +607,9 @@
},
"error": {
"awaiting_live": "",
"awaiting_media": "",
"camera_initialization": "",
"camera_initialization_reolink": "",
"could_not_render_elements": "Não foi possível renderizar os elementos da imagem",
"could_not_resolve": "Não foi possível resolver o URL de mídia",
"diagnostics": "Diagnósticos do cartão. Revise as informações confidenciais antes de compartilhar",
+35
View File
@@ -127,6 +127,39 @@
},
"url": "Link"
},
"proxy": {
"dynamic": "",
"editor_label": "",
"media": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
},
"ssl_ciphers": {
"auto": "",
"default": "",
"editor_label": "",
"insecure": "",
"intermediate": "",
"modern": ""
},
"ssl_verification": {
"auto": "",
"editor_label": "",
"false": "",
"true": ""
}
},
"reolink": {
"editor_label": "",
"media_resolution": {
"editor_label": "",
"high": "",
"low": ""
},
"url": ""
},
"title": "Título para esta câmera (detectado automaticamente pela entidade)",
"triggers": {
"editor_label": "Opções de activação",
@@ -574,7 +607,9 @@
},
"error": {
"awaiting_live": "",
"awaiting_media": "",
"camera_initialization": "",
"camera_initialization_reolink": "",
"could_not_render_elements": "Não foi possível renderizar os elementos da imagem",
"could_not_resolve": "Não foi possível resolver o URL de mídia",
"diagnostics": "Diagnósticos do cartão. Reveja as informações confidenciais antes de partilhar",