Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter onvif camera v1.x.x

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    911

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Test Adapter onvif camera v1.x.x

Scheduled Pinned Locked Moved Tester
341 Posts 48 Posters 101.3k Views 49 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T tombox

    @huhsoft Diese art von Konfiguration hast du gemacht?
    https://gist.github.com/SolveSoul/9be5d9599c8b4b59f7cfa4cd0ce79c9c

    wird denn laut log eine snapshot url gefunden?

    H Offline
    H Offline
    huhsoft
    wrote on last edited by
    #84

    @tombox In den Kameras sind schon micro SD Karten drin. Muss ich dann das mit der Datei kopieren auch machen oder geht das so. Ich muss dazu sagen, ich bin Laie und kenne mich nicht sehr gut aus, geschweige dann kann ich programmieren, Bin froh dass ich so weit gekommen bin. Aber wie gesagt, es geht nicht mehr weiter.
    Ich habe jetzt noch gesehen dass ich den Kameras unterschiedliche User und Passwörter vergeben habe. Das habe ich nun gleich gemacht, und wie gesagt SD Karten sind drin. Die Kameras werden dann auch alle erkannt und eingetragen.
    Im Protokoll kommen auch soweit ich das sehe keine Fehler.
    Wo muss ich nun was eintragen, welches Widget nehme ich, wenns geht bitte verständlich für einen Laien, der dem englischen auch nicht sehr bewandert ist. Ich hoffe ich nerve nicht zu sehr.

    T 1 Reply Last reply
    0
    • H huhsoft

      @tombox In den Kameras sind schon micro SD Karten drin. Muss ich dann das mit der Datei kopieren auch machen oder geht das so. Ich muss dazu sagen, ich bin Laie und kenne mich nicht sehr gut aus, geschweige dann kann ich programmieren, Bin froh dass ich so weit gekommen bin. Aber wie gesagt, es geht nicht mehr weiter.
      Ich habe jetzt noch gesehen dass ich den Kameras unterschiedliche User und Passwörter vergeben habe. Das habe ich nun gleich gemacht, und wie gesagt SD Karten sind drin. Die Kameras werden dann auch alle erkannt und eingetragen.
      Im Protokoll kommen auch soweit ich das sehe keine Fehler.
      Wo muss ich nun was eintragen, welches Widget nehme ich, wenns geht bitte verständlich für einen Laien, der dem englischen auch nicht sehr bewandert ist. Ich hoffe ich nerve nicht zu sehr.

      T Offline
      T Offline
      tombox
      wrote on last edited by
      #85

      @huhsoft
      Wenn du onvif.0.IP_PORT.remote.snapshot auf true setzt wird dann der Datenpunkt onvif.0.IP_PORT..snapshot gefüllt?

      1 Reply Last reply
      0
      • T tombox

        @randyandy
        Also 192.168.178.70:80 hat anscheinen keine aktive source via onvif
        192_168_178_20_80 liefert keine korrekte onvif

        ich habe nochmal logs hinzugefügt..
        nochmal installieren und log gerne auch via mail schicken muss nicht hier im forum sein
        tombox2020@gmail.com

        R Offline
        R Offline
        RandyAndy
        wrote on last edited by
        #86

        @tombox
        Danke für das Update. Nun wird der Snapshot angezeigt. Allerdings die Kamera findet er nur manuell, automatisch geht das nicht (nur ein Hinweis, ist natürlich nicht so schlimm).
        Noch ein Hinweis bei den Objekten. Bei den Events werden nun keine NAmen mehr angezeigt. Ist bei Skripten halt dann schwer zu erkennen. Anbei ein Bild.
        2023-03-09 12_17_48-objects - raspberrypi – Mozilla Firefox.png

        T 1 Reply Last reply
        0
        • R RandyAndy

          @tombox
          Danke für das Update. Nun wird der Snapshot angezeigt. Allerdings die Kamera findet er nur manuell, automatisch geht das nicht (nur ein Hinweis, ist natürlich nicht so schlimm).
          Noch ein Hinweis bei den Objekten. Bei den Events werden nun keine NAmen mehr angezeigt. Ist bei Skripten halt dann schwer zu erkennen. Anbei ein Bild.
          2023-03-09 12_17_48-objects - raspberrypi – Mozilla Firefox.png

          T Offline
          T Offline
          tombox
          wrote on last edited by
          #87

          @randyandy ist in der GitHub version gefixt

          C R 2 Replies Last reply
          0
          • T tombox

            @randyandy ist in der GitHub version gefixt

            C Offline
            C Offline
            chrga
            wrote on last edited by
            #88

            @tombox gibt es eine Liste der unterstützen Kameras? Onvif alleine ist es dann wohl nicht, denn die Tapos können zwar Onvif aber eben kein Standbild. Gibt es da was günstiges für indoor, was du empfehlen kannst?

            T 1 Reply Last reply
            0
            • C chrga

              @tombox gibt es eine Liste der unterstützen Kameras? Onvif alleine ist es dann wohl nicht, denn die Tapos können zwar Onvif aber eben kein Standbild. Gibt es da was günstiges für indoor, was du empfehlen kannst?

              T Offline
              T Offline
              tombox
              wrote on last edited by tombox
              #89

              @chrga Ja im Prinzip sind es alle Kameras.
              Es ist Schade das Tapo als einzige keine Snapshot haben.
              Könnte man nur via ffmpeg machen ich schaue mal via ffmpeg was man machen kann

              1 Reply Last reply
              0
              • Chris76eC Chris76e

                @tombox

                Bei mir kommen einige Warnugen und errors beim starten der Instanz.

                Habe 4 Tapo C200.

                192.168.178.117:2020 No snapshot url available: Error: ONVIF SOAP Fault: {"value":"SOAP-ENV:Receiver","subcode":{"value":"ter:ActionNotSupported"}}
                
                	<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope ><soap:Header><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To><wsa:Action>http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches</wsa:Action><wsa:MessageID>urn:uuid:315681d1-2e37-45ee-b407-9b9c26990de8</wsa:MessageID><wsa:RelatesTo>urn:uuid:5bf5e60a-86f3-cf75-a8b2-ab66a704fde6</wsa:RelatesTo><wsd:AppSequence InstanceId="1677084647" SequenceId="urn:uuid:38e8978f-b114-4596-8aba-06a03425c634" MessageNumber="149"/></soap:Header><soap:Body><wsd:ProbeMatches><wsd:ProbeMatch><wsa:EndpointReference><wsa:Address>urn:uuid:9e09e321-e4b7-4a6d-94a1-4a67070299b6</wsa:Address></wsa:EndpointReference><wsd:Types>wsdp:Device pub:Computer</wsd:Types><wsd:XAddrs>http://CamStation2:5357/9e09e321-e4b7-4a6d-94a1-4a67070299b6</wsd:XAddrs><wsd:MetadataVersion>2</wsd:MetadataVersion></wsd:ProbeMatch></wsd:ProbeMatches></soap:Body></soap:Envelope> 
                

                debugLog.txt

                T Offline
                T Offline
                tombox
                wrote on last edited by tombox
                #90

                @chris76e @chrga die GitHub version hat jetzt eine ffmpeg Implementierung die auch für Tapos snapshots erstellen kann aber ist relativ langsam dauert ca 3sekunden pro snapshot

                Man könnte jetzt auch andere rtsp stream Konvertierung machen

                Chris76eC 1 Reply Last reply
                0
                • T tombox

                  @randyandy ist in der GitHub version gefixt

                  R Offline
                  R Offline
                  RandyAndy
                  wrote on last edited by RandyAndy
                  #91

                  @tombox

                  ich verwende nun seit einigen Tagen Deinen Adapter und ich muss sagen Hut ab. Das ist ein Adpater der wirklich gefehlt hat. Der vorherige Adpater war ein Ansatz aber schlicht nicht zu Ende geführt.
                  Was noch nicht richtig funktioniert ist das abfangen von Events. Ich habe wie erwähnt mehrere Kameras. Bei einem Event einer der Kameras löse ich einen Snaphot aus. Da der Platz auf einer VIS Seite limitiert ist, würde ich gerne den letzten und den vorletzen Snapshot einer der 6 Kameras anzeigen. Es scheint aber so, dass eine Kamera in sehr kurzer Folge Events auslöst, sodass der letzte und vorletzte Snapshot immer von der gleichen Kamera sind. Es wäre hilfreich wenn in den Objekten eine Zeitinformation des letzten Event hinterlegt werden könnte, dann könnte man das im Skript abfragen und dann den Event innerhalb eines Zeitfensters ignorieren. Ich habe versucht das mit einem Boolean abzufangen, da scheint aber nicht wirklich zu funktionieren. Ich denke das wäre sehr hilfreich. Noch besser wäre es eine Art Timer (in ms) zu definieren, mit dem man einstellen kann wie lange Events als ein Event erkannt werden und in diesem Zeitfenster werden alle Event ignoriert.

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    tombox
                    wrote on last edited by
                    #92

                    @randyandy also die Objekte haben das schon native
                    letzter timestamp obj.state.ts
                    letzte änderung obj.state.lc

                    die kann man gegen Date.now() vergleichen

                    R 1 Reply Last reply
                    0
                    • T tombox

                      @randyandy also die Objekte haben das schon native
                      letzter timestamp obj.state.ts
                      letzte änderung obj.state.lc

                      die kann man gegen Date.now() vergleichen

                      R Offline
                      R Offline
                      RandyAndy
                      wrote on last edited by
                      #93

                      @tombox
                      ok, das war mir gar nicht bewußt, das jedes Objekt einen Zeitstempel hat.
                      Das sehe ich mir im Detail an.
                      Danke

                      R 1 Reply Last reply
                      0
                      • T tombox

                        @chris76e @chrga die GitHub version hat jetzt eine ffmpeg Implementierung die auch für Tapos snapshots erstellen kann aber ist relativ langsam dauert ca 3sekunden pro snapshot

                        Man könnte jetzt auch andere rtsp stream Konvertierung machen

                        Chris76eC Offline
                        Chris76eC Offline
                        Chris76e
                        wrote on last edited by Chris76e
                        #94

                        @tombox

                        funktioniert, vielen Dank, aber habe dennoch viele Fehlermeldungen beim starten.

                        Und er findet nicht alle Cam´s, es fehlt noch die mit der IP 192.168.0.85. Hat die selben Einstellungen wie die anderen.

                        T 1 Reply Last reply
                        0
                        • Chris76eC Chris76e

                          @tombox

                          funktioniert, vielen Dank, aber habe dennoch viele Fehlermeldungen beim starten.

                          Und er findet nicht alle Cam´s, es fehlt noch die mit der IP 192.168.0.85. Hat die selben Einstellungen wie die anderen.

                          T Offline
                          T Offline
                          tombox
                          wrote on last edited by
                          #95

                          @chris76e
                          Da war ein wenig ram verfügbar auf welchem system läuft es?
                          81-83 sind keine Kameras?
                          192.168.0.85 wird nicht via discovery entdeckt wie sieht der log aus wenn du die ip manuell suchst.

                          Chris76eC 2 Replies Last reply
                          0
                          • T tombox

                            @chris76e
                            Da war ein wenig ram verfügbar auf welchem system läuft es?
                            81-83 sind keine Kameras?
                            192.168.0.85 wird nicht via discovery entdeckt wie sieht der log aus wenn du die ip manuell suchst.

                            Chris76eC Offline
                            Chris76eC Offline
                            Chris76e
                            wrote on last edited by Chris76e
                            #96

                            @tombox sagte in Test Adapter onvif camera v1.0.0:

                            Da war ein wenig ram verfügbar auf welchem system läuft es?

                            Läuft in einer VM in Proxmox auf einen Intel NUC. Ist eigentlich genug RAM vorhanden.

                            @tombox sagte in Test Adapter onvif camera v1.0.0:

                            81-83 sind keine Kameras?

                            Das sind NAS Laufwerke

                            @tombox sagte in Test Adapter onvif camera v1.0.0:

                            192.168.0.85 wird nicht via discovery entdeckt wie sieht der log aus wenn du die ip manuell suchst.

                            1 Reply Last reply
                            0
                            • T tombox

                              @chris76e
                              Da war ein wenig ram verfügbar auf welchem system läuft es?
                              81-83 sind keine Kameras?
                              192.168.0.85 wird nicht via discovery entdeckt wie sieht der log aus wenn du die ip manuell suchst.

                              Chris76eC Offline
                              Chris76eC Offline
                              Chris76e
                              wrote on last edited by Chris76e
                              #97

                              @tombox

                              Habe den IP berreich von 192.168.0.84-86 suchen lassen.

                              Jetzt wo nur 0.85 angegeben ist wird sie gefunden.

                              T 1 Reply Last reply
                              0
                              • Chris76eC Chris76e

                                @tombox

                                Habe den IP berreich von 192.168.0.84-86 suchen lassen.

                                Jetzt wo nur 0.85 angegeben ist wird sie gefunden.

                                T Offline
                                T Offline
                                tombox
                                wrote on last edited by
                                #98

                                @chris76e Ok sehr komisch warum es sich nicht Discovery lässt.
                                Kannst deine logs wieder löschen

                                1 Reply Last reply
                                1
                                • T tombox

                                  Hi ich habe ein neuen Adapter für ONVIF Kameras geschrieben, da die bisherigen Adapter nicht mehr gewartet werden und ich kein snapshot bei meiner Kamera erhalten habe.

                                  Zum Installieren:
                                  https://github.com/iobroker-community-adapters/ioBroker.onvif

                                  Für die aktuelle Version bitte das latest Repo auswählen:

                                  2d049982-5353-4202-a33f-996f344bd4ae-image.png

                                  Kameras hinzufügen

                                  Discovery:

                                  Bei jedem Adapterstart wird mit dem in der Einstellungen eingetragen Benutzername und Passwort eine Discovery durchgeführt und versuch sich in die Kamera einzuloggen. Falls die Kamera noch nicht unter Objekte hinzugefügt wurde.

                                  In den Einstellungen kann man die Discovery manuell ausführen. Falls die Kameras unterschiedliche Zugangsdaten haben müssen die jeweils eingegeben werden und eine discovery durchgeführt werden. Im Log sieht man Details zu dem Prozess.

                                  Damit eine Kamera neu erkannt wird muss sie einfach unter Objekte gelöscht werden.

                                  Manuelle Suche

                                  Es können Kameras manuell gesucht werden, falls Discovery nicht funktioniert. Dazu muss eine IP Range und Ports eingegeben und manuell ausgeführt werden. Im Log sieht man Details zu dem Prozess.

                                  Datenpunkte

                                  onvif.0.IP_PORT.events Events der Kamera wie z.b. Bewegungserkennung

                                  onvif.0.IP_PORT.general Generelle Information über die Kameras

                                  onvif.0.IP_PORT.infos Informationen über die Kamera werden nur bei Adapterstart aktualisiert oder bei remote.refresh

                                  Video und Snapshot URL:
                                  onvif.0.IP_PORT.infos.streamUris.MediaProfile_Channel1_MainStream.snapshotUrl.uri

                                  onvif.0.IP_PORT.remote Steuerung der Kamera

                                  onvif.0.IP_PORT.remote.refresh Aktualisierung der Infodaten

                                  onvif.0.IP_PORT.remote.gotoHomePosition PTZ Kamera in die HomePosition setzen

                                  onvif.0.IP_PORT.remote.gotoPreset PTZ Kamera Preset Nummer auswählen

                                  onvif.0.IP_PORT.remote.snapshot Speichert ein snapshot unter onvif.0.IP_PORT.snapshot

                                  Message

                                  Adapter nimmt Message "snapshot" entgegen und gibt ein Bild zurück

                                  sendTo("onvif.0", "snapshot", "192_168_178_100_80", (result) => {
                                    if (result) {
                                      sendTo("telegram.0", {
                                        text: result,
                                        type: "photo",
                                        caption: "Kamera 2",
                                      });
                                    }
                                  });
                                  

                                  Bewegungsmeldung zu Telegram

                                  on("onvif.0.192_168_178_100_80.events.RuleEngine/CellMotionDetector/Motion", (obj) => {
                                    if (obj.state.val === true) {
                                      sendTo("onvif.0", "snapshot", "192_168_178_100_80", (result) => {
                                        if (result) {
                                          sendTo("telegram.0", {
                                            text: result,
                                            type: "photo",
                                            caption: "Camera 2",
                                          });
                                        }
                                      });
                                    }
                                  });
                                  

                                  Snapshot Server in vis einbinden

                                  Der Adapter bietet ein Snapshot Server ohne Passwort an. Dazu Server aktivieren in den Instanzeinstellungen und dann kann der aktuelle Snapshot http://iobrokerIp:8095/CAMERAIP_PORT z.B. http://192.168.0.1:8095/192_168_0_1_80 abgerufen werden.

                                  In der Vis ein Image Widget einfügen und die Url als Quelle angeben und eine Updatezeit auswählen

                                  c59c6c74-01c1-4472-84c9-cc477d49a75c-image.png

                                  Stream in vis einbinden

                                  go2rtsp Docker

                                  Ein Stream wird normalerweise via rtsp stream bereitgestellt. Eine Umwandlung via motion eye ist sehr resourcen aufwändig und hat ein Verzögerng. Ein Umwandlung in webrtc ist schneller und resourcenschonender. Meine Empfehlung ist ein go2rtsp. Dazu muss ein Docker von alexxit/go2rtc erstellt werden.
                                  https://hub.docker.com/r/alexxit/go2rtc

                                  Oder go2rtc lokal zu installieren:
                                  https://www.youtube.com/watch?v=4VEEpRYerZg
                                  https://forum.iobroker.net/post/1031526

                                   image: alexxit/go2rtc
                                      network_mode: host       # important for WebRTC, HomeKit, UDP cameras
                                      privileged: true         # only for FFmpeg hardware transcoding
                                      restart: unless-stopped  # autorestart on fail or config change from WebUI
                                      environment:
                                        - TZ=Europe/Berlin  # timezone in logs
                                      volumes:
                                        - "~/go2rtc:/config"   # folder for go2rtc.yaml file (edit from WebUI)
                                  

                                  Es muss ein Volume für den Pfad /config und das network als host eingestellt werden.

                                  Dann ist go2rtsp erreichbar über

                                  http://IP:1984
                                  

                                  Dann kann man ein Stream hinzufügen. Die Stream url findet man z.B. unter
                                  onvif.0.IP_PORT.infos.streamUris.ProfileName.live_stream_tcp.uri

                                  6c837e18-5f5d-4b92-94df-b752208f139b-image.png

                                  Stream als iFrame einfügen

                                  Das Widget iFrame in der Vis hinzufügen und als Quelle den stream link von go2rtsp verwenden

                                  http://192.168.178.1:1984/stream.html?src=camera&mode=webrtc

                                  Unter links kann noch die Art des Players ausgewählt werden (Mikrofon)

                                  Rtsp2Web Docker

                                  Eine Alternative ist ein RTSPtoWeb Docker. Dies ist aber von der Einrichtun komplizierter.
                                  Dazu muss ein Docker von ghcr.io/deepch/rtsptoweb:latest erstellt werden.

                                  docker run --name rtsp-to-web -v /YOURPATHFORCONFIG:/config --network host ghcr.io/deepch/rtsptoweb:latest
                                  

                                  Es muss ein Volume für den Pfad /config und das network als host eingestellt werden.

                                  Dann ist rtsptoweb erreichbar über

                                  http://IP:8083
                                  

                                  Dann kann man ein Stream hinzufügen. Die Stream url findet man z.B. unter
                                  onvif.0.IP_PORT.infos.streamUris.ProfileName.live_stream_tcp.uri

                                  <img src="addstream.png" height="600">

                                  Danach benötigen wir die Stream Id. Dafür Stream Edit und in der URL die Id rauskopieren

                                  http://192.168.178.2:8083/pages/stream/edit/ddbdb583-9f80-4b61-bafa-613aa7a5daa5

                                  Einzelnen Stream in der Vis einfügen

                                  Dann in der vis ein HTML Objekt auswählen. Dann im Widget unter HTML den rtsp2web server mit stream id eintragen:

                                  <img src="html.png" height="150">

                                  Wenn mehrere Stream hinzugefügt werden soll muss webrtc-url und webrtc-video in html und skript mit einer neuen id ersetzt werden z.B. webrtc-url2 und webrtc-video2

                                  <input
                                    type="hidden"
                                    name="webrtc-url"
                                    id="webrtc-url"
                                    value="http://192.168.0.2:8083/stream/ddbdb583-9f80-4b61-bafa-613aa7a5daa5/channel/0/webrtc"
                                  />
                                  
                                  <video id="webrtc-video" autoplay muted playsinline controls style="max-width: 100%; max-height: 100%;"></video>
                                  

                                  In dem Widget unter Skripte dieses Skript hinzufügen:

                                  setTimeout(function () {
                                    function startPlay(videoEl, url) {
                                      const webrtc = new RTCPeerConnection({
                                        iceServers: [
                                          {
                                            urls: ["stun:stun.l.google.com:19302"],
                                          },
                                        ],
                                        sdpSemantics: "unified-plan",
                                      });
                                      webrtc.ontrack = function (event) {
                                        console.log(event.streams.length + " track is delivered");
                                        videoEl.srcObject = event.streams[0];
                                        videoEl.play();
                                      };
                                      webrtc.addTransceiver("video", { direction: "sendrecv" });
                                      webrtc.onnegotiationneeded = async function handleNegotiationNeeded() {
                                        const offer = await webrtc.createOffer();
                                  
                                        await webrtc.setLocalDescription(offer);
                                  
                                        fetch(url, {
                                          method: "POST",
                                          body: new URLSearchParams({ data: btoa(webrtc.localDescription.sdp) }),
                                        })
                                          .then((response) => response.text())
                                          .then((data) => {
                                            try {
                                              webrtc.setRemoteDescription(new RTCSessionDescription({ type: "answer", sdp: atob(data) }));
                                            } catch (e) {
                                              console.warn(e);
                                            }
                                          });
                                      };
                                  
                                      const webrtcSendChannel = webrtc.createDataChannel("rtsptowebSendChannel");
                                      webrtcSendChannel.onopen = (event) => {
                                        console.log(`${webrtcSendChannel.label} has opened`);
                                        webrtcSendChannel.send("ping");
                                      };
                                      webrtcSendChannel.onclose = (_event) => {
                                        console.log(`${webrtcSendChannel.label} has closed`);
                                        startPlay(videoEl, url);
                                      };
                                      webrtcSendChannel.onmessage = (event) => console.log(event.data);
                                    }
                                  
                                    const videoEl = document.querySelector("#webrtc-video");
                                    const webrtcUrl = document.querySelector("#webrtc-url").value;
                                  
                                    startPlay(videoEl, webrtcUrl);
                                  }, 1000);
                                  

                                  <img src="widgetskript.png" height="200">

                                  Alle Streams als iFrame

                                  Alternativ könnte man auch den Kamera Overview als Iframe einfügen:
                                  Das Widget iFrame hinzufügen und als Quelle den rtsp2web Server eintragen:

                                  http://192.168.0.2:8083/pages/multiview/full?controls

                                  FFMpeg Unterstützung

                                  Wenn die Kamera keine Snapshot Unterstützng hat wird mit ffmpeg ein snapshot aus dem rtsp stream erzeugt.

                                  Snapshot Server in vis einbinden

                                  Der Adapter bietet ein Snapshot Server ohne Passwort an. Dazu Server aktivieren in den Instanzeinstellungen und dann kann der aktuelle Snapshot http://iobrokerIp:8095/CAMERAIP_PORT z.B. http://192.168.0.1:8095/192_168_0_1_80 abgerufen werden.

                                  In der Vis ein Image Widget einfügen und die Url als Quelle angeben und eine Updatezeit auswählen

                                  Snapshot in vis einbinden

                                  Wenn möglich die snapshotUri verwenden z.B.
                                  onvif.0.IP_PORT.infos.streamUris.MediaProfile_Channel1_MainStream.snapshotUrl.uri

                                  Den Datenpunkt nicht als Stream verwenden, da sonst die Festplatte zu hohe Last hat.

                                  Den Datenpunkt aktualisieren via t onvif.0.IP_PORT.remote.snapshot

                                  Den Datenpunkt onvif.0.IP_PORT.snapshot ein String img src element zuordnen
                                  8c6904b2-e6b0-4489-bf83-0aef733cd86a-image.png

                                  Oder als Alternative falls String img src nicht funktioniert
                                  Den Datenpunkt onvif.0.IP_PORT.snapshot als HTML element in die vis einfügen mit folgendem Inhalt

                                  <img src="{onvif.0.IP_PORT.snapshot}" width="500px" />
                                  

                                  e09e2094-73ce-40c4-b966-6be58108c6f3-image.pnghttps://forum.iobroker.net/assets/uploads/files/1679400558520-37e68385-d60b-495f-b443-09fe53242663-grafik.png

                                  R Offline
                                  R Offline
                                  RandyAndy
                                  wrote on last edited by
                                  #99

                                  @tombox sagte in Test Adapter onvif camera v1.0.0:

                                  Snapshot Server in vis einbinden
                                  Der Adapter bietet ein Snapshot Server ohne Passwort an. Dazu Server aktivieren in den Instanzeinstellungen und dann kann der aktuelle Snapshot http://iobrokerIp:8095/CAMERAIP_PORT z.B. http://192.168.0.1:8095/192_168_0_1_80 abgerufen werden.
                                  In der Vis ein Image Widget einfügen und die Url als Quelle angeben und eine Updatezeit auswählen

                                  ich hätte noch eine Frage zum Server. Ich vermute mal, dass der ioBroker Server verwendet wird (würde ja auch Sinn machen, denn nicht jeder setzt auf dem ioBroker einen eigenen Web-Server auf).
                                  Liegen die Images dann in einem Ordner oder verweist Du auf einen Datenpunkt in dem Fall den Snapshot Datenpunkt mit den Bild-Informationen ?

                                  T 1 Reply Last reply
                                  0
                                  • R RandyAndy

                                    @tombox sagte in Test Adapter onvif camera v1.0.0:

                                    Snapshot Server in vis einbinden
                                    Der Adapter bietet ein Snapshot Server ohne Passwort an. Dazu Server aktivieren in den Instanzeinstellungen und dann kann der aktuelle Snapshot http://iobrokerIp:8095/CAMERAIP_PORT z.B. http://192.168.0.1:8095/192_168_0_1_80 abgerufen werden.
                                    In der Vis ein Image Widget einfügen und die Url als Quelle angeben und eine Updatezeit auswählen

                                    ich hätte noch eine Frage zum Server. Ich vermute mal, dass der ioBroker Server verwendet wird (würde ja auch Sinn machen, denn nicht jeder setzt auf dem ioBroker einen eigenen Web-Server auf).
                                    Liegen die Images dann in einem Ordner oder verweist Du auf einen Datenpunkt in dem Fall den Snapshot Datenpunkt mit den Bild-Informationen ?

                                    T Offline
                                    T Offline
                                    tombox
                                    wrote on last edited by
                                    #100

                                    @randyandy Der adapter öffnet ein web server. Dabei werden die Bilder direkt von der Kamera an den Webserver geleitet ohne das Bilder gespeichert werden

                                    R 1 Reply Last reply
                                    0
                                    • T tombox

                                      @randyandy Der adapter öffnet ein web server. Dabei werden die Bilder direkt von der Kamera an den Webserver geleitet ohne das Bilder gespeichert werden

                                      R Offline
                                      R Offline
                                      RandyAndy
                                      wrote on last edited by
                                      #101

                                      @tombox
                                      cool, das ist ja eine interessanter Ansatz, d.h. ich könnte den Snapshot über die Funktion remote komplett umgehen mit all den Abhängikeiten wie Schreibzeit usw.
                                      Das muss ich mir mal ansehen, bin mir nun nicht ganz sicher wie man ein image updated wenn ein event/trigger ausgelöst wird. Mit dem image widget geht das meiner Meinung nach nicht.

                                      T 1 Reply Last reply
                                      0
                                      • R RandyAndy

                                        @tombox
                                        cool, das ist ja eine interessanter Ansatz, d.h. ich könnte den Snapshot über die Funktion remote komplett umgehen mit all den Abhängikeiten wie Schreibzeit usw.
                                        Das muss ich mir mal ansehen, bin mir nun nicht ganz sicher wie man ein image updated wenn ein event/trigger ausgelöst wird. Mit dem image widget geht das meiner Meinung nach nicht.

                                        T Offline
                                        T Offline
                                        tombox
                                        wrote on last edited by
                                        #102

                                        @randyandy Ich habe auch mal in readme und Beitrag 1 eine Anleitung wie man performant ein live stream via webrtc in die vis einbauen kann

                                        R 1 Reply Last reply
                                        0
                                        • T tombox

                                          @randyandy Ich habe auch mal in readme und Beitrag 1 eine Anleitung wie man performant ein live stream via webrtc in die vis einbauen kann

                                          R Offline
                                          R Offline
                                          RandyAndy
                                          wrote on last edited by
                                          #103

                                          @tombox sagte in Test Adapter onvif camera v1.0.0:

                                          @randyandy Ich habe auch mal in readme und Beitrag 1 eine Anleitung wie man performant ein live stream via webrtc in die vis einbauen kann

                                          webrtc sehe ich nicht wirklich. Ich habe eine VPN zischen zwei Fritzboxen (stehende Verbindung ) aufgebaut. Mein Uploadrate beträgt gerade mal 5Mbit/sek. Müsste ich mal testen ob das überhaupt noch möglich ist. Bei 6 Kameras kommt da schon etwas zusammen.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          719

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe