streamripper-plugin

Games, Plugins, Utils, Tools, 3rdParty, etc...
libengine
Beiträge: 2
Registriert: Montag 11. Januar 2010, 19:33

streamripper-plugin

Beitrag von libengine »

Hi all,

Ich nehme wöchentlich mehrere Stunden Internetradio mit crontab/streamripper unter Linux auf. Meine dbox2 mit Notebook-Festplatte wäre für diesen Job wegen ihres geringen Stromverbrauchs eigentlich wie geschaffen.
Anstatt crontab würde ich gerne den Timer via yWeb nutzen. Hier mal mein Shellscript das von crontab gestartet wird:

Code: Alles auswählen

#!/bin/sh
#
# param #1: time to rip in seconds
# param #2: directory to rip into
#
basedir=/home/samba/stuff/music/$(date +'%Y-KW%V')/$2
logfile=~/bin/byte.fm.log
url=$(wget -o $logfile -O - http://www.byte.fm/stream/bytefm.m3u | grep -m1 http://)
#
test -e $basedir && rm -R $basedir  >> $logfile  2>&1 # Verzeichnis vom Vortag existiert, loeschen!
streamripper $url -d $basedir -s -l $1 -q 001 -a 1> /dev/null 2>> $logfile
Das Script müsste nur minimal angepasst werden. Auf der dbox liefert forlgende Zeile brav den Streamingserver in $url:

Code: Alles auswählen

url=$(wget -O - http://www.byte.fm/stream/bytefm.m3u | grep -m1 http://) > /dev/null 2>&1
Kann man ein Script als plugin installieren? Wie?
Wie muss ich die streamripper-Sourcen kompilieren? Oder kann ich streamripper for dbox downloaden?
libengine
Beiträge: 2
Registriert: Montag 11. Januar 2010, 19:33

Re: streamripper-plugin

Beitrag von libengine »

Ok, das war kein Niveau. :oops:

Es gibt schon ein dreamripper-Plugin, das offensichtlich auf der dbox läuft.
Ich habe ein plugin.sh erstellt, das dreamripper aufruft:

Code: Alles auswählen

#!/bin/sh
#
# param #1: time to rip in seconds
# param #2: directory to rip into
#
basedir=/hdd/mp3/$(date +'%Y-KW%V')/$2
logfile=/var/log/bytefm.log
url=$(wget -O - http://www.byte.fm/stream/bytefm.m3u | grep -m1 http://) 1> /dev/null 2> $logfile
#
test -e $basedir && rm -R $basedir  >> $logfile  2>&1 # Verzeichnis vom Vortag existiert, loeschen!
/var/tuxbox/plugins/dreamripper $url -d $basedir -s -l $1 -q 001 -a 1> /dev/null 2>> $logfile

Auf der Kommandozeile funktioniert es:

Code: Alles auswählen

./bytefm.sh 1800 test
erzeugt das Verzeichnis

Code: Alles auswählen

/hdd/mp3/2010-KW02/test/
, es wird gerippt. :P

Leider funktioniert der Aufruf aus dem Timer nicht. Ich setze den Timer mit Hilfe yWeb. Ist die Verwendung von Parametern vorgesehen?