You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

  • "shadowsneeker" started this thread

Posts: 3

Location: Sindelfingen / BW

  • Send private message

1

Sunday, July 4th 2004, 3:01pm

Shoutcast MP3 Playlisten download über ein Script

Hallo liebe InternetRadio Liebhaber,

nach langer erfolgloser Suche im Forum habe ich mich einmal hingesetzt und ein Script *zusammengeklöppelt* um automatisch Playlisten für Shoutcaststationen zu erzeugen.
Wie allerdings jeder mit ein wenig Programmiererfahrung sehen kann, ist das wirklich mit dem Holzhammer programmmiert.
Schön wäre es, wenn sich ein *echter* Programmierer mal dessen annehmen kann, um es ein wenig zu "verbessern".
Grundsätzlich tut es zwar das was es soll, aber elegant ist es nicht!!!

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# this script will download the top 100 Stations from [URL]www.shoutcast.com[/URL] matching the genre 'Metal'
#

declare -a array1
declare -a array2
lynx -dump 'http://yp.shoutcast.com/?sgenre=metal?numresult=100' | awk '/http.*pls/ {print $2}' > /tmp/pl
lynx -dump 'http://yp.shoutcast.com/index.phtml?startat=25' | awk '/http.*pls/ {print $2}' >> /tmp/pl
lynx -dump 'http://yp.shoutcast.com/index.phtml?startat=50' | awk '/http.*pls/ {print $2}' >> /tmp/pl
lynx -dump 'http://yp.shoutcast.com/index.phtml?startat=75' | awk '/http.*pls/ {print $2}' >> /tmp/pl
wget -q -i /tmp/pl -P /tmp
for i in /tmp/shoutc*
do
        cat $i | awk '/Title/ {print $4$5"_"substr($1,10,10)}' > /tmp/Filename
        cat $i | awk '/File/ {print substr($1,7,99)}' > /tmp/Inhalt
        linecount=$(wc -l < /tmp/Filename)
        array1=(`cat /tmp/Filename`)
        array2=(`cat /tmp/Inhalt`)
        for ((l=0 ; l<linecount ; l++))
        do
                echo Filename:${array1[$l]}
                echo ${array2[$l]} > /etc/vdr/Network-Streams/${array1[$l]}.pls
        done
done
rm /tmp/Filename
rm /tmp/Inhalt
rm /tmp/shoutc*
rm /tmp/pl


Ich rufe dieses Script dann bei Bedarf über eine entsprechende commands.conf auf.

Gruß,
Thilo
__________________________________________________________________________
Software: c't VDR & Tobi's Multipatch 1.2.6-22, kernel 2.4.24-ctvdr-2
Hardware: Asus Pundit schwarz, Celeron 2.4 GHz, 512MB, Hauppauge Nexus 2.2, 160GB Samsung, LG-DVD Brenner
Patches/Addons: elchiaio4d, autopid, ac3overdvb, noad, nvram-wakeup, vdrconvert
Plugins: calendar, remote, mplayer/mp3, timeline, femon, screenshot, vdradmin

Posts: 3,081

Location: Magdeburg/Wolfsburg

Occupation: Dipl.-Wirtsch.Inf, Spez. Data-Warehousing - Business Intelligence

  • Send private message

2

Sunday, July 4th 2004, 8:33pm

ich habe es mal ein bissl für meine Bedürfnisse verändert.
Jetzt kann explizit ein Stream angegeben werden (der klick auf den "Tune"-Button)
Bei dem original war mir zuviel Stuff mit bei ...

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh
#
# this script will download the top 100 Stations from [URL]www.shoutcast.com[/URL] matching the genre 'Metal'
#

declare -a array1
declare -a array2

outputdir=/tmp/Network-Streams
tmpdir=/tmp

# chilling Vocals
array1[0]='Chilling_Vocals'
wget -q http://yp.shoutcast.com/sbin/shoutcast-playlist.pls?rn=6807 -P $tmpdir
array1[1]='Vocal_Trance'
wget -q http://yp.shoutcast.com/sbin/shoutcast-playlist.pls?rn=5180 -P $tmpdir


test -e $outputdir || mkdir $outputdir
z=0
for i in $tmpdir/shoutc*
do
        cat $i | awk '/File/ {print substr($1,7,99)}' > $tmpdir/Inhalt
        linecount=$(wc -l < $tmpdir/Inhalt)
        array2=(`cat $tmpdir/Inhalt`)
        rm $outputdir/${array1[$z]}*
        for ((l=0 ; l<linecount ; l++))
        do
                echo Filename:${array1[$z]}
                echo $z
                echo ${array2[$l]} > $outputdir/${array1[$z]}_$l.pls
        done
        echo "TEST"
        let z=z+1
done

rm $tmpdir/Inhalt
rm $tmpdir/shoutc*
:vdr1 Homepage:fans
VDR II: YeongYang A106, Fusi D1522, Celeron 2GHz, Frontend per DVB-s FF, 2xDVB-c, ATRIC-IR, YaVDR 0.3a
VDR III HDTV: Inter-Tech 2008V mit iMonLCD, Atric, ASRock Extreme3 770 AM3, AMD Sempron 140 1x 2.70GHz AM3, 1,5TB WD15EADS, 2TB WD20EARS, 2x4GB DDR3-1600, NVidia GT520 passiv, 3x DVB-c, YaVDR 0.5 @ Samsung PS-50B550

This post has been edited 3 times, last edit by "Tobias" (Jul 4th 2004, 8:34pm)


Posts: 2,805

Location: Landkreis Dahme-Spreewald (LDS)

  • Send private message

3

Sunday, July 4th 2004, 9:13pm

:gap

This post has been edited 1 times, last edit by "ronnykornexl" (Oct 27th 2005, 11:26am)


  • "shadowsneeker" started this thread

Posts: 3

Location: Sindelfingen / BW

  • Send private message

4

Sunday, July 4th 2004, 10:27pm

@Ronny

Grundsätzlich gefällt mir das scgen script ganz gut, allerdings finde ich es schade, dass jeweis nur eine Playlist-Datei pro Sender erzeugt wird.
Leider habe ich bei einigen Sendern herausgefunden, daß "nach Murphy" genau der Stream den man dann extrahiert, gerade voll ist oder nicht mehr existiert.
Aus diesem Grunde erzeuge ich ja pro Sender soviele Dateien, wie es streamende IP-Adressen gibt.

Übrigens habe ich immer wieder seltsame Effekte. Kann es sein, das es bei Shoutcast irgendwelche "Downloadlimits" gibt???

Gruss,
Thilo
__________________________________________________________________________
Software: c't VDR & Tobi's Multipatch 1.2.6-22, kernel 2.4.24-ctvdr-2
Hardware: Asus Pundit schwarz, Celeron 2.4 GHz, 512MB, Hauppauge Nexus 2.2, 160GB Samsung, LG-DVD Brenner
Patches/Addons: elchiaio4d, autopid, ac3overdvb, noad, nvram-wakeup, vdrconvert
Plugins: calendar, remote, mplayer/mp3, timeline, femon, screenshot, vdradmin

Posts: 3,081

Location: Magdeburg/Wolfsburg

Occupation: Dipl.-Wirtsch.Inf, Spez. Data-Warehousing - Business Intelligence

  • Send private message

5

Sunday, July 4th 2004, 11:05pm

Quoted

Original von shadowsneeker
Übrigens habe ich immer wieder seltsame Effekte. Kann es sein, das es bei Shoutcast irgendwelche "Downloadlimits" gibt???

hatte ich vorhin auch .... da hatte zuviel Listen parallel heruntergeladen ....
:vdr1 Homepage:fans
VDR II: YeongYang A106, Fusi D1522, Celeron 2GHz, Frontend per DVB-s FF, 2xDVB-c, ATRIC-IR, YaVDR 0.3a
VDR III HDTV: Inter-Tech 2008V mit iMonLCD, Atric, ASRock Extreme3 770 AM3, AMD Sempron 140 1x 2.70GHz AM3, 1,5TB WD15EADS, 2TB WD20EARS, 2x4GB DDR3-1600, NVidia GT520 passiv, 3x DVB-c, YaVDR 0.5 @ Samsung PS-50B550

