Problem mit image caching & geblockter video stream

Begonnen von MarkusN, 22 Oktober 2019, 18:17:01

Vorheriges Thema - Nächstes Thema

MarkusN

Hallo!

Ich versuche mir ein Bild (extrahiert mittels ffmpeg aus MJPEG stream) oder ein Video von der Tür anzeigen zu lassen wenn jemand die Klingel betätigt. Technisch und logisch ist das ganze schon ziemlich fertig. Ich habe allerdings zwei Probleme:

1) Wenn ich ein Bild in FTUI anzeigen lasse (über Reading getriggertes Popup) bekomme ich ein Problem mit caching. Es wird nicht das aktuelle Bild angezeigt, sondern ein älteres Bild aus dem Cache. Ich habe bereits versucht bei dem image widget die Klasse "nocache" anzugeben, jedoch ohne Erfolg. Bekomme immer noch ein altes Bild. Ebenfalls habe ich folgendes in den HTML Header gepackt (auch ohne Erfolg): <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />

2) Wenn ich mir den Stream in FTUI anzeigen lasse habe ich das Problem dass der stream dann durch FHEM/FTUI "geblockt" ist. Ich benutze einen ESP32Cam, welcher mit dem von mir genutzten Sketch offenbar nur an einen Client streamen kann. Ich habe bereits herausgefunden dass das Popup Widget die ganze Zeit den Stream lädt, auch wenn das Popup unsichtbar/wieder geschlossen ist. Damit kann ich dann mittels ffmpeg kein snapshot mehr extrahieren, welchen ich unter gewissen Voraussetzungen (z.B. keiner zuhause) per Telegram verschicken möchte.

Die von mir bevorzugte Methode wäre den Stream in FTUI anzuzeigen, was aber aufgrund des geblockten streams keine snapshots mehr ermöglicht.

FTUI wird bei mir auf einem iPad mit Safari angezeigt. Die gleichen Effekte hatte ich allerdings mit Chrome auf MacOS & Windows. Ich greife direkt auf FHEM/FTUI zu, ohne einen Proxy.

Bin für jegliche Ideen dankbar.
Grüße,
Markus

yersinia

Möglicherweise liegt es an dem popup widget - dies schreibt Thorsten in einem anderen Thread:
Zitat von: Thorsten Pferdekaemper am 21 Oktober 2019, 09:35:18
Hi,
das Problem bei den Popups ist, dass sie sozusagen komplett mit der Seite geladen werden und das Öffnen und Schließen des Dialogs dann nur noch das Popup zeigt und wieder versteckt.
Ich hatte mit FUIP ein ähnliches Problem beim Resizing der Views (Widgets) auf dem Dialog. Ich habe das dann so gelöst, dass ich mich auf den Event "fadein" aller dialog-Elemente registriere und dann kurz danach das mache, was ich eben machen will. Also in etwa so:

$(".dialog").on("fadein",function() {  setTimeout(<yourfunction goes here>, 10 ) } );

Dort könnte man dann ggf. auch ein refresh der einzelnen Widgets im Dialog machen. ...ob das allerdings für jedes Widget so einfach geht ist ein anderes Thema.
Gruß,
   Thorsten
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl