NEWS
SOLVED [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?
-
@r0b1zzle Ich kann das Video dann nicht mal anstarten (ausgegraut)
-
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="\"{javascript.1.VIS.URL.Tagesschau}\"" width="\"950\"" height="\"543\"" \nposter="\"video-standbild.jpg\"" 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
-
-
@glasfaser ich nutz den Chrome
Dein Player ist aber vom iframe oder?
-
@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
.
-
@stephan-schleich Wie @Glasfaser schon sagt, nutze das HTML Widget. Habe es in Chrome und Edge getestet, geht beides. Offenbar geht auch Firefox.
-
@r0b1zzle @Glasfaser Danke für die Rückmeldungen, es hat ein " bei mir gefehlt
-
Moin, kann man da irgendwie auch noch die Lautstärke beeinflussen beim start, steht immer auf 100%?
-
@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 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 ?
-
@bahnuhr sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:
Weiterhin würde mich auch interessieren ob man die Lautstärke mitgeben kann?
habs rausgefunden !!!
In html einfügen:
<div>
<video id="Movie" src='{javascript.0.System.Sonstige.Tagesschau_Link}' width='950' height='543' poster='video-standbild.jpg' autobuffer autoplay controls><div>Schade – abspielen nicht moeglich !</div></video>
<script>
var vid = document.getElementById("Movie");
vid.volume = 0.2;
</script>
</div>Natürlich Link ändern.
Volume 0.2 bedeutet 20 %; folglich ist 1 = 100 %mfg
Dieter -
@bahnuhr danke dir - habe es dem im widget angepaßt - funktioniert
<div> <video id="Movie" 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>Schade geht nicht</div></video> </div> <script> var vid = document.getElementById("Movie"); vid.volume = 0.8; </script>
-
@bahnuhr said in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:
@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
dieterJau, hatte das so übernommen und vergessen anzupassen. Ich editiere es oben gleich. Danke für den Hinweis.
-
Hallo zusammen ich benutze den Fully Kisosk Browser und bekomme jetzt egal ob über iframe oder html Widget immer ein Autoplay, was ich nicht möchte. Hat das jemand auch bzw ohne Autoplay hinbekommen? Danke für eure Mühe.
Gruß Toni -
wie hast du es denn eingebunden? Hier wurden in den letzten Tagen ja etliche Varianten veröffentlicht
Jedenfalls würde ich in dem Code einfach das "autoplay" entfernen dann sollte es so klappen wie du willst.
-
@ash2k
Hallo Danke für die schnelle Antwort.Ich habe folgendes genommen von r0b1zZle am 30.01.2021 21:26. Wollte jetzt nicht alles hier reinkopieren. Leider weiß ich nicht wie ich so ein Dropdown mache...
Du sagst ich kann das autoplay rauslöschen aus dem Script im iobroker oder im Widget?
Gruß Toni
-
-
Das Video startet auch alle 5min bei im Browser so wie es im Script geschrieben ist....Von meiner Logik her sollte er nach einem neuen Video aktualisieren aber nicht automatisch abspielen. Bzw es wird dann generell nach 5min das Video abgespielt.
-
@toni61 said in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:
Hallo zusammen ich benutze den Fully Kisosk Browser und bekomme jetzt egal ob über iframe oder html Widget immer ein Autoplay, was ich nicht möchte. Hat das jemand auch bzw ohne Autoplay hinbekommen? Danke für eure Mühe.
Gruß ToniDas habe ich gefunden in den Features vom Fully Kiosk Browser:
FEATURES.
Die meisten Features sind konfigurierbar für Ihren Usecase.
...
Autoplay HTML5 video/audioDas heißt, es könnte im Fully Kiosk Browser eine Einstellung geben, mit der du das anpassen kannst. Falls nicht, kannst du folgenden Code in deinem HTML-Widget ersetzen / probieren (ungetestet):
<video src='{javascript.0.tagesschau.tagesschau100SekundenVideo}' width='600' height='338' autoplay="false" autostart="false" 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>
oder
<div> <video id="Movie" 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> <script> var vid = document.getElementById("Movie"); vid.autoplay = false; vid.load(); </script> </div>
-
@r0b1zzle
Danke für deine Mühe habe die Einstellung des Autoplay gefunden und rausgenommen im Fully Menü.
Habe jetzt gemerkt wenn ich navigiere geht das Video an. Egal ob Iframe oder html... und auch egal ob Fully oder Iobroker APP! Aber in Chrome und am PC ist es in Ordnung....
Ich benutze ein Fire HD Tablet...
Gruß Toni -
@toni61 hast du die beiden Code-Schnipsel oben mal ausgetauscht und getestet, ob es damit immer noch ist?