NEWS
snapshot anzeigen
-
@lars148 so steht das aber nicht im Link!
@lars148 sagte in snapshot anzeigen:
wenn sich der Snapshot ändert ist der Pfand auch ein anderer
das ist dann ein ganz anderes Problem
-
Hallo
Ich möchte meinen Schnappschuss den ich ein der Reolinkkamera über den onvif Adapter gemacht habe in vis anzeigen. Wenn ich bei Objekte auf dem Onvif Adapter die Kamera auswähle und den Reiter Snapshot mit dem Pfad mit dem Mauszeiger bin wird mir das Bild auch angezeigt. Nur wie bekomme ich das nun auf VIS angezeigt.
data:image/jpg;base64,/9j/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxO
und noch ca 100Zeile mit wirren Zeichen gibt es als Pfad.Danke
@lars148 sagte in snapshot anzeigen:
und noch ca 100Zeile mit wirren Zeichen gibt es als Pfad
Das ist kein Pfad, sondern ein Base64 codiertes Bild. Das kriegst Du auf die Art nicht angezeigt.
Du könntest das per Binding in ein HTML Image-Tag packen.<img src="{id_des_dp}" /> -
Du solltest das Bild ja irgendwo gespeichert haben. Dann eben den Pfad zur jpg-Datei angeben.
-
Ok kling jetzt nicht so das ich das verstehe. Also bei meinen kleinem Anwenderwissen, gibt es eine Möglichkeit immer den letzten Snapshot anzuzeigen.
@lars148
Hast Du im ONVIF nur diesen DP mit dem Base64? Oder gibt's da noch andere?Ansonsten: Poste doch mal den kompletten Inhalt - also den ganzen Base64 String. Am besten in Code-Tags hinter 'nem Spoiler.
-
Nur so als Alternative wenn du dir den Adapter sparen willst und die Cam rtsp kann:
ffmpeg -i rtsp://user:pass@192.168.253.86/live0 -y -f image2 -vframes 1 -pix_fmt yuvj420p /opt/iobroker/CamSnapshots/CamWohnzimmerSnapshot.jpgSo mache ich on demand meine Bilder mit Blockly und lösche sie dann wieder aus dem Pfad bzw. überschreibe sie. Ffmpeg ist Voraussetzung
-
Normalerweise kannst du den Snapshot einfach per Url laden:
IP= deine IP
USER= dein User
PASSWORD= dein PasswortNicht das kleingeschriebene Passwort ändern!
-
Noch nen Alternative Idee: Ich nutze den Reolink Adapter und speichere mir die Bilder als Buffer unter userdata.0. Den Datenpunkt zeit dann die Vis.
-
Hallo
Ich möchte meinen Schnappschuss den ich ein der Reolinkkamera über den onvif Adapter gemacht habe in vis anzeigen. Wenn ich bei Objekte auf dem Onvif Adapter die Kamera auswähle und den Reiter Snapshot mit dem Pfad mit dem Mauszeiger bin wird mir das Bild auch angezeigt. Nur wie bekomme ich das nun auf VIS angezeigt.
data:image/jpg;base64,/9j/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxO
und noch ca 100Zeile mit wirren Zeichen gibt es als Pfad.Danke
so wie schon geschrieben sollte das mit dem basic - image widget funktionieren.
den string komplett einfach in source hineinkopieren.
wenn der string dann später in einem datenpunkt ist,
kann man den durch binding dann da genau so einblenden

das bild ist allerdings erst im runtime modus sichtbar.genauere erklärung
https://wiki.selfhtml.org/wiki/Data-URL
und beispiel
https://wiki.selfhtml.org/extensions/Selfhtml/frickl.php/Beispiel:Grafiken/Data-URI.html#view_resultdie wirren zeichen sind kein pfad sondern direkt die binärdaten in base64 kodierung. eine kodierung die 8 bit in reine ascii zeichen umwandelt, so das sie über alle systemgrenzen hinweg sicher transportiert werden können
-
Die cgi-Option ist m.E. die bessere Alternative zu ffmpeg/ rtsp, da es ohne Zusatzsoftware und Abspeichern zurecht kommt. Ich habe noch eufy Cams, bei denen geht die cgi-Option nicht - daher nutze ich dort ffmpeg/ rtsp. So habe ich es bei meiner Reolink Cam eingerichtet:

<block xmlns="https://developers.google.com/blockly/xml" type="procedures_defnoreturn" id="31W4)co*hfllBmNKD0j2" x="2713" y="-113"> <field name="NAME">HaustuerBilderSchicken</field> <comment pinned="false" h="80" w="160">holt ein Bild vom der Cam und schickt es per Telegram</comment> <statement name="STACK"> <block type="controls_if" id="A6cOkP*h,n}ZilH7=u]+"> <mutation else="1"></mutation> <value name="IF0"> <block type="get_value" id="2xz7D/{7Cr;$%oJ]Qkn-"> <field name="ATTR">val</field> <field name="OID">reolink.0.network.connected</field> </block> </value> <statement name="DO0"> <block type="comment" id="dUWhgD..@x7NToA81J~x"> <field name="COMMENT">http://192.168.253.9:8085</field> <next> <block type="http_get" id="P^;u4LBNv`?U^}YD(64+"> <field name="TIMEOUT">2000</field> <field name="UNIT">ms</field> <field name="TYPE">arraybuffer</field> <value name="URL"> <shadow type="text" id="H]!+Lf(Nc%5_V~fo4v7O"> <field name="TEXT">http://192.168.253.148/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=&user=admin&password=securepass</field> </shadow> </value> <statement name="STATEMENT"> <block type="telegram" id="r8,YW-hqOMW(=su_.DVb"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="9eq;NDr4^eD/Qs0(3wN5"> <field name="TEXT">text</field> </shadow> <block type="http_response_tofile" id="!:Ngwi;@%%gZV,lT;T,x"> <value name="FILENAME"> <shadow type="text" id="tO6FZSDjDBqC[fXo`v+?"> <field name="TEXT">temp.jpg</field> </shadow> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <statement name="ELSE"> <block type="telegram" id="Ov9ho$a#M2b#*oVML:(|"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="]ynKN#t)%{I1c=V__Q(U"> <field name="TEXT">Kamera Haustüre nicht erreichbar!</field> </shadow> </value> </block> </statement> </block> </statement> </block>