6

Friday, July 9th 2004, 10:14pm

RE: Shoutcast MP3 Playlisten download über ein Script

Quoted

Original von shadowsneeker
Hallo liebe InternetRadio Liebhaber,

nach langer erfolgloser Suche im Forum habe ich mich einmal hingesetzt und ein Script *zusammengeklöppelt* um automatisch Playlisten für Shoutcaststationen zu erzeugen.
Wie allerdings jeder mit ein wenig Programmiererfahrung sehen kann, ist das wirklich mit dem Holzhammer programmmiert.
Schön wäre es, wenn sich ein *echter* Programmierer mal dessen annehmen kann, um es ein wenig zu "verbessern".
Grundsätzlich tut es zwar das was es soll, aber elegant ist es nicht!!!

...
Thilo



Aloso irgendwie funktioniert dein Script bei mir nicht :(

er erzeugt zwar im tmp Verzeichnis während der Laufzeit, die pls Dateien, usw. aber im endeffekt wird ans Ziel (bei mit /webradio/) nichts geschrieben, das Script gibt auch keinen fehler aus :(
TV VDR: GigaByte 965DS3, Intel C2D 2,4GHz, 1GB RAM, HD Ext, 2x TT PCI S-3200 DVB-S2, ATI Radeon HD2600, VDR 1.6.0-HDTV, Gentoo 2007.1, Kernel 2.6.24
TV VDR: AOpen 945 GTM-VHL, Intel C2D-M 1,83GHz, 2GB RAM, HD Ext, 1x TT PCI S-3200 DVB-S2, Intel GMA950, VDR 1.6.0-HDTV, Gentoo 2007.1, Kernel 2.6.24
VDR Server: Supermicro 370DE6, 2x Intel P3 866 MHz, 2GB RAM, TT-DVB-s Rev. 1.3, TT S1100 budget, KNC1 budget, TT S1401, 2x 500GB WD HDs, 1x 9GB U160 SCSI

Posts: 2,805

Location: Landkreis Dahme-Spreewald (LDS)

  • Send private message

7

Friday, September 3rd 2004, 10:31pm

RE: Shoutcast MP3 Playlisten download über ein Script

:gap

This post has been edited 1 times, last edit by "ronnykornexl" (Oct 27th 2005, 11:26am)


Unimatrix0

Intermediate

Posts: 423

Location: Schweiz

  • Send private message

8

Tuesday, January 4th 2005, 9:15am

Tschau zämme!

Hab mal ein bisschen an scgen rumgebastelt und möchte Euch das nicht vorenthalten.
Muss Euch allerdings warnen, ich bin ein blutiger Anfänger in dieser Beziehnung.
Bei mir tut es aber seinen Dienst und auch Filenamen sehen nicht allzu schlecht aus.
Da es jetzt keine .sc files mehr generiert hab ich es auch gleich umgetauft in shoutcast2vdr.

Aufruf muss mit 2 Parametern erfolgen
1.) Dem Genre z.B. Trance, Metal, Pop, Rap, Techno etc. (alles was shoutcast zu bieten hat eben..)
2.) Der Anzahl der Stream-Adressen die für dieses Genre gesaugt werden sollen

Es generiert nicht nur die .pls files sondern auch ein passendes .m3u dazu.
Leider liest es aber bisher immernoch nur einen Stream pro Sender ein.
Wenn ich mal weiss wie, werd ichs diesbezüglich noch verbessern.
Wenn jemand Lust hat, kann er es auch gerne machen.
Bin für Kritik/Anregungen/Tips dankbar.

einen Schönen Tag noch
Unimatrix0
Unimatrix0 has attached the following file:
Software: Ubuntu 10.04 - VDR 1.7.14 + Xineliboutput (VDPAU) + XBMC
Hardware: NEXUS-S - SkyStar2 - Nova-S2 - Nividia 8600GT

Posts: 2,805

Location: Landkreis Dahme-Spreewald (LDS)

  • Send private message

9

Tuesday, January 4th 2005, 4:35pm

:gap

This post has been edited 2 times, last edit by "ronnykornexl" (Oct 27th 2005, 11:26am)


10

Tuesday, January 4th 2005, 5:50pm

Habe noch max. Bitrate hinzugefügt:

Source code

1
2
3
# Maximale Bitrate
# Wenn Bitrate egal ist leer lassen!
maxbitrate=
Und geänderte Adresse zum holen:

Source code

1
2
3
# Die html-page saugen
wget -O $tempdir/index.html "http://yp.shoutcast.com/directory/index.phtml?sgenre=$genre?&numresult=$anzahl&orderby=$sortierung&maxbitrate=$maxbitrate"
grep \.pls $tempdir/index.html | awk '!match($5,"Lucky") {print $5}' | sed 's/href="/shoutcast.com/g' | sed 's/"><img//g'>$tempdir/streamlist
2003 - 2011 - R.I.P.

This post has been edited 2 times, last edit by "wilderigel" (Jan 4th 2005, 5:52pm)


riverphoenix

Professional

Posts: 743

Location: Gersdorf

Occupation: == Interessen

  • Send private message

11

Sunday, March 20th 2005, 10:33am

zum Script

@wilderigel

hi, kannst Du uns mal Nachhilfe in der Umsetzten des Download über Windoof zum LinVDR - Script geben
easyVDR2.2.0-64bit-stable
es ist traurig, wenn alles für die Katz ist, aber nicht's für die Katze

12

Sunday, March 20th 2005, 12:52pm

RE: zum Script

Um was geht es?
Script ist für Linux geschrieben.

Also entweder unter LinVDR ausführen, oder cygwin für Windows installieren :]
2003 - 2011 - R.I.P.

Unimatrix0

Intermediate

Posts: 423

Location: Schweiz

  • Send private message

13

Sunday, March 20th 2005, 1:03pm

@wilderigel
Ich glaube er meinte, wie man es von Windows aus auf LinVDr installiert. Ich habe drum heute morgen eine ähnliche Frage per Mail erhalten.

@all
Hier ist eine etwas überarbeitete Version 0.0.8, mit ner kleinen README, ich hoffe es ist verständlich genug, sonst fragt einfach.

Jetzt werden, wenn mehr als ein Stream pro Radiosender vorhanden sind, für jeden einzelnen ein eigener Playlisteintrag (-1, -2, -3 etc) erstellt.

Beispiele für die commands.conf sind im Readme ebenfalls enthalten.

Wichtig! Die Variabeln müssen vor dem ersten run angepasst werden!

Hoffe es funzt
Gruss
Unimatrix0
Unimatrix0 has attached the following file:
Software: Ubuntu 10.04 - VDR 1.7.14 + Xineliboutput (VDPAU) + XBMC
Hardware: NEXUS-S - SkyStar2 - Nova-S2 - Nividia 8600GT

14

Sunday, March 20th 2005, 1:11pm

Wer a bisserl Ahnung von Python hat , der kann auch das
Shoutcast-Addon von Freevo als VDR-Plugin umsetzen , welches
schon laengere Zeit ohne Probleme funzt.

http://matt.schick.homelinux.com/archive…projects/python

bye

riverphoenix

Professional

Posts: 743

Location: Gersdorf

Occupation: == Interessen

  • Send private message

15

Sunday, March 20th 2005, 1:27pm

danke danke danke

Danke für Eure Hilfen
werde es abend mal durchprobieren, jetzt ist so ein schönes Wetter, dass man sich einen Sonnenbrand holen kann

@Morone & MT
frag mal MT ob er das Shoutcast-Addon von Freevo nicht gleich in seine Patches mit integriert
easyVDR2.2.0-64bit-stable
es ist traurig, wenn alles für die Katz ist, aber nicht's für die Katze

