NEWS
[gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?
-
Scheinbar hat sich hier etwas getan, das Script geht nicht mehr
-
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 -
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: 68Es gibt meines Erachtens nun 2 Varianten:
- normaler parse, dann hat der player aber ein autoplay drin
- 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 -
Es gibt meines Erachtens nun 2 Varianten:
- normaler parse, dann hat der player aber ein autoplay drin
- 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=0Ich 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 vollDer 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>';
-
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 vollDer 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>';
@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 vollDer 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. -
@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 vollDer 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.@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.
-
@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 vollDer 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.@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>
-
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!
-
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!
@r0b1zzle Ich kann das Video dann nicht mal anstarten (ausgegraut)

-
@r0b1zzle Ich kann das Video dann nicht mal anstarten (ausgegraut)

-
@glasfaser ich nutz den Chrome
Dein Player ist aber vom iframe oder?
-
@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
.

-
@r0b1zzle Ich kann das Video dann nicht mal anstarten (ausgegraut)

@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 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%?
-
@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>
@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 -
@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 ?
-
@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?:
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 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> -
@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 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.
