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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    IP Cam Snapshot als "Stream"

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mm321 @bug77 last edited by

      @Jey-Cee

      @bug77 said in IP Cam Snapshot als "Stream":

      Habe es auf 5sek eingestellt, aber zwischen jedem aktualisieren „blinkt“ der Bildschirm, da es das Bild aktualisiert. Kann man das flüssiger darstellen, das es einen Übergang gibt? Wisst ihr wie ich das meine?

      Hallo, möchte nochmal die Aussage von bug77 aufgreifen.
      Auch bei mir blinkt der Bildschirm bei jeder Aktualisierung des Snapshots, gibt es eine Möglichkeit dem Problem entgegen zu wirken?

      Danke!
      Manuel

      1 Reply Last reply Reply Quote 0
      • D
        davimas last edited by davimas

        Also es läuft mit 3 Cameras und Aktualisierung von jeweils 3 Sekunden gut auf dem Iobroker System.

        Hat jmd eine Idee wie ich dieses "Bild" noch weiter intern verwenden/nutzen kann?

        mit Blockly per Telegram bei Bewegung.....
        Screenshot_2020-01-06 javascript - ioBroker.png

        1 Reply Last reply Reply Quote 0
        • A
          andreas.kerzel last edited by

          Hallo,

          habe das Beispiel ganz oben übernommen aber leider läuft noch gar nix. Bin mit dem Thema ioBroker noch ganz am Anfang - hätte nicht damit gerechnet, dass eine Kamera so schwierig ist einzurichten. Vielleicht kann mal einer drüber schauen, ggf bin ich total auf dem Holzweg. Ziel ist es, dass Bild einer Kamera in meine VIS zu integrieren.

          Vielen Dank

          Andreas

          1 Reply Last reply Reply Quote 0
          • A
            andreas.kerzel last edited by

            und hier mal ein paar Bilder wo ich stehe

            Das soll das Skript sein
            2.jpg

            und das ein String val Text Wedget
            1.jpg

            Glasfaser 1 Reply Last reply Reply Quote 0
            • Glasfaser
              Glasfaser @andreas.kerzel last edited by Glasfaser

              @andreas-kerzel

              Du hast das Widget nicht richtig eingefügt .

              .... so wie das aussieht hast du den Code in ein htlm-Widget eingefügt .

              Über Import Widget und dann den Code eingeben !
              Das Videobild ist erst im Runtime sichtbar ,nicht im Editor

              Werde die Datenpunkte befüllt ( ... image )!?

              ist das richtig ... ohne User/Passwort kannst du ein Bild sehen

              1.JPG

              Was für eine Cam ist das ?

              A Glasfaser 2 Replies Last reply Reply Quote 0
              • A
                andreas.kerzel @Glasfaser last edited by

                @Glasfaser

                den Teil hab ich jetzt mal mit Bn und PW ergänzt. Im Browser kommt zwar dennoch die Passwortaufforderung aber danach gibt es das Bild.

                http://admin:s1PA!6.p@192.168.2.23:80/cgi-bin/snapshot.cgi

                Ist übrigens eine Amcrest ip2m-841W Kamera.

                Was meinst du mit Import Widget? Sowas hab ich bis jetzt nicht gesehen...

                Vielen Dank

                Glasfaser 1 Reply Last reply Reply Quote 0
                • Glasfaser
                  Glasfaser @andreas.kerzel last edited by

                  @andreas-kerzel sagte in IP Cam Snapshot als "Stream":

                  Was meinst du mit Import Widget?

                  dort den Code rein :
                  .
                  1.JPG

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    andreas.kerzel @Glasfaser last edited by

                    @Glasfaser ok, das hat schomal funktioniert.
                    4.jpg

                    wo kommt eigentlich das Skript in. Direkt in das Widget wo auch die Eigenschaften sind oder Übersicht wo auch die Adapter, Instanzen und so was ist

                    Glasfaser 1 Reply Last reply Reply Quote 0
                    • A
                      andreas.kerzel last edited by

                      5.jpg
                      Da ist es aktuell

                      /Author: Jey Cee jey-cee@live.com; Version: 0.1.2; Datum: 05.10.2019/

                      let objPath = 'cam' //Der Pfad zu den Skript Objekten; Ergebnis: javascript.0.cam

                      let urlCam1 = 'http://admin:XXXXXX@192.168.2.23:80/cgi-bin/snapshot.cgi'; //URL zum snapshot der IP Cam

                      let intervall = 2; //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);
                      
                      }
                      

                      });

                      }

                      1 Reply Last reply Reply Quote 0
                      • Glasfaser
                        Glasfaser @andreas.kerzel last edited by Glasfaser

                        @andreas-kerzel

                        Ich gehe mal von deinem Screenshot oben aus ....
                        Ist schon richtig so ... dort gehört es hin .

                        Lösche das Skript in deinem Thread ....

                        oder setze es in Code Tags </>

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

                          @Glasfaser sagte in IP Cam Snapshot als "Stream":
                          Werde die Datenpunkte befüllt ( ... image )!?

                          Schau mal dort nach !??

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            andreas.kerzel @Glasfaser last edited by

                            @Glasfaser meinst du das hier mit den Datenpunkten???
                            6.jpg

                            Glasfaser 1 Reply Last reply Reply Quote 0
                            • Glasfaser
                              Glasfaser @andreas.kerzel last edited by

                              @andreas-kerzel

                              Ja das Image wird nicht erzeugt , stelle mal den Datenpunkt Start auf true

                              1 Reply Last reply Reply Quote 0
                              • A
                                andreas.kerzel last edited by

                                Der Datenpunkt lässt sich leider nicht auf true setzten.

                                Ich will dich heute Abend nicht mehr zu lange nerven. Aber könntest du mir das Skript noch einmal in gänze zusammenstellen. Nicht das ich da jetzt irgendwo durcheinander gekommen bin.

                                Glasfaser 1 Reply Last reply Reply Quote 0
                                • Glasfaser
                                  Glasfaser @andreas.kerzel last edited by

                                  @andreas-kerzel

                                  Laut Screenshot sieht doch alles richtig aus .

                                  Das einzige was man selber machen muß , ist die URL anpassen.

                                  Nimm ein Button im Vis und Trigger auf den Datenpunkt start.

                                  Oder du nimmst ein einfaches Widget :
                                  Quelle auf deins ändern ( funktioniert nur in Firefox )

                                  [{"tpl":"tplImage","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"1400","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"src":"http://xxxxx:xxxxxxx@192.168.178.51/streaming/channels/1/picture","stretch":false,"refreshOnViewChange":false,"refreshWithNoQuery":false,"allowUserInteractions":false,"refreshOnWakeUp":false},"style":{"left":"273px","top":"527px","width":"609px","height":"256px","overflow-x":"","z-index":"3","font-family":"Jura-DemiBold","font-size":"14px"},"widgetSet":"basic"}]
                                  

                                  Glasfaser 1 Reply Last reply Reply Quote 0
                                  • A
                                    andreas.kerzel last edited by

                                    Habe das Skript nochmal neu angelegt. Die Dtatenpunkte sind jetzt true. Bild aber leider immer nocht nicht.
                                    Das eine eigentlich so simple Implementierung so kompliziert sein muss...

                                    7.jpg

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      andreas.kerzel last edited by

                                      /*Author: Jey Cee jey-cee@live.com; Version: 0.1.2; Datum: 05.10.2019*/
                                      
                                       
                                      
                                      let objPath = 'cam'         //Der Pfad zu den Skript Objekten; Ergebnis: javascript.0.cam
                                      
                                      let urlCam1 = 'http://admin:XXXX@192.168.2.23:80/cgi-bin/snapshot.cgi';      //URL zum snapshot der IP Cam
                                      
                                      let intervall = 2;      //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);
                                      
                                          }
                                      });
                                      
                                      }
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        andreas.kerzel last edited by

                                        so der aktuelle Stand

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          andreas.kerzel last edited by

                                          schade dass das mit dem onfiv nix ist. Da konnte wenigsten schonmal was sehen...

                                          Glasfaser 1 Reply Last reply Reply Quote 0
                                          • Glasfaser
                                            Glasfaser @andreas.kerzel last edited by Glasfaser

                                            @andreas-kerzel

                                            Es wird kein Bild geholt !

                                            hast du das schon gemacht ... habe ich weiter oben im Thread mal geschrieben :

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

                                            @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

                                            .
                                            .

                                            Hast du das Widget von mir mal getestet , bei meiner letzten Antwort !?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            816
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            camera how-to vis
                                            12
                                            98
                                            9658
                                            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