This post has been edited 2 times, last edit by "riverphoenix" (Mar 20th 2005, 1:32pm)


Unimatrix0

Intermediate

Posts: 423

Location: Schweiz

  • Send private message

16

Sunday, March 20th 2005, 1:52pm

Ich fänds auch cool, wenn sich ein Profi mal der Sache annehmen könnte. Das obige ist nur eine Notlösung. Die filenamen sind noch immer nicht perfekt und leider erwischt das Script auch nicht ganz alle Streams (nur ca. 70%).

OT: Hier scheint die Sonne nicht, bzw. die Wolken sind im Weg :(
Software: Ubuntu 10.04 - VDR 1.7.14 + Xineliboutput (VDPAU) + XBMC
Hardware: NEXUS-S - SkyStar2 - Nova-S2 - Nividia 8600GT

17

Sunday, March 20th 2005, 7:10pm

Quoted

frag mal MT ob er das Shoutcast-Addon von Freevo nicht gleich in seine Patches mit integriert


Frag' ihn doch selber :P

riverphoenix

Professional

Posts: 743

Location: Gersdorf

Occupation: == Interessen

  • Send private message

18

Sunday, March 20th 2005, 7:56pm

@ Unimatrix0

Hi und erst mal danke für Deine mail und den Download

für alle, die's nachmachen, ich hoff ich vergess nicht's (Anregung für den Download)
- in Windoof mit Winrar entpackt und das gabze Verzeichnis "Shoutcast2vdr_0.0.8" nach export mit Samba transferiert
- in LinVDR auf Console 1 eingelogt und nach Anweisung die Dateine mit MC verteilt
- die fehlenden Verzeichnisse Network-Stream und tempdir mit Mkdir erzeugt.
- Den Link auf shoutcast2vdr-0.0.8 mit MC in /etc/vdr/shoutcast2vdr gelegt, war mir angenehmer
- Mit dem command.com klappte es noch nicht so richtig. habe mal ./etc/vdr/shoutcast2vdr Country 2 eingegeben und es ging los

Nachbemerkungen:
- Ein *.tar erzeugen das die Dateien, Links und fehlenden Verzeichnisse gleich an die richtige Stelle bringt.
- die Eintragungen mit ins /pub/export/"typ" statt nach Network-Stream
- tempdir solle nicht mit sichtbar sein
- eine minbitrate einbauen

:streichel
Sonst großes Lob an wilderigel und Unimatrix0 für die Anleitungen und den Script. Kann entlich mal Country hören, mei Katerchen iist auch schon seelig
easyVDR2.2.0-64bit-stable
es ist traurig, wenn alles für die Katz ist, aber nicht's für die Katze

This post has been edited 1 times, last edit by "riverphoenix" (Mar 20th 2005, 7:58pm)


19

Sunday, March 20th 2005, 8:04pm

RE: @ Unimatrix0

- Entpacken geht auch mit mc
- Verzeichnisse brauchst du nur in shoutcast2vdr-0.0.8 entsprechend anpassen.
- Tempdir nach /tmp/ ändern, und es ist nicht mehr sichtbar.
- minibitrate wird von shoutcast Server nicht unterstützt - dürfte schwierig werden.
- command.com gehört zu Dos :D nicht zu Linvdr /etc/vdr/commands.conf wäre die richtig Datei
2003 - 2011 - R.I.P.

riverphoenix

Professional

Posts: 743

Location: Gersdorf

Occupation: == Interessen

  • Send private message

20

Sunday, March 20th 2005, 8:17pm

berichtig : es war die command.conf
habe es mit den neuen Einträgen noch nicht so richtig geschnallt, werde es sicher aber noch packen
easyVDR2.2.0-64bit-stable
es ist traurig, wenn alles für die Katz ist, aber nicht's für die Katze

This post has been edited 1 times, last edit by "riverphoenix" (Mar 20th 2005, 8:17pm)


Immortal Romance Spielautomat