Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

Test Adapter onvif camera v1.x.x

Geplant Angeheftet Gesperrt Verschoben Tester
341 Beiträge 48 Kommentatoren 94.8k Aufrufe 49 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T tombox

    @randyandy Kannst du die genauen Zeitabstände sagen wenn die errors kommen.
    Nutz du den snapshot server? wie oft kommen die snapshot response timeouts

    R Offline
    R Offline
    RandyAndy
    schrieb am zuletzt editiert von
    #170

    @tombox

    log-datei habe ich per e-Mail geschickt.

    Andreas

    1 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      RandyAndy
      schrieb am zuletzt editiert von
      #171

      @tombox
      ich verwende den js-controller 6.1.4 (sollte die aktuelle Version sein).
      Kann das mit den zusätzlichen npm-Modulen zusamenhängen.
      13157e6a-8888-472d-a79e-7360fb03c73a-grafik.png
      Ich habe früher Standbilder per javascript gespeichert und dann als Bild angezeigt. Entsprechend benötigte ich das node-onvif module.

      Andreas

      T 1 Antwort Letzte Antwort
      0
      • R RandyAndy

        @tombox
        ich verwende den js-controller 6.1.4 (sollte die aktuelle Version sein).
        Kann das mit den zusätzlichen npm-Modulen zusamenhängen.
        13157e6a-8888-472d-a79e-7360fb03c73a-grafik.png
        Ich habe früher Standbilder per javascript gespeichert und dann als Bild angezeigt. Entsprechend benötigte ich das node-onvif module.

        Andreas

        T Offline
        T Offline
        tombox
        schrieb am zuletzt editiert von
        #172

        @randyandy Ich meine den js controller unter host aber kannst du den restart nach 6h deaktivieren und auf die aktuellste version von github aktualisieren

        R 1 Antwort Letzte Antwort
        0
        • T tombox

          @randyandy Ich meine den js controller unter host aber kannst du den restart nach 6h deaktivieren und auf die aktuellste version von github aktualisieren

          R Offline
          R Offline
          RandyAndy
          schrieb am zuletzt editiert von RandyAndy
          #173

          @tombox

          Das ist die Version 4.0.24.
          Ich habe das node-onvif nun mal herausgenommen und seitdem scheint es stabil zu laufen (seit heute früh)
          Ich nehme den restart aber mal raus und dann melde ich mich.
          ich habe bereits die onvif-Version 1.07 seit ein paar Tagen installiert, dies scheint die neueste Version zu sein.

          Andreas

          R 1 Antwort Letzte Antwort
          0
          • Ralf_NR Offline
            Ralf_NR Offline
            Ralf_N
            schrieb am zuletzt editiert von Ralf_N
            #174

            Hallo zusammen.

            Muss mich mal mit meinen Problem(en) auch hier dran hängen.

            Hardware ist eine Reolink RLC 523WA.

            Adapter Version ist von Git in der Version 1.07 ( bei 1.04 selbe Verhalten )

            Cam wurde sauber per onvif auf port 8000 gefunden. Es werden ein Haufen DP erzeugt. So weit so gut!

            Wenn ich aber versuche eine PTZ Aktion über einen DP auszulösen, zum Beispiel .../remote/gotoPreset "3", bekomme ich im LOG folgende Fehler:

            "Error while executing command gotoPreset on device 192_168_1_245_8000: Error: ONVIF SOAP Fault: {"value":"SOAP-ENV:Sender"}

            Diesen SOAP Fehler bekomme ich eigentlich bei jeden DP :-(

            Ich google nun schon seid Tagen nach der Ursache , werde aber nirgends fündig.

            Hat jemand hier noch einer einen Tipp für mich, was mir diesen Fehler erzeugt, oder wo ich danach suchen muss ???

            Danke !

            PS: Super das es mit dem Adapter weiter geht !

            Liebe Grüße,

            Ralf.

            T 1 Antwort Letzte Antwort
            0
            • Ralf_NR Ralf_N

              Hallo zusammen.

              Muss mich mal mit meinen Problem(en) auch hier dran hängen.

              Hardware ist eine Reolink RLC 523WA.

              Adapter Version ist von Git in der Version 1.07 ( bei 1.04 selbe Verhalten )

              Cam wurde sauber per onvif auf port 8000 gefunden. Es werden ein Haufen DP erzeugt. So weit so gut!

              Wenn ich aber versuche eine PTZ Aktion über einen DP auszulösen, zum Beispiel .../remote/gotoPreset "3", bekomme ich im LOG folgende Fehler:

              "Error while executing command gotoPreset on device 192_168_1_245_8000: Error: ONVIF SOAP Fault: {"value":"SOAP-ENV:Sender"}

              Diesen SOAP Fehler bekomme ich eigentlich bei jeden DP :-(

              Ich google nun schon seid Tagen nach der Ursache , werde aber nirgends fündig.

              Hat jemand hier noch einer einen Tipp für mich, was mir diesen Fehler erzeugt, oder wo ich danach suchen muss ???

              Danke !

              PS: Super das es mit dem Adapter weiter geht !

              T Offline
              T Offline
              tombox
              schrieb am zuletzt editiert von
              #175

              @ralf_n probier mal 003 oder 001 anstatt 3

              Ralf_NR 1 Antwort Letzte Antwort
              0
              • T tombox

                @ralf_n probier mal 003 oder 001 anstatt 3

                Ralf_NR Offline
                Ralf_NR Offline
                Ralf_N
                schrieb am zuletzt editiert von
                #176

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

                @ralf_n probier mal 003 oder 001 anstatt 3

                Habe ich auch schon ... erfolglos.

                Liebe Grüße,

                Ralf.

                1 Antwort Letzte Antwort
                0
                • R RandyAndy

                  @tombox

                  Das ist die Version 4.0.24.
                  Ich habe das node-onvif nun mal herausgenommen und seitdem scheint es stabil zu laufen (seit heute früh)
                  Ich nehme den restart aber mal raus und dann melde ich mich.
                  ich habe bereits die onvif-Version 1.07 seit ein paar Tagen installiert, dies scheint die neueste Version zu sein.

                  Andreas

                  R Offline
                  R Offline
                  RandyAndy
                  schrieb am zuletzt editiert von
                  #177

                  @tombox

                  Das ist die Version 4.0.24.
                  Ich habe das node-onvif nun mal herausgenommen und seitdem scheint es stabil zu laufen (seit heute früh)
                  Ich nehme den restart aber mal raus und dann melde ich mich.
                  ich habe bereits die onvif-Version 1.07 seit ein paar Tagen installiert, dies scheint die neueste Version zu sein.

                  Andreas

                  Ich beobachte das nun seit 3 Tagen und nun scheint der Adpater wieder stabil zu arbeiten. Ich kann das nun nicht bewerten aber da scheint sich etwas gestört zu haben zischen dem node-onvif-module im javascript-adapter und dem onvif-adapert. Die DB-Fehler sind jedenfalls weg :blush:. ich werde das nun noch ein wenig beoachten und sollte es wieder auftreten melde ich mich wieder.
                  Was immer noch ist, dass bei bei kurz aufeinanderfolgenden Events Fehlermeldeungen wie dieser auftreten:

                  onvif.0
                  	2023-05-11 19:11:12.719	error	Error getting snapshot: {"code":"ECONNRESET","name":"ResponseError","path":"/cgi-bin/snapshot.cgi?stream=0","status":-1,"headers":{},"res":{"status":-1,"statusCode":-1,"statusMessage":null,"headers":{},"size":0,"aborted":false,"rt":957,"keepAliveSocket":false,"requestUrls":["http://192.168.178.78/cgi-bin/snapshot.cgi?stream=0"],"timing":null,"remoteAddress":"192.168.178.78","remotePort":80,"socketHandledRequests":1,"socketHandledResponses":0}}
                  onvif.0
                  	2023-05-11 19:11:12.712	error	Error getting snapshot: {"code":"ECONNRESET","name":"ResponseError","path":"/cgi-bin/snapshot.cgi?stream=0","status":-1,"headers":{},"res":{"status":-1,"statusCode":-1,"statusMessage":null,"headers":{},"size":0,"aborted":false,"rt":1331,"keepAliveSocket":false,"requestUrls":["http://192.168.178.78/cgi-bin/snapshot.cgi?stream=0"],"timing":null,"remoteAddress":"192.168.178.78","remotePort":80,"socketHandledRequests":1,"socketHandledResponses":0}}
                  

                  Ich gehe mal davon aus, dass in zu kurzrn Abständen events ausgelöst werden und der server dies dann nicht mehr abarbeiten kann (4 ms unterscheid zwischen den Events sind für einen Raspberry Pi 4 dann wahrscheinlich nicht mehr auflösbar)
                  Ich würde mir da so eine Art timer wünschen in dem man einstellen kann nach wievielen Sek. ab einem Event z.B. Bewegung ein snapshot gemacht werden soll und dann nur ein snapshot. Alle davor und danach werden dann ignoriert. Ich habe versucht dies per Skript aufzufangen, aber das war nicht erfolgreich. Vermutlich sind die delays noch länger.

                  Andreas

                  T 1 Antwort Letzte Antwort
                  0
                  • R RandyAndy

                    @tombox

                    Das ist die Version 4.0.24.
                    Ich habe das node-onvif nun mal herausgenommen und seitdem scheint es stabil zu laufen (seit heute früh)
                    Ich nehme den restart aber mal raus und dann melde ich mich.
                    ich habe bereits die onvif-Version 1.07 seit ein paar Tagen installiert, dies scheint die neueste Version zu sein.

                    Andreas

                    Ich beobachte das nun seit 3 Tagen und nun scheint der Adpater wieder stabil zu arbeiten. Ich kann das nun nicht bewerten aber da scheint sich etwas gestört zu haben zischen dem node-onvif-module im javascript-adapter und dem onvif-adapert. Die DB-Fehler sind jedenfalls weg :blush:. ich werde das nun noch ein wenig beoachten und sollte es wieder auftreten melde ich mich wieder.
                    Was immer noch ist, dass bei bei kurz aufeinanderfolgenden Events Fehlermeldeungen wie dieser auftreten:

                    onvif.0
                    	2023-05-11 19:11:12.719	error	Error getting snapshot: {"code":"ECONNRESET","name":"ResponseError","path":"/cgi-bin/snapshot.cgi?stream=0","status":-1,"headers":{},"res":{"status":-1,"statusCode":-1,"statusMessage":null,"headers":{},"size":0,"aborted":false,"rt":957,"keepAliveSocket":false,"requestUrls":["http://192.168.178.78/cgi-bin/snapshot.cgi?stream=0"],"timing":null,"remoteAddress":"192.168.178.78","remotePort":80,"socketHandledRequests":1,"socketHandledResponses":0}}
                    onvif.0
                    	2023-05-11 19:11:12.712	error	Error getting snapshot: {"code":"ECONNRESET","name":"ResponseError","path":"/cgi-bin/snapshot.cgi?stream=0","status":-1,"headers":{},"res":{"status":-1,"statusCode":-1,"statusMessage":null,"headers":{},"size":0,"aborted":false,"rt":1331,"keepAliveSocket":false,"requestUrls":["http://192.168.178.78/cgi-bin/snapshot.cgi?stream=0"],"timing":null,"remoteAddress":"192.168.178.78","remotePort":80,"socketHandledRequests":1,"socketHandledResponses":0}}
                    

                    Ich gehe mal davon aus, dass in zu kurzrn Abständen events ausgelöst werden und der server dies dann nicht mehr abarbeiten kann (4 ms unterscheid zwischen den Events sind für einen Raspberry Pi 4 dann wahrscheinlich nicht mehr auflösbar)
                    Ich würde mir da so eine Art timer wünschen in dem man einstellen kann nach wievielen Sek. ab einem Event z.B. Bewegung ein snapshot gemacht werden soll und dann nur ein snapshot. Alle davor und danach werden dann ignoriert. Ich habe versucht dies per Skript aufzufangen, aber das war nicht erfolgreich. Vermutlich sind die delays noch länger.

                    Andreas

                    T Offline
                    T Offline
                    tombox
                    schrieb am zuletzt editiert von
                    #178

                    @randyandy Wie erstellst du denn die snapshots bei einem event gerade

                    R 1 Antwort Letzte Antwort
                    0
                    • T tombox

                      @randyandy Wie erstellst du denn die snapshots bei einem event gerade

                      R Offline
                      R Offline
                      RandyAndy
                      schrieb am zuletzt editiert von RandyAndy
                      #179

                      @tombox

                      Ich verwende vom MaterialDesign das Widget Html Card. Das hat ein Feld "Objekt-ID" zum Aktualisieren.
                      Hier die entsprechenden Settings. Bei den unteren beiden Werten habe ich keinen Einfluss gefunden -> habe ich dann so gelassen.
                      226776e1-a1d3-4045-b4cf-134b46424f8d-grafik.png

                      T 1 Antwort Letzte Antwort
                      0
                      • R RandyAndy

                        @tombox

                        Ich verwende vom MaterialDesign das Widget Html Card. Das hat ein Feld "Objekt-ID" zum Aktualisieren.
                        Hier die entsprechenden Settings. Bei den unteren beiden Werten habe ich keinen Einfluss gefunden -> habe ich dann so gelassen.
                        226776e1-a1d3-4045-b4cf-134b46424f8d-grafik.png

                        T Offline
                        T Offline
                        tombox
                        schrieb am zuletzt editiert von
                        #180

                        @randyandy Probier mal die GitHub version die hat jetzt eine 0.5s Mindestabstand zwischen zwei snapshots

                        R 2 Antworten Letzte Antwort
                        0
                        • T tombox

                          @randyandy Probier mal die GitHub version die hat jetzt eine 0.5s Mindestabstand zwischen zwei snapshots

                          R Offline
                          R Offline
                          RandyAndy
                          schrieb am zuletzt editiert von
                          #181

                          @tombox

                          ok mache ich und dann melde ich mich wieder.

                          1 Antwort Letzte Antwort
                          0
                          • ChaotC Offline
                            ChaotC Offline
                            Chaot
                            schrieb am zuletzt editiert von
                            #182

                            @tombox
                            Danke für die Weiterentwicklung.
                            Ich habe es auch tatsächlich geschafft einen Snapshot zu erzeugen.
                            Jetzt habe ich eine Frage oder Bitte:

                            Ist es möglich eine Snapshotserie zu erstellen?
                            Also das bei Triggerauslösung beispielsweise 4 oder 5 Bilder in einem zeitlichen Abstand auf der Platte gespeichert werden.
                            Ich mach das derzeit zwar über ein Script bei der Türklingel, aber es ist ja auch bei einer Alarmauslösung eentuell interessant was 10 oder 20 Sekunden nach dem Event passiert ist.

                            ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                            1 Antwort Letzte Antwort
                            0
                            • T tombox

                              @randyandy Probier mal die GitHub version die hat jetzt eine 0.5s Mindestabstand zwischen zwei snapshots

                              R Offline
                              R Offline
                              RandyAndy
                              schrieb am zuletzt editiert von RandyAndy
                              #183

                              @tombox

                              ich habe nun die letzte Github Version mit 0,5 Sek seit ein paar Tagen im EInsatz. Die error Messages sind nicht gänzlich weg aber deutlich weniger geworden. Könnte man vielleicht den Mindestabstand einstellbar machen als Parameter. Muss ja nicht gleich sein in einer der nächsten Releases ?

                              Danke

                              Andreas

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                MINKI
                                schrieb am zuletzt editiert von
                                #184

                                Gentlemen, vielen Dank für diesen Adapter! Trotz Firmware Update auf den Tapo Cams funktioniert alles noch einwandfrei.

                                Frage: Besteht die Möglichkeit den Kamera-Alarm via onvif auszulösen?

                                1 Antwort Letzte Antwort
                                0
                                • HeimwehH Offline
                                  HeimwehH Offline
                                  Heimweh
                                  schrieb am zuletzt editiert von
                                  #185

                                  Ich habe zwei Fragen in die Runde:

                                  • ich schalte meine Reolink E1 outdoor tagsüber per schaltbarer Steckdose ab - wenn die Kamera dann Nachts wieder eingeschaltet wird, funktioniert der Personenalarm nicht mehr (Datenpunkt "MyRuleDetector/PeopleDetect") - erst wieder nach einem Neustart des Adapters - kann das jemand bestätigen bzw. prüfen?

                                  • hat jemand die "Schnappschuss an Telegram" in Blockly gelöst? Leider kann ich kein Javascript und bekomme es in Blockly leider nicht hin :(

                                  Danke!!!

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • HeimwehH Heimweh

                                    Ich habe zwei Fragen in die Runde:

                                    • ich schalte meine Reolink E1 outdoor tagsüber per schaltbarer Steckdose ab - wenn die Kamera dann Nachts wieder eingeschaltet wird, funktioniert der Personenalarm nicht mehr (Datenpunkt "MyRuleDetector/PeopleDetect") - erst wieder nach einem Neustart des Adapters - kann das jemand bestätigen bzw. prüfen?

                                    • hat jemand die "Schnappschuss an Telegram" in Blockly gelöst? Leider kann ich kein Javascript und bekomme es in Blockly leider nicht hin :(

                                    Danke!!!

                                    T Offline
                                    T Offline
                                    tombox
                                    schrieb am zuletzt editiert von
                                    #186

                                    @heimweh Sollte nach ca 30min wieder funktionieren..
                                    Hast du schon den reolink adapter getestet

                                    HeimwehH 1 Antwort Letzte Antwort
                                    0
                                    • T tombox

                                      @heimweh Sollte nach ca 30min wieder funktionieren..
                                      Hast du schon den reolink adapter getestet

                                      HeimwehH Offline
                                      HeimwehH Offline
                                      Heimweh
                                      schrieb am zuletzt editiert von
                                      #187

                                      @tombox ok solange hab ich nicht gewartet. Ich starte den Adapter jetzt per Script 2 Minuten nach Kamera Start neu... ja den Reolink hab ich auch - der kann aber nur Motion allgemein - mir geht es speziell um die Personenerkennung, sonst geht bei jedem Igel / Katze nachts die Flutbeleuchtung an...

                                      1 Antwort Letzte Antwort
                                      0
                                      • 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

                                        chucky666C Online
                                        chucky666C Online
                                        chucky666
                                        schrieb am zuletzt editiert von
                                        #188

                                        @tombox Hallo Zusammen,
                                        erstmal Danke für den Adapter .
                                        wie kann ich Rtsptoweb auf Debian(Proxmox VM) installieren ? wollte Motioneye löschen

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • chucky666C chucky666

                                          @tombox Hallo Zusammen,
                                          erstmal Danke für den Adapter .
                                          wie kann ich Rtsptoweb auf Debian(Proxmox VM) installieren ? wollte Motioneye löschen

                                          T Offline
                                          T Offline
                                          tombox
                                          schrieb am zuletzt editiert von
                                          #189

                                          @chucky666 am einfachsten als docker

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          826

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe