Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. IP Cam Snapshot als "Stream"

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    IP Cam Snapshot als "Stream"

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      lostall last edited by

      Hallo Zusammen,
      ich hätte ebenfalls ein Problem mit der HiKam Q8.
      Diese stellt normalerweise auch nur einen rtsp Stream bereit.

      Ich habe den ONVIF Adapter von @Jey-Cee installiert
      hier gefunden -->
      https://forum.iobroker.net/topic/26751/hikam-kameras-snapshot-erstellen-und-verschicken/3

      Mit dem Adapter wird auch der Link zum Kamerastream gefunden:
      2233d94a-5674-44f1-8b5c-15fe4d4675f2-image.png

      Danach habe ich das Skript von oben übernommen :

      /*Author: Jey Cee jey-cee@live.com; Version: 0.1.1; Datum: 04.10.2019*/
       
       
       
      let objPath = 'HiKamQ8Snaps'         //Der Pfad zu den Skript Objekten; Ergebnis: javascript.0.cam
       
      let urlCam1 = 'http://192.168.0.14:8090/onvif/snapshot';      //URL zum snapshot der IP Cam
       
      let intervall = 5;      //Zeit intervall für die Abfrage; 0 = Dynamisch, 1-x = Zeit in Sekunden;
       
       
       
      //Ab hier keine Änderungen mehr
       
      createState(objPath + '.image', '', false, {type: 'string'});
       
      createState(objPath + '.start', false, false, {type: 'boolean', role: 'switch'});
       
       
       
      const request = require('request').defaults({ encoding: null });
       
       
       
      on({id: 'javascript.0.' + objPath + '.start', val: true},
       
          function(){
       
              getSnap();
       
          }) 
       
       
       
       
       
      function getSnap(){
       
          request.get(urlCam1, function (error, response, body) {
       
          if(error){
       
              log(error);
       
          }
       
          if (!error && response.statusCode == 200) {
       
              data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(body).toString('base64');
       
              setState('javascript.0.' + objPath + '.image', data);
       
          }
       
          if(intervall === 0 && getState('javascript.0.' + objPath + '.start').val === true){
       
              getSnap();
       
          }else if(intervall !== 0 && getState('javascript.0.' + objPath + '.start').val === true){
       
              setTimeout(function(){
       
                      getSnap();
       
              }, intervall * 1000);
       
          }
       
          
       
      });
       
      }
       
       
       
       
       
       
       
      
      

      und und das Verzeichnis und den Streaminglink angepasst.

      Leider füllt sich der State in den Objekten gar nicht.
      Habe ich den status hier richtig auf "true" gesetzt?
      ef7c6fda-c0d6-4f4d-a168-dd8ceb4a80b6-image.png

      5ffa9e89-daea-4e66-a6a4-a25048c0d8e9-image.png
      Hat jemand eine Idee woran das liegt?
      Oder ist die Hikam völligst inkompatibel

      Zudem bin ich mir bei den Logindaten relativ unsicher was den Benutzernamen angeht.
      Auf die Konfigurationsseite der Hikam komme ich mit dem Benutzer "admin"
      Auf allen anderen Seiten benötige ich die Kamera ID (A086***) die hinten auf der Cam steht.
      Das Passwort wurde von mir angelegt und funktioniert in Kombination mit beiden "Benutzernamen"

      Der Logfile zeigt gar keine Einträge zum ausgeführten Skript. Das ist auch seltsam.
      Anbei noch einmal der Log vom Stopp- und danach vom Startvorgang des Skriptes:

      javascript.0	2019-12-06 14:45:14.054	info	script.js.common.Hikam_Q8_Snap.HikamQ8: registered 1 subscription and 0 schedules
      javascript.0	2019-12-06 14:45:14.051	info	Start javascript script.js.common.Hikam_Q8_Snap.HikamQ8
      javascript.0	2019-12-06 14:45:10.517	info	Stop script script.js.common.Hikam_Q8_Snap.HikamQ8
      
      Jey Cee 1 Reply Last reply Reply Quote 0
      • Jey Cee
        Jey Cee Developer @lostall last edited by

        @lostall Hab mich gerade nochmal durch gelesen, das problem bei den HiKams ist die Codierung. Hab dafür keine Lösung gefunden.

        Versuch mal in Zeile 21 bei encoding null durch 'base64' zu ersetzen. Könnte sein das die Kamera die Bilder schon in base64 codiert.

        1 Reply Last reply Reply Quote 0
        • L
          lostall last edited by

          Hallo,
          ich kam leider erst jetzt dazu dies zu probieren. Hat leider nicht geklappt.
          Ich erhalte jetzt folgende Fehlermeldung:

          javascript.0	2019-12-08 13:52:55.736	error	at ContextifyScript.Script.runInContext (vm.js:59:29)
          javascript.0	2019-12-08 13:52:55.736	error	at script.js.common.Hikam_Q8_Snap.HikamQ8:21:57
          javascript.0	2019-12-08 13:52:55.736	error	ReferenceError: base64 is not defined
          javascript.0	2019-12-08 13:52:55.736	error	^
          javascript.0	2019-12-08 13:52:55.736	error	const request = require('request').defaults({ encoding: base64 });
          javascript.0	2019-12-08 13:52:55.736	error	script.js.common.Hikam_Q8_Snap.HikamQ8: script.js.common.Hikam_Q8_Snap.HikamQ8:21
          
          Jey Cee 1 Reply Last reply Reply Quote 0
          • Jey Cee
            Jey Cee Developer @lostall last edited by

            @lostall da fehlen die ' ' bei base64, das muss so ausshen => 'base64'

            K L 2 Replies Last reply Reply Quote 0
            • K
              Kippe @Jey Cee last edited by

              @Jey-Cee
              Hallo
              Ich möchte auch meine Kamera über ioBroker anzeigen lassen, und habe mal einige Fragen dazu.
              Ich habe ein Kamera der Marke Jovision und möchte die gerne anzeigen lassen sowie eine Kamera der Marke iegeek 1080p.
              Ich habe jetzt das Skrypt von Oben in meinem Java Adapter geladen und ist auch Grün1
              Dann habe ich das Widget von Oben in meine View geladen!
              In den Objekten vom ioBroker hat sich der Ordner cam mit 2 Unterordner Image und start gebildet.
              Wie und was muss ich jetzt eintragen , um ein Bild von der Kamera zu bekommen.
              Bei der Jovision Kamera ist der Snapshot http://ip adresse/cgi-bin/getsnapshot.cgi?368x208
              iigeek 1080p ??????????????????????????????? noch nicht gefunden

              Wer könnte mir da mal helfen ?

              Screenshot (203).png Screenshot (204).png Screenshot (205).png

              L Jey Cee 2 Replies Last reply Reply Quote 0
              • L
                lostall @Kippe last edited by

                @Kippe du musst auf jeden Fall im Skript oben in Zeile 4 die URL der Kamera eingeben. Da steht noch der Platzhalter von Jey-Cee.

                1 Reply Last reply Reply Quote 0
                • L
                  lostall @Jey Cee last edited by

                  @Jey-Cee.
                  Oh Mensch, das hätte ich auch alleine raffen können.
                  Hab es direkt korrigiert. Aktuell ist mein State immer noch leer.
                  Mal abwarten, vielleicht füllt er sich noch.

                  Dank deiner Rückmeldung habe ich aber wenig Hoffnung, da es an des wohl an der Kamer selbst liegt.
                  Vielleicht spendiere ich mir nach Weihnachten doch ne Synology NAS, dann hat sich das Problem erledigt.

                  1 Reply Last reply Reply Quote 0
                  • Jey Cee
                    Jey Cee Developer @Kippe last edited by

                    @Kippe wenn du dann den Link zu dem snapshot deiner Kamrea drin hast musst du noch das Objekt start auf true setzen dann sollte es klappen.
                    Für eine zweite Kamera muss du das Skript dupplizieren und den Objekt Pfad (Zeile 3) anpassen.

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kippe @Jey Cee last edited by

                      @Jey-Cee
                      Wo muss denn der Link in Zeile 4 genau hin?
                      Da was jetzt Rot ist oder wo genau🤔

                      1 Reply Last reply Reply Quote 0
                      • K
                        Kippe last edited by

                        Ist das so richtig ?Screenshot (206).png

                        Jey Cee 1 Reply Last reply Reply Quote 0
                        • Jey Cee
                          Jey Cee Developer @Kippe last edited by

                          @Kippe Du musst die rote Ersetzen.

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            Kippe @Jey Cee last edited by

                            @Jey-Cee
                            Habe ich jetzt ersetzt, aber es kommt kein Bild zu Stande

                            Glasfaser 1 Reply Last reply Reply Quote 0
                            • Glasfaser
                              Glasfaser @Kippe last edited by Glasfaser

                              @Kippe

                              Füllt sich der Datenpunkt "Image"?

                              Datenpunkt start auf "true" gesetzt?

                              Zeig mal deine Einstellung im Skript als Screenshot von der URL !

                              ef7c6fda-c0d6-4f4d-a168-dd8ceb4a80b6-image.png

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Kippe @Glasfaser last edited by Kippe

                                7A92B29B-8644-40BE-9974-AD33E47C10D5.jpeg 14134447-BBA6-41E4-8B05-A2180F6BC130.jpeg )

                                Glasfaser 1 Reply Last reply Reply Quote 0
                                • Glasfaser
                                  Glasfaser @Kippe last edited by Glasfaser

                                  @Kippe

                                  Kannst du die Cam mal anpingen unter ioBroker

                                  1.JPG

                                  Aber ein Bild kommt schon wenn du das eingibst !?

                                  http://192.167.178.42/cgi-bin/getsnapshot.cgi?368x208
                                  

                                  Edit : Funktioniert die Cam ohne Passwort/User beim Bildabruf !?

                                  Kannst du hiermit testen :

                                  1.JPG

                                  K 1 Reply Last reply Reply Quote 0
                                  • K
                                    Kippe @Glasfaser last edited by

                                    @Glasfaser
                                    Hallo
                                    Ich habe jetzt mal Zeit gehabt und habe einiges probiert.
                                    Wie du gesagt hast habe ich die Cam angepinkt ( Photo 😞
                                    Wenn ich die URL der Cam in meinem PC Brauser eingebe, bekomme ich das Bild ( Photo )
                                    Und ich habe das Skrypt mal so eingegeben, wie du gesagt hast ( Photo )
                                    Es geht aber einfach nicht, und ich bekomme das Bild nicht zu sehen mit dem Widget.Screenshot (208).png Screenshot (209).png Screenshot (210).png Screenshot (211).png Screenshot (212).png

                                    Glasfaser 1 Reply Last reply Reply Quote 0
                                    • bahnuhr
                                      bahnuhr Forum Testing Most Active last edited by

                                      Warum nimmst du nicht einfach ein Widget ?
                                      z.B. jqui-mfd cam/snapshot

                                      Warum das Script ?

                                      K 1 Reply Last reply Reply Quote 0
                                      • K
                                        Kippe @bahnuhr last edited by

                                        @bahnuhr
                                        Habe ich auch schon gemacht aber geht auch nicht

                                        bahnuhr 1 Reply Last reply Reply Quote 0
                                        • Glasfaser
                                          Glasfaser @Kippe last edited by Glasfaser

                                          @Kippe sagte in IP Cam Snapshot als "Stream":

                                          @Glasfaser
                                          Screenshot (211).png

                                          Die Error Meldung finde ich sehr merkwürdig !?

                                          Zeige mal bitte

                                          cd /opt/iobroker
                                          
                                          nodejs -v
                                          node -v
                                          npm -v
                                          

                                          @Glasfaser sagte in IP Cam Snapshot als "Stream":

                                          @Kippe

                                          Edit : Funktioniert die Cam ohne Passwort/User beim Bildabruf !?

                                          was ist hiermit , hast du dich mal mit einem Benutzer / Passwort angemeldet !?

                                          1 Reply Last reply Reply Quote 0
                                          • bahnuhr
                                            bahnuhr Forum Testing Most Active @Kippe last edited by

                                            @Kippe sagte in IP Cam Snapshot als "Stream":

                                            @bahnuhr
                                            Habe ich auch schon gemacht aber geht auch nicht

                                            Das glaub ich nicht.
                                            Wenns im Browser geht, gehts auch im Widget.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            605
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            camera how-to vis
                                            12
                                            98
                                            9482
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo