Autor Thema: "Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video  (Gelesen 6631 mal)

Offline jojoja

  • Jr. Member
  • **
  • Beiträge: 91
Guten Abend!

Habe eine kleine Funktion geschrieben, die den Link zum aktuellen Tagesschau 100 Sekunden Video zurückgibt. Der optionale Übergabeparameter steht für die Auflösung:
m: 512x288
l: 960x544
xl: 1280x720
Standard ist m.

Hier der Code für die myUtils:
sub getTagesschau100Sek(;$){

fhem("set rss_Tagesschau100Sek update");
my ($aufloesung) = @_;
$aufloesung //= "m";
use Time::Local;
        my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;
my $zeit = ReadingsVal("rss_Tagesschau100Sek", "n00_description", "error");
my $stunde = substr($zeit, 44,2);
my $minuten = substr($zeit,47,2);

return "http://media.tagesschau.de/video/100s/".($year+1900)."/".sprintf("%02d%02d", $month+1, $mday)."/TV-100s-".sprintf("%02d%02d", $stunde, $minuten).".web".$aufloesung.".h264.mp4";
}
der ein rssFeed Modul ausliest:
define rss_Tagesschau100Sek rssFeed http://www.tagesschau.de/export/video-podcast/webm/tagesschau-in-100-sekunden/ 300
attr rss_Tagesschau100Sek rfReadings title,description

Nun zu meinem Anliegen :D
Ich hätte vom jeweiligen Video gern die mp3-Spur, die per Sonos wiedergegeben kann. Einen Audiopodcast habe ich bei der ARD nicht gefunden. Am liebsten würde ich online konvertieren, zb. auf http://www.online-convert.com, die stellen auch eine API bereit, nur leider habe ich von diesem Thema wenig bis keine Ahnung. Falls mir jemand einen Tipp geben kann, in was ich mich einlesen sollte, wäre ich sehr dankbar! Speziell die Frage, lässt sich soetwas zb. über POST oder wget realisieren?

Viele Grüße, Johannes
FHEM 5.9 @ IntelNUC6CAYH;  FB 7490;  2x SCC (HM & FS20/FHT) @ Raspberry Pi 2;  Sonos Play 1 & 3;

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2640
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #1 am: 09 Dezember 2015, 07:35:38 »
Hab wenig Zeit, muss in die Arbeit.
Aber wenn deine Link generierung klappt, hast du mal versucht das Video einfach mit wget runterzuladen?
Vielleicht dabei noch den Namen ändern, tagesschau100.mp4
Dann das runtergeladene Video demuxen, dann ggfs. das demuxte Audio konvertieten und Sonos bereit stellen?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Offline jojoja

  • Jr. Member
  • **
  • Beiträge: 91
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #2 am: 10 Dezember 2015, 11:55:24 »
Der Codeschnipsel funktioniert.
Wie gesagt, ich wollte die Konvertierung online ablaufen lassen (auch aus "Fortbildungsgründen"), aber ich werde ersteinmal die Offline-Variante probieren. Dafür möchte ich vorher ein paar Umstellungen machen, das dauert wahrscheinlich eine Weile... Wenn ich zu etwas komme werde ich es hier wieder posten, damit andere auch was davon haben  ;D
FHEM 5.9 @ IntelNUC6CAYH;  FB 7490;  2x SCC (HM & FS20/FHT) @ Raspberry Pi 2;  Sonos Play 1 & 3;

Offline Grinsekatze

  • Full Member
  • ***
  • Beiträge: 436
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #3 am: 03 Oktober 2016, 22:38:43 »
Weil ich gerade vor selbiger Aufgabe stehe aus Neugier: Hast Du schon Zeit gehabt hier weiter zu arbeiten?

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 264
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #4 am: 04 Oktober 2016, 02:16:51 »
Habe das eben mal ausprobiert. Klappte aber nicht, da der generierte Link http://media.tagesschau.de/video/100s/2016/1004/TV-100s-2106.webm.h264.mp4 so im Moment nicht passt. Es muss ...2016/1003/... statt ...2016/1004/... heißen, da es nun am frühen Morgen noch keine Tagesschau gibt und die vom Vortag die aktuelle ist.

Ansonsten nett! Wie verwendet ihr den Link auf das Video? Als iframe auf einem Floorplan?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline jojoja

  • Jr. Member
  • **
  • Beiträge: 91
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #5 am: 04 Oktober 2016, 16:37:03 »
Ich habe inzwischen auf HTTPMOD umgestellt, weil das mir fehlersicherer vorkommt. Die oben genannte Funktion ist dafür nicht notwendig.
define rss_tagesschau100 HTTPMOD http://www.tagesschau.de/export/video-podcast/webm/tagesschau-in-100-sekunden/ 60
attr rss_tagesschau100 event-on-change-reading Link
attr rss_tagesschau100 readingsName_Link Link
attr rss_tagesschau100 readingsRegex_Link <enclosure url="(.*)" length
attr rss_tagesschau100 room hidden
attr rss_tagesschau100 stateFormat Link
attr rss_tagesschau100 userattr event-on-change-reading readingsName_Link readingsRegex_Link stateFormat

da ich das Video in wav konvertiere um es auf Sonos zu wiedergeben starte ich mit diesem Notify:
define Sonos_TagesschauDownloadStart notify rss_tagesschau100:Link:.* {
system("/opt/fhem/tagesschau/tagesschau.sh ".ReadingsVal("rss_tagesschau100", "Link", ""));
}

dieses Skript:
#echo Tagesschau in 100 Sekunden:
#echo Video mit dem Link $1 wird heruntergeladen...
wget $1 --output-document=tagesschau100sek.mp4  --quiet

#echo Wird in .wav konvertiert...
ffmpeg -loglevel quiet -y -i /opt/fhem/tagesschau100sek.mp4 /media/SynologySonos/tagesschau100sek.wav

Die Pfade sollten natürlich angepasst werden. So wird minütlich kontrolliert ob ein neues Video vorhanden, falls dies der Fall ist wird es heruntergeladen und konvertiert.

Edit: Sorry, das mit der Onlinekonvertierung habe ich ganz vergessen. Da habe ich nichts mehr gemacht, da die Offline-Variante für mich gut funktioniert.

Gruß Johannes
« Letzte Änderung: 04 Oktober 2016, 16:39:42 von jojoja »
FHEM 5.9 @ IntelNUC6CAYH;  FB 7490;  2x SCC (HM & FS20/FHT) @ Raspberry Pi 2;  Sonos Play 1 & 3;
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 264
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #6 am: 04 Oktober 2016, 23:57:09 »
Dazu ist dann die Installation von ffmpeg nötig. Ich habe dazu eine Anleitung gefunden: http://www.jeffreythompson.org/blog/2014/11/13/installing-ffmpeg-for-raspberry-pi/
Scheint aber etwas langwierig zu sein. Wieso gibst Du das File als wav und nicht als mp3 aus?

Bevor ich mich daran mache, würde ich gerne noch das Nutzungsszenario festlegen.
@jojoja wie verwendest Du das Sonos-File? Gibst Du es sofort nach der Konvertierung auf einem Sonos-Lautsprecher wieder? Oder nur adhoc bei Bedarf? Oder zu festen Zeiten?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline jojoja

  • Jr. Member
  • **
  • Beiträge: 91
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #7 am: 05 Oktober 2016, 09:42:12 »
Hallo hartenthaler,

man kann natürlich auch avconv verwenden, die Syntax sollte ähnlich sein. ffmpeg ist wohl (wie ich im Nachhinein erfahren habe) eh veraltet: https://wiki.ubuntuusers.de/avconv/

Warum ich wav verwende hat keinen driftigen Grund, habe das gefühl dass es etwas schneller geht als mp3 - Speicherplatz spielt für mich keine Rolle, da es ja eh überschrieben wird. Ich verwende das Ganze für meinen Wecker, da soll Datei einfach gleich vorhanden sein, also auf Bedarf.

Gruß Johannes
FHEM 5.9 @ IntelNUC6CAYH;  FB 7490;  2x SCC (HM & FS20/FHT) @ Raspberry Pi 2;  Sonos Play 1 & 3;

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 264
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #8 am: 06 Oktober 2016, 18:32:46 »
Ich habe nun avconv auf meinem RaspberryPi installiert.
sudo apt-get install libav-tools
sudo apt-get install libavcodec-extra

Der Aufruf erfolgt dann bei mir im Shell-Script mit
wget $1 --output-document=tagesschau100sek.mp4  --quiet
avconv -i tagesschau100sek.mp4 -vn -y /mnt/SonosSpeak/tagesschau100sek.mp3

Die Sprache ist gut verständlich, aber ab und an gibt es Rauschen und einige Nebengeräusche im mp3-File.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3342
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #9 am: 06 Oktober 2016, 20:27:03 »
Ich habe nun avconv auf meinem RaspberryPi installiert.
sudo apt-get install libav-tools
sudo apt-get install libavcodec-extra

Der Aufruf erfolgt dann bei mir im Shell-Script mit
wget $1 --output-document=tagesschau100sek.mp4  --quiet
avconv -i tagesschau100sek.mp4 -vn -y /mnt/SonosSpeak/tagesschau100sek.mp3

Die Sprache ist gut verständlich, aber ab und an gibt es Rauschen und einige Nebengeräusche im mp3-File.

Es geht auch avconv -i $1 -vn -y /mnt/SonosSpeak/tagesschau100sek.mp3
wenn man das Video nicht benötigt.

Offline jojoja

  • Jr. Member
  • **
  • Beiträge: 91
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #10 am: 07 Oktober 2016, 11:56:10 »
Es geht auch avconv -i $1 -vn -y /mnt/SonosSpeak/tagesschau100sek.mp3
wenn man das Video nicht benötigt.


Wunderbar, funktioniert. Ich hab noch -loglevel quiet hinzugefügt, damit der fhem-log nicht vollgemüllt wird :D

Dass manchmal komische Geräusche dabei sind kann auch ganz einfach daran liegen, dass die ARD ihr Videomaterial nicht stummschält und so im Hintergrund zu hören ist...
FHEM 5.9 @ IntelNUC6CAYH;  FB 7490;  2x SCC (HM & FS20/FHT) @ Raspberry Pi 2;  Sonos Play 1 & 3;

Offline accessburn

  • Sr. Member
  • ****
  • Beiträge: 937
  • Lecker Raspberry-Cocktail!
    • TRcoding
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #11 am: 07 Oktober 2016, 12:16:22 »
Funktioniert :-)
Mich würde mich für eine Implementierung in FTUI interessieren.

<li data-row="1" data-col="1" data-sizex="3" data-sizey="3">
<header>Tagesschau</header>
<video width="320" height="240" controls>
<source src="http://media.tagesschau.de/video/100s/2016/1007/TV-100s-1135.webm.h264.mp4" type="video/mp4">
</video>
<div data-type="label" data-device="rss_tagesschau100" data-get="Link" class="inline"></div>
</li>

Wie bekomme ich den Link dynamisch in das src-Tag?
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3342
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #12 am: 07 Oktober 2016, 12:21:05 »
Wunderbar, funktioniert. Ich hab noch -loglevel quiet hinzugefügt, damit der fhem-log nicht vollgemüllt wird :D

Dass manchmal komische Geräusche dabei sind kann auch ganz einfach daran liegen, dass die ARD ihr Videomaterial nicht stummschält und so im Hintergrund zu hören ist...

Man braucht eigentlich auch kein Shell-Script, ein notify sollte reichen
rss_tagesschau100:Link:.* "avconv -v quiet -y -i $EVTPART1 /mnt/SonosSpeak/tagesschau100sek.mp3"
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline accessburn

  • Sr. Member
  • ****
  • Beiträge: 937
  • Lecker Raspberry-Cocktail!
    • TRcoding
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #13 am: 11 Oktober 2016, 14:39:43 »
Mich würde mich für eine Implementierung in FTUI interessieren.
Wie bekomme ich den Link dynamisch in das src-Tag?

Scheint nicht zu gehen. Kenne keinen Lösungsweg dazu.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 264
Antw:"Linkgenerierung" zum aktuellen Tagesschau 100 Sekunden Video
« Antwort #14 am: 11 Oktober 2016, 20:12:56 »
Ich weiß nicht, ob Dir das hilft:
define tagesschau100_Weblink weblink htmlCode { '<table><tr><td><iframe src="'.ReadingsVal("tagesschau100","Link", 0).'" width="512" height="288">iframes disabled</iframe></td></tr></table>' }
Das habe ich verwendet um den dynamischen Link in einen Frame zu bekommen, den ich auf einem Floorplan anzeigen kann. Mit FTUI kenne ich mich nicht aus, aber es sollte dort wohl ähnlich gehen.

PS: es gibt übrigens noch einen Thread zum Anzeigen der Tagesschau-Schlagzeilen: https://forum.fhem.de/index.php/topic,33813.0.html
« Letzte Änderung: 11 Oktober 2016, 23:49:06 von hartenthaler »
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...