Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SOLVED [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Hansi1234 @crunchip last edited by

      @crunchip
      Das ist nett. Habe gestern auch mit dem Entwickler vom Fully geschrieben. Das Problem ist das Webview. Wenn der Bildschirm aus geht, geht Android automatisch in den Sleepmode.
      Ich teste heute abend, ob das beim Screensaver funktioniert.

      crunchip 1 Reply Last reply Reply Quote 0
      • P
        pix last edited by Jey Cee

        Hallo,

        ich habe im letzten Post ja nur das Ergebnis gezeigt, nicht den Weg dahin. Wird hier nachgeholt:

        Wie oben erwähnt, ändert sich der Link zur aktuellsten Version der Sendung ständig. Deshalb nutze ich dieses Skript, um den Link zeitgesteuert zu aktualisieren. Das Skript legt einen Datenpunkt "VIS.URL.Tagesschau" an. Den brauche ich später in VIS.

        Neue Version vom 11.11.2018

        /* VIS Tagesschau_Link
        parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
         02.03.2016 erstellt von pix
        15.03.2016 zu Javascript Instanz 1 gewechselt
        24.09.2016 umbenannt in VIS_Link_Tagesschau
        11.11.2018 Skript angepasst und optimiert
        */
        const fC = false; // forceCreation für createState()
        const logging = false;
        const instanz = 'javascript.1.';
        const idURL = instanz + 'VIS.URL.Tagesschau';
        // ab hier nix mehr ändern
        const link = "http://www.tagesschau.de/100sekunden/";
         createState(idURL,"", fC, {
            name: "Link zu Tagesschau in 100s",
            desc: "geparster Link aus tagesschau.de",
            type: "string",
            role: "text.url"
        });
         function findeURL () {   
            let request = require('request');
            let film_url;
            try {
                request(link, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        // kein Fehler, Inhalt in body
                        //log(body);
                        // HTML Code der Webseite: Inhalt zwischen  und 
          speichern
                        let text1 = "
         Wir bieten dieses Video in folgenden Formaten zum Download an:
         ",
                            text2 = "
         **Hinweis:** Falls die Videodatei beim Klicken nicht automatisch gespeichert wird, können Sie mit der rechten Maustaste klicken und 'Ziel speichern unter ...' auswählen.
         "; 
                        let start = body.search(text1) + text1.length;
                        let ende = body.search(text2);
                        if (logging) log("Startposition: " + start);
                        if (logging) log("Endposition: " + ende);
                        let zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : "Fehler beim Ausschneiden";
                        if (logging) log("Zwischenspeicher: " + zwischenspeicher);
        
                        let text3 = "//download", 
                            text4 = ".websm.h264.mp4"; 
                        let start2 = body.search(text3);
                        let ende2 = body.search(text4);
                        if (logging) log("Startposition2: " + start2);
                        if (logging) log("Endposition2: " + ende2);
                        let zwischenspeicher2 = ((start2 != -1) && (ende2 != -1) ) ? body.slice(start2,ende2) : "Fehler beim Ausschneiden 2";
                        if (logging) log(zwischenspeicher2);
                        film_url = "http:" + zwischenspeicher2 + ".webl.h264.mp4";
                        setState(idURL, film_url);
                        if (logging) log ("URL: " + film_url);
                    } else  { // Error beim Einlesen
                        log(error, 'error'); 
                    }
                });   // Ende request 
            } catch (fehler) {
                log("Fehler (try): " + fehler, "error");
            }
        } // Ende findeURL
         schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
        setTimeout(findeURL, 2000);
        
        

        ALTE VERSION VON 2016

        /* VIS Tagesschau_Link
        parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
         erstellt: 02.03.2016 von pix
        15.03.2016 zu Javascript Instanz 1 gewechselt
        */
         var logging = false;
        var instanz = 'javascript.1.';
         // ab hier nix mehr ändern
         createState('VIS.URL.Tagesschau','', {
            name: 'Link zu Tagesschau in 100s',
            desc: 'geparster Link aus tagesschau.de',
            type: 'string'
        });
         var idURL = instanz + 'VIS.URL.Tagesschau';
         var link = 'http://www.tagesschau.de/100sekunden/';
        var film_url;
         function findeURL () {   
            var optin = true;
            var request = require('request');
             if (optin) try {
                request(link, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        // kein Fehler, Inhalt in body
                        //log(body);
                        // HTML Code der Webseite: Inhalt zwischen  und 
          speichern
                        var text1 = '
         Wir bieten dieses Video in folgenden Formaten zum Download an:
         ',
                            text2 = '
         **Hinweis:** Falls die Videodatei beim Klicken nicht automatisch gespeichert wird, können Sie mit der rechten Maustaste klicken und "Ziel speichern unter ..." auswählen.
         '; 
                        var start = body.search(text1) + text1.length;
                        var ende = body.search(text2);
                        if (logging) log('Startposition: ' + start);
                        if (logging) log('Endposition: ' + ende);
                        var zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : 'Fehler beim Ausschneiden';
                        if (logging) log(zwischenspeicher);
        
                        var text3 = 'http://download',
                            text4 = '.websm.h264.mp4'; 
                        var start2 = body.search(text3);
                        var ende2 = body.search(text4);
                        if (logging) log('Startposition: ' + start2);
                        if (logging) log('Endposition: ' + ende2);
                        var zwischenspeicher2 = ((start2 != -1) && (ende2 != -1) ) ? body.slice(start2,ende2) : 'Fehler beim Ausschneiden';
                        if (logging) log(zwischenspeicher2);
                        film_url = zwischenspeicher2 + '.webl.h264.mp4';
                        setState(idURL, film_url);
                    } else  { // Error beim Einlesen
                        log(error, 'error'); 
                    }
                });   // Ende request 
            } catch (fehler) {
                log('Fehler (try): ' + fehler, 'error');
            }
        } // Ende findeURL
         schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
        findeURL();
        

        Jetzt muss in VIS noch ein Widget mit Dialog gebaut werden, das bei Tastendruck den Dialog öffnet, in welchem dann das Video läuft:

        [{"tpl":"tplMetroTileDialogStatic","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class":"bg-darkCyan","icon_class":"","icon_badge":"","badge_bg_class":"","brand_bg_class":"","dialog_draggable":"true","dialog_icon_class":"icon-film","gestures-offsetX":0,"gestures-offsetY":0,"name":"Tagesschau","label":"tagesschau in 100s","html":"\n<video src="\&quot;{javascript.1.VIS.URL.Tagesschau}\&quot;" width="\&quot;950\&quot;" height="\&quot;543\&quot;" \nposter="\&quot;video-standbild.jpg\&quot;" autobuffer/autoplay/\ncontrols="">\n\nSchade – hier käme ein Video, wenn Ihr \nBrowser HTML5 Unterstützung hätte, wie z.B. der \naktuelle Firefox\n\n</video>","dialog_width":"960","dialog_height":"623","dialog_title":"Tagesschau in 100s","dialog_flat":true,"dialog_shadow":true,"dialog_modal":true,"icon_src":"/vis.0/iPad/img/tagesschau100_logo_base.png","icon_height":"22","icon_width":"96","icon_top":"50","icon_left":"24","dialog_icon_src":"","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},"style":{"left":"428px","top":"8px","z-index":"20"},"widgetSet":"metro"}]
        

        Der Link zum Video ist im Widget als {Binding} hinterlegt. Die Größen sind für ein iPad Air Landscape ausgelegt.

        Wenn ich Zeit habe, teste ich noch andere Sendungen von anderen Sendern. 😉

        Gruß

        Pix

        EDIT: Neues Skript vom 11.11.2018 im Spoiler

        1 Reply Last reply Reply Quote 1
        • crunchip
          crunchip Forum Testing Most Active @Hansi1234 last edited by

          @Hansi1234 ich schalte mein Display nicht ab, bei mir läuft ein Screensaver. Das kann dann schon gut möglich sein, daß das dein Problem ist.

          Stephan Schleich 1 Reply Last reply Reply Quote 1
          • Stephan Schleich
            Stephan Schleich @crunchip last edited by

            Scheinbar hat sich hier etwas getan, das Script geht nicht mehr

            A 1 Reply Last reply Reply Quote 1
            • A
              Ash2k @Stephan Schleich last edited by

              Kann ich leider bestätigen, die Seite wurde scheinbar überarbeitet 😞

              1 Reply Last reply Reply Quote 1
              • crunchip
                crunchip Forum Testing Most Active last edited by

                im log erscheint

                javascript.0	2021-01-28 11:08:00.531	info	(1436) script.js.Visualisierung.VisTagesschau: Fehler beim Ausschneiden
                javascript.0	2021-01-28 11:08:00.531	info	(1436) script.js.Visualisierung.VisTagesschau: Endposition: -1
                javascript.0	2021-01-28 11:08:00.530	info	(1436) script.js.Visualisierung.VisTagesschau: Startposition: 360544
                javascript.0	2021-01-28 11:08:00.529	info	(1436) script.js.Visualisierung.VisTagesschau: Fehler beim Ausschneiden
                javascript.0	2021-01-28 11:08:00.529	info	(1436) script.js.Visualisierung.VisTagesschau: Endposition: -1
                javascript.0	2021-01-28 11:08:00.528	info	(1436) script.js.Visualisierung.VisTagesschau: Startposition: 68
                
                Stephan Schleich 1 Reply Last reply Reply Quote 0
                • Stephan Schleich
                  Stephan Schleich @crunchip last edited by

                  Es gibt meines Erachtens nun 2 Varianten:

                  1. normaler parse, dann hat der player aber ein autoplay drin
                  2. aus folgenden Links sich selber was basteln (Datum anpassen)
                  #EXTM3U
                  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=199000,RESOLUTION=320x180,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
                  https://hlstagesschau-vh.akamaihd.net/i/video/2021/0128/TV-20210128-0501-0500.,webs,webm,webl,webxl,.h264.mp4.csmil/index_0_av.m3u8?null=0
                  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=715000,RESOLUTION=512x288,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
                  https://hlstagesschau-vh.akamaihd.net/i/video/2021/0128/TV-20210128-0501-0500.,webs,webm,webl,webxl,.h264.mp4.csmil/index_1_av.m3u8?null=0
                  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1485000,RESOLUTION=960x540,CODECS="avc1.77.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
                  https://hlstagesschau-vh.akamaihd.net/i/video/2021/0128/TV-20210128-0501-0500.,webs,webm,webl,webxl,.h264.mp4.csmil/index_2_av.m3u8?null=0
                  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2356000,RESOLUTION=1280x720,CODECS="avc1.64001f, mp4a.40.2",CLOSED-CAPTIONS=NONE
                  https://hlstagesschau-vh.akamaihd.net/i/video/2021/0128/TV-20210128-0501-0500.,webs,webm,webl,webxl,.h264.mp4.csmil/index_3_av.m3u8?null=0
                  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,CODECS="mp4a.40.2",CLOSED-CAPTIONS=NONE
                  https://hlstagesschau-vh.akamaihd.net/i/video/2021/0128/TV-20210128-0501-0500.,webs,webm,webl,webxl,.h264.mp4.csmil/index_0_a.m3u8?null=0
                  
                  
                  E 1 Reply Last reply Reply Quote 0
                  • E
                    Eric @Stephan Schleich last edited by

                    Ich habe das Script nun auf die neue Tagesschau Seite angepasst. Für mich funktioniert es. Könnte aber auch noch Bugs beinhalten:

                    /* VIS Tagesschau_Link
                    parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
                    
                    erstellt: 02.03.2016 von pix
                    15.03.2016 zu Javascript Instanz 1 gewechselt
                    */
                    
                    
                    
                    var logging = true;
                    var instanz = 'javascript.0.';
                    
                    // ab hier nix mehr ändern
                    
                    createState('javascript.0.Tagesschau','', {
                        name: 'Link zu Tagesschau in 100s',
                        desc: 'geparster Link aus tagesschau.de',
                        type: 'string'
                    });
                    
                    createState('javascript.0.TagesschauTemp','', {
                        name: 'TagesschauTemp',
                        desc: 'TagesschauTemp',
                        type: 'string'
                    });
                    
                    var idURL = "javascript.0.Tagesschau";
                    var link = 'http://www.tagesschau.de/100sekunden/';
                    //var link = 'http://www.google.de';
                    var film_url;
                    
                    
                    
                    function findeURL () {   
                        var optin = true;
                        var request = require('request');
                    
                        if (optin) try {
                            request(link, function (error, response, body) {
                                if (!error && response.statusCode == 200) {
                                    fehlerCode = response.statusCode;
                                    // kein Fehler, Inhalt in body
                                    //log(body);
                                    setState("javascript.0.TagesschauTemp", body);
                                    // HTML Code der Webseite: Inhalt zwischen <table> und </table> speichern
                                    //sendTo("telegram.0", body);
                                    var text1 = 'meta property="og:video" content="',
                                        text2 = '<meta property="og:video:secure_url" content='; 
                                    var start = body.search(text1) + text1.length;
                                    var ende = body.search(text2);
                                    if (logging) log('Startposition: ' + start);
                                    if (logging) log('Endposition: ' + ende);
                                    var zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : 'Fehler beim Ausschneiden';
                                    zwischenspeicher = zwischenspeicher.trim();
                                    zwischenspeicher = zwischenspeicher.substr(0,zwischenspeicher.length -3);
                                    film_url = zwischenspeicher;
                                   
                                    setState(idURL, film_url);
                                } else  { // Error beim Einlesen
                                    log(error, 'error'); 
                                }
                            });   // Ende request 
                        } catch (fehler) {
                             sendTo("telegram.0", "Fehler im Tagesschau Script: der rückgabewert ist:" + fehlerCode);
                             //sendTo("telegram.0", body);
                            log('Fehler (try): ' + fehler, 'error');
                        }
                      
                    } // Ende findeURL
                    
                    schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
                    
                    

                    Der Wert von "javascript.0.Tagesschau" kann dann individuell in ein iframe wie folgendem genutzt werden:

                    HTML = '<iframe width="950" height="543" src="' + getState("javascript.0.Tagesschau").val+ '" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';

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

                      @eric sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                      Ich habe das Script nun auf die neue Tagesschau Seite angepasst. Für mich funktioniert es. Könnte aber auch noch Bugs beinhalten:

                      /* VIS Tagesschau_Link
                      parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
                      
                      erstellt: 02.03.2016 von pix
                      15.03.2016 zu Javascript Instanz 1 gewechselt
                      */
                      
                      
                      
                      var logging = true;
                      var instanz = 'javascript.0.';
                      
                      // ab hier nix mehr ändern
                      
                      createState('javascript.0.Tagesschau','', {
                          name: 'Link zu Tagesschau in 100s',
                          desc: 'geparster Link aus tagesschau.de',
                          type: 'string'
                      });
                      
                      createState('javascript.0.TagesschauTemp','', {
                          name: 'TagesschauTemp',
                          desc: 'TagesschauTemp',
                          type: 'string'
                      });
                      
                      var idURL = "javascript.0.Tagesschau";
                      var link = 'http://www.tagesschau.de/100sekunden/';
                      //var link = 'http://www.google.de';
                      var film_url;
                      
                      
                      
                      function findeURL () {   
                          var optin = true;
                          var request = require('request');
                      
                          if (optin) try {
                              request(link, function (error, response, body) {
                                  if (!error && response.statusCode == 200) {
                                      fehlerCode = response.statusCode;
                                      // kein Fehler, Inhalt in body
                                      //log(body);
                                      setState("javascript.0.TagesschauTemp", body);
                                      // HTML Code der Webseite: Inhalt zwischen <table> und </table> speichern
                                      //sendTo("telegram.0", body);
                                      var text1 = 'meta property="og:video" content="',
                                          text2 = '<meta property="og:video:secure_url" content='; 
                                      var start = body.search(text1) + text1.length;
                                      var ende = body.search(text2);
                                      if (logging) log('Startposition: ' + start);
                                      if (logging) log('Endposition: ' + ende);
                                      var zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : 'Fehler beim Ausschneiden';
                                      zwischenspeicher = zwischenspeicher.trim();
                                      zwischenspeicher = zwischenspeicher.substr(0,zwischenspeicher.length -3);
                                      film_url = zwischenspeicher;
                                     
                                      setState(idURL, film_url);
                                  } else  { // Error beim Einlesen
                                      log(error, 'error'); 
                                  }
                              });   // Ende request 
                          } catch (fehler) {
                               sendTo("telegram.0", "Fehler im Tagesschau Script: der rückgabewert ist:" + fehlerCode);
                               //sendTo("telegram.0", body);
                              log('Fehler (try): ' + fehler, 'error');
                          }
                        
                      } // Ende findeURL
                      
                      schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
                      
                      

                      Der Wert von "javascript.0.Tagesschau" kann dann individuell in ein iframe wie folgendem genutzt werden:

                      HTML = '<iframe width="950" height="543" src="' + getState("javascript.0.Tagesschau").val+ '" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';

                      Hallo Eric,
                      Script läuft!
                      Und wenn ich die url im browser abspiele klappt dies auch.
                      Aber wie bekomme ich dies nun in dieses iframe ?

                      Würdest du ein widget zur Verfügung stellen ?
                      Danke.

                      E 2 Replies Last reply Reply Quote 0
                      • E
                        Eric @bahnuhr last edited by

                        @bahnuhr Wenn du es "nur" auf einer View haben möchtest, nimmst Du das HTML Widget und schreibt unter HTML:

                        <iframe width="950" height="543" src="{javascript.0.Tagesschau}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

                        Die Auflösung musst Du natürlich für Dich anpassen.

                        1 Reply Last reply Reply Quote 0
                        • E
                          Eric @bahnuhr last edited by

                          @bahnuhr Ich habe das Script nochmal etwas angepasst und verwende jetzt nicht mehr die Seite sondern nehme das Video als mp4 heraus. Dann klappt es auch mit dem Autoplay besser.

                          /* VIS Tagesschau_Link
                          parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
                          
                          erstellt: 02.03.2016 von pix
                          15.03.2016 zu Javascript Instanz 1 gewechselt
                          */
                          
                          
                          
                          var logging = true;
                          var instanz = 'javascript.0.';
                          
                          // ab hier nix mehr ändern
                          
                          createState('javascript.0.Tagesschau','', {
                              name: 'Link zu Tagesschau in 100s',
                              desc: 'geparster Link aus tagesschau.de',
                              type: 'string'
                          });
                          
                          createState('javascript.0.TagesschauTemp','', {
                              name: 'TagesschauTemp',
                              desc: 'TagesschauTemp',
                              type: 'string'
                          });
                          
                          var idURL = "javascript.0.Tagesschau";
                          var link = 'http://www.tagesschau.de/100sekunden/';
                          //var link = 'http://www.google.de';
                          var film_url;
                          
                          
                          
                          function findeURL () {   
                              var optin = true;
                              var request = require('request');
                          
                              if (optin) try {
                                  request(link, function (error, response, body) {
                                      if (!error && response.statusCode == 200) {
                                          fehlerCode = response.statusCode;
                                          // kein Fehler, Inhalt in body
                                          //log(body);
                                          setState("javascript.0.TagesschauTemp", body);
                                          // HTML Code der Webseite: Inhalt zwischen <table> und </table> speichern
                                          //sendTo("telegram.0", body);
                                          var text1 = '<meta name="twitter:player:stream" content="',
                                              text2 = '<meta name="twitter:player:stream:content_type"'; 
                                          var start = body.search(text1) + text1.length;
                                          var ende = body.search(text2);
                                          if (logging) log('Startposition: ' + start);
                                          if (logging) log('Endposition: ' + ende);
                                          var zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : 'Fehler beim Ausschneiden';
                                          zwischenspeicher = zwischenspeicher.trim();
                                          zwischenspeicher = zwischenspeicher.substr(0,zwischenspeicher.length -10);
                                          film_url = zwischenspeicher + ".webl.h264.mp4";
                                         
                                          setState(idURL, film_url);
                                      } else  { // Error beim Einlesen
                                          log(error, 'error'); 
                                      }
                                  });   // Ende request 
                              } catch (fehler) {
                                   sendTo("telegram.0", "Fehler im Tagesschau Script: der rückgabewert ist:" + fehlerCode);
                                   //sendTo("telegram.0", body);
                                  log('Fehler (try): ' + fehler, 'error');
                              }
                            
                          } // Ende findeURL
                          
                          schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
                          findeURL();
                          
                          
                          

                          Zum Anzeigen nimmst Du wieder das HTML Widget und schreibt dort folgendes rein:

                          <video src='{javascript.0.Tagesschau}' width='2000' height='1125' poster='video-standbild.jpg' autobuffer autoplay controls><div>Scha</div></video>

                          bahnuhr 1 Reply Last reply Reply Quote 4
                          • R
                            r0b1zZle last edited by r0b1zZle

                            Auch ich habe ein paar kleine Anpassungen gemacht, auf Basis der zuvor geposteten Scripte. Für mich war wichtig, dass es eben nicht automatisch abspielt und das jeweilige Cover des aktuellen Videos angezeigt wird, bevor ich es manuell abspielen lasse. Dazu ist das Script nun um eine Extraktion des Bildlinks erweitert (mit zusätzlichem Datenpunkt).

                            Hier das Script:

                            var logging = false;
                            var jsInstance = 'javascript.'+ instance + '.';
                             
                            createState(jsInstance + 'tagesschau.tagesschau100SekundenVideo','',
                            {
                                name: 'Videolink zu Tagesschau in 100s',
                                desc: 'geparster Link aus tagesschau.de',
                                type: 'string'
                            });
                            
                            createState(jsInstance + 'tagesschau.tagesschau100SekundenImg','',
                            {
                                name: 'Bildlink zu Tagesschau in 100s',
                                desc: 'geparster Link aus tagesschau.de',
                                type: 'string'
                            });
                              
                            var idVIDEO = jsInstance + 'tagesschau.tagesschau100SekundenVideo';
                            var idIMG = jsInstance + 'tagesschau.tagesschau100SekundenImg';
                            var link = 'http://www.tagesschau.de/100sekunden/';
                            
                            function findeURL ()
                            {   
                                var request = require('request');
                             
                                try
                                {
                                    request(link, function (error, response, body)
                                    {
                                        if (!error && response.statusCode == 200)
                                        {
                                            var video_url;
                                            var img_url;
                            
                                            var bodyTextVideo1 = '<meta name="twitter:player:stream" content="',
                                                bodyTextVideo2 = '<meta name="twitter:player:stream:content_type"';
                            
                                            var bodyTextImg1 = '<meta name="twitter:image:src" content="',
                                                bodyTextImg2 = '<meta name="twitter:card"';
                            
                                            var startVideo = body.search(bodyTextVideo1) + bodyTextVideo1.length;
                                            var endVideo = body.search(bodyTextVideo2);
                            
                                            var startImg = body.search(bodyTextImg1) + bodyTextImg1.length;
                                            var endImg = body.search(bodyTextImg2);
                                            
                                            if (logging) log('startVideo: ' + startVideo);
                                            if (logging) log('endVideo: ' + endVideo);
                            
                                            if (logging) log('startImg: ' + startImg);
                                            if (logging) log('endImg: ' + endImg);
                            
                                            var tmpVideo = ((startVideo != -1) && (endVideo != -1) ) ? body.slice(startVideo, endVideo) : 'Fehler beim Ausschneiden';
                                            var tmpImg = ((startImg != -1) && (endImg != -1) ) ? body.slice(startImg, endImg) : 'Fehler beim Ausschneiden';
                            
                                            tmpVideo = tmpVideo.trim();
                                            tmpImg = tmpImg.trim();
                            
                                            tmpVideo = tmpVideo.substr(0, tmpVideo.length - 10);
                                            
                                            video_url = tmpVideo + ".webl.h264.mp4";
                                            img_url = tmpImg.substr(0, tmpImg.length - 3);
                                           
                                            setState(idVIDEO, video_url);
                                            setState(idIMG, img_url);
                                        }
                                        else
                                        {
                                            log('Error in Tagesschau100Sekunden: ' + error, 'error'); 
                                        }
                                    });
                                }
                                catch (e)
                                {
                                    log('Error in Tagesschau100Sekunden: ' + e, 'error');
                                }
                              
                            }
                             
                            schedule("*/5 * * * *", findeURL);
                            
                            findeURL();
                            

                            Der Cron-Job ist hier auf alle 5 Minuten eingestellt, damit er das Bild (falls ich das Video während des Abspielens gestoppt habe) wieder resetet.

                            Das Ganze habe ich dann, wie viele vor mir auch, in ein HTML Widget mit folgendem Inhalt gepackt:

                            <video src='{javascript.0.tagesschau.tagesschau100SekundenVideo}' width='600' height='338' poster='{javascript.0.tagesschau.tagesschau100SekundenImg}' onmouseover="dataset.over=true; controls=true" onmouseout="delete dataset.over;if(paused)controls=false;" onplay="controls=true" onpause="if(!dataset.over&&!dataset.focus)controls=false" onfocusin="dataset.focus=true; controls=true" onfocusout="delete dataset.focus;if(paused)controls=false;"><div>Das Video konnte nicht geladen werden!</div></video>
                            

                            Da ich die Controls hässlich finde, blende ich sie aus, solange ich das Video nicht abspielen lasse (mittels "Mouseover-Listener").

                            Danke in diesem Sinne an all die Vorarbeit!

                            Stephan Schleich 1 Reply Last reply Reply Quote 4
                            • Stephan Schleich
                              Stephan Schleich @r0b1zZle last edited by

                              @r0b1zzle Ich kann das Video dann nicht mal anstarten (ausgegraut)
                              1bebde0b-a80f-425b-a7b0-3b721283500d-image.png

                              Glasfaser R 2 Replies Last reply Reply Quote 0
                              • Glasfaser
                                Glasfaser @Stephan Schleich last edited by

                                @stephan-schleich

                                Vermutlich liegt es an deinem Browser !?

                                .
                                tages.gif

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

                                  @glasfaser ich nutz den Chrome

                                  Dein Player ist aber vom iframe oder?

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

                                    @stephan-schleich sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                    Dein Player ist aber vom iframe oder?

                                    Nein, ein HTML mit dem Code von r0b1zZle und Firefox

                                    Hier mit Chrome
                                    .
                                    tages mit chrom.gif

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      r0b1zZle @Stephan Schleich last edited by

                                      @stephan-schleich Wie @Glasfaser schon sagt, nutze das HTML Widget. Habe es in Chrome und Edge getestet, geht beides. Offenbar geht auch Firefox.

                                      Stephan Schleich 1 Reply Last reply Reply Quote 0
                                      • Stephan Schleich
                                        Stephan Schleich @r0b1zZle last edited by

                                        @r0b1zzle @Glasfaser Danke für die Rückmeldungen, es hat ein " bei mir gefehlt 🙂

                                        1 Reply Last reply Reply Quote 1
                                        • Nashra
                                          Nashra Most Active Forum Testing last edited by

                                          Moin, kann man da irgendwie auch noch die Lautstärke beeinflussen beim start, steht immer auf 100%?

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

                                            @eric sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                            <video src='{javascript.0.Tagesschau}' width='2000' height='1125' poster='video-standbild.jpg' autobuffer autoplay controls><div>Scha</div></video>

                                            Kannst du mir sagen, warum dieser Teil mit drin steht ?
                                            <div>Scha</div>

                                            Weiterhin würde mich auch interessieren ob man die Lautstärke mitgeben kann?

                                            mfg
                                            dieter

                                            bahnuhr R 3 Replies Last reply Reply Quote 0
                                            • bahnuhr
                                              bahnuhr Forum Testing Most Active @bahnuhr last edited by

                                              @bahnuhr sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                              <div>Scha</div>

                                              Ich glaube ich habs rausgefunden.
                                              Hier kommt ein Hinweis, wenn es nicht klappt, z.B.
                                              <div>Schade – hier käme ein Video, wenn Ihr
                                              Browser HTML5 Unterstützung hätte, wie z.B. der
                                              aktuelle Firefox</div>

                                              richtig ?

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

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              789
                                              Online

                                              31.7k
                                              Users

                                              79.8k
                                              Topics

                                              1.3m
                                              Posts

                                              42
                                              218
                                              33058
                                              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