Seite 1 von 1

Script für Webradio Station für Digitally Imported

Verfasst: Sa 29. Sep 2018, 08:31
von ebeneezer
Hi Dudes,

hab mir ein kleines Script geschrieben, um mein Digitally Imported Abo als Webradio auf der Mutant einzurichten.

Das Script laeuft sowohl auf der mutant als auch auf einem linux pc. Ihr braucht dazu ein Abo und von dort natürlich den Key, welchen Ihr in das Script am Anfang eintragen müsst.

Code: Alles auswählen

#/bin/sh

KEYONLINE="<enteryourcodehere>"

dir=$1
diurl=http://prem2.di.fm:80
di=http://listen.di.fm/public3
clurl=http://prem2.classicalradio.com:80
cl=http://listen.classicalradio.com/public3
rturl=http://prem2.radiotunes.com:80
rt=http://listen.radiotunes.com/public3
rrurl=http://prem2.rockradio.com:80
rr=http://listen.rockradio.com/public3
jzurl=http://prem2.jazzradio.com:80
jz=http://listen.jazzradio.com/public3


prefix=$3
if [ "$dir" == "" ]; then
  echo "Usage: di.sh PLAYLIST_DIR "
  echo
  echo "EXAMPLE"
  echo "di.sh /var/lib/mpd/playlists"
  exit
fi

url=$di
file="$dir/di.xml"
echo "<?xml version=\"1.0\"?>">$file
echo "<webradios name=\"[Digitally Imported]\">">>$file
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"_hi
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"DI.FM\" title=\"$name\" url=\"$diurl/$key?$KEYONLINE\" />">>$file
done

url=$rt
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"_hi
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"RadioTunes\" title=\"$name\" url=\"$rturl/$key?$KEYONLINE\" />">>$file
done


url=$jz
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"JazzRadio\" title=\"$name\" url=\"$jzurl/$key?$KEYONLINE\" />">>$file
done

url=$rr
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"RockRadio\" title=\"$name\" url=\"$rrurl/$key?$KEYONLINE\" />">>$file
done

url=$cl
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"ClassicalRadio\" title=\"$name\" url=\"$clurl/$key?$KEYONLINE\" />">>$file
done
echo "</webradios>">>$file
Ich hoffe, der eine oder andere kann was damit anfange.

greetz ...

Re: Script für Webradio Station für Digitally Imported

Verfasst: So 30. Sep 2018, 11:35
von ebeneezer
Version 0.2

- Fix für Electro House, Premium Url war nicht korrekt.

Code: Alles auswählen

#/bin/sh
# Version 0.2

KEYONLINE="<enteryourpremiumcodehere>"

dir=$1
diurl=http://prem2.di.fm:80
di=http://listen.di.fm/public3
clurl=http://prem2.classicalradio.com:80
cl=http://listen.classicalradio.com/public3
rturl=http://prem2.radiotunes.com:80
rt=http://listen.radiotunes.com/public3
rrurl=http://prem2.rockradio.com:80
rr=http://listen.rockradio.com/public3
jzurl=http://prem2.jazzradio.com:80
jz=http://listen.jazzradio.com/public3

if [ "$dir" == "" ]; then
  echo "Usage: di.sh PLAYLIST_DIR "
  echo
  echo "EXAMPLE"
  echo "di.sh /var/lib/mpd/playlists"
  exit
fi

url=$di
file="$dir/di.xml"
echo "<?xml version=\"1.0\"?>">$file
echo "<webradios name=\"[Digitally Imported]\">">>$file

IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"_hi
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
if [ "$key" == "electro_hi" ]; then key="electrohouse_hi"; fi
 echo "     <webradio genre=\"DI.FM\" title=\"$name\" url=\"$diurl/$key?$KEYONLINE\" />">>$file
done

url=$rt
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"_hi
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"RadioTunes\" title=\"$name\" url=\"$rturl/$key?$KEYONLINE\" />">>$file
done


url=$jz
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"JazzRadio\" title=\"$name\" url=\"$jzurl/$key?$KEYONLINE\" />">>$file
done

url=$rr
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"RockRadio\" title=\"$name\" url=\"$rrurl/$key?$KEYONLINE\" />">>$file
done

url=$cl
IFS=$'\n';for keyname in `wget -nv -O - $url | grep -o '"key":"[^"]*","name":"[^"]*"'` ; do
 key="`echo $keyname | grep -o '"key":"[^"]*"' | sed 's/"key":"\([^"]*\)"/\1/g'`"
 name="`echo $keyname | grep -o '"name":"[^"]*"' | sed 's/"name":"\([^"]*\)"/\1/g'`"
 echo "     <webradio genre=\"ClassicalRadio\" title=\"$name\" url=\"$clurl/$key?$KEYONLINE\" />">>$file
done
echo "</webradios>">>$file
greetz ...

Re: Script für Webradio Station für Digitally Imported

Verfasst: So 30. Sep 2018, 13:16
von vanhofen
Schau dir mal das livestreamScript-Konzept von Neutrino an. Damit lässt sich der Premiumkey sicher auch bequem zur URL hinzufügen, ohne Kanallisten neu laden zu müssen. So als "Einstiegsbastelei" in Lua wäre das ein schönes kleines Projekt.

Als Beispiel hast du bei uns ja FilmOn und YT-Live im Image. Die Scripte findest du unter /share/tuxbox/neutrino/webtv.

Re: Script für Webradio Station für Digitally Imported

Verfasst: So 30. Sep 2018, 18:21
von ebeneezer
Hi dudes,
naja, das Script laeuft bei mir auf meinem Linuxserver als cronjob und die di.xml wird beim Neutrino-Start automatisch via autofs eingebunden. Dass das Script auf der muntant laeuft, ist für mich nur ein Nebeneffekt.
Ich sehe für mich keine Notwendigkeit, daran was zu ändern.
Natürlich darf sich jeder, der Zeit und Lust hat, daran machen und mein bash script als Grundlage nutzen um ein eigenes lua script zu erstellen.

Zu meinem Einsatzszenario:

Script läuft als cron.daily auf dem Linuxserver. Via autofs wird sowieso film und mp3 vom linuxserver eingebunden, somit wird die di.xml dort vom cron.daily gespeichert. Beim Neutrino start wird die di.xml mit gelanden. In den Vorgaben für Radio Mode habe ich einen Kanal aus der di.xml als startkanal definiert, somit start mein "Radio" gleich mit dem richtigen Sender aus dem "Webradio". Ich bin zufrieden :-)

greetz...