staging.inyokaproject.org

Bash-Tuner - Webradio hören über die Shell

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

KarstenW.

(Themenstarter)
Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: Zähle...

Hallo dAnjou,

da hast Du natürlich Recht daran habe ich nicht gedacht. Werde mir mal ein paar Gedanken machen und versuchen Deinen Lösungsvorschlag umzusetzen. Vielleicht findet sich jemand der eine mögliche Lösung in das Script integrieren kann.

Gruß Karsten

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2503

Semi-OT:

Julian92 schrieb:

clear löscht den Bildschirm, und das macht man unter Unix nicht. Vielleicht steht da was, was der User noch braucht.

Das hatte ich zu Beginn auch gedacht.

Allerdings ist das so nicht ganz richtig, zumindest in all meinen bisherigen Scripten.

Clear verschiebt im Bash-Script alles bisherige aus dem Blickfeld. Mit der Scrollbar kann man nach oben fahren und die vorherigen Ereignisse einsehen.

Es täuscht also im Prinzip nur ein frisches Fenster vor.

Das hängt übrigens vom verwendeten Terminal ab. Wenn dein Terminal das so macht – gut. Aber das muss nicht immer so sein. Es reicht schon, wenn du das mal am Linux-VT (Strg+Alt+F1 und so, wissenschon) machst. Der Scrollback-Buffer ist doch schon deutlich kleiner als bei deinem (vermutlich) GNOME-Terminal. Ja, du kannst auch hier zurückscrollen – aber nicht weit. Da kann ein „clear“ hinreichend nerven. ☺

Ryuno-Ki

Avatar von Ryuno-Ki

Anmeldungsdatum:
7. März 2011

Beiträge: Zähle...

Mal 'ne Frage ...

Haben Server eigentlich auch Soundkarten (das sie keine GUI brauchen, weiß ich 😉)

Falls ja, wäre mitunter ja eine Opion --desktop sinnvoll, die dann die Zenity-Variante aufruft ...

Manch einer mag das Ding ja lieber in der Konsole bedienen 😉

Als Anregung

Ryu

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: Zähle...

Ryuno-Ki schrieb:

Haben Server eigentlich auch Soundkarten (das sie keine GUI brauchen, weiß ich 😉)

Server sind so gesehen auch nur ganz normale Rechner. Und Home-Server werden sicherlich eine Soundkarte haben. Server in Rechenzentren hingegen nicht, aber da will ja auch keiner Musik hören 😉

xxxx

Anmeldungsdatum:
12. Oktober 2009

Beiträge: Zähle...

Hi, ich habe eben etwas an Deinem Script rumgebastelt.

Es verwendet in dieser Variante eine externe Senderliste:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Sendername                            Typ             Parameter
Radio Vorarlberg                        shoutcast       1568257
Antenne Vorarlberg HD                   shoutcast       2301871
Antenne Vorarlberg Partymix             shoutcast       1271847
Antenne Vorarlberg - Die 80er           shoutcast       1280075
Antenne Vorarlberg - Schlagerkult       shoutcast       1270547
Antenne Vorarlberg - Lounge             shoutcast       1268946
Antenne Vorarlberg - Classic Rock       shoutcast       927112
Antenne Vorarlberg - Hit                shoutcast       1275817
Antenne Vorarlberg - Lovesongs          shoutcast       1268893
Antenne Vorarlberg - Die 90er           shoutcast       1266169
Antenne Vorarlberg - Die 70er           shoutcast       2166816
Rockantenne Heavy Metal                 url             http://mp3channels.webradio.rockantenne.de/heavy-metal.m3u
Bayern 3                                url             http://streams.br-online.de/bayern3_2.m3u
B5 Aktuell                              url             http://streams.br-online.de/b5aktuell_2.m3u

Außerdem läuft der größte Teil des Scripts in einer Endlosschleife, anstatt wie bisher jedesmal eine neue Instanz zu starten.

 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/bash
# Bash-Tuner
# Ein Script von Karsten Weidenfeld (2011)

SHOUTCAST_BASISURL="http://yp.shoutcast.com/sbin/tunein-station.pls?id="

# Senderliste im gleichen Verzeichnis wie das Script
SENDER_LISTE="$(dirname "$(readlink -f "$0")")/bash-tuner-senderliste"
# Senderliste im HOME-Verzeichnis
#SENDER_LISTE="$HOME/bash-tuner-senderliste"

while :; do # Beginn Endlosschleife

if ! [[ -f "$SENDER_LISTE" ]]; then
  echo "Senderliste \"$SENDER_LISTE\" nicht gefunden." >&2
  exit 1
fi

# Senderliste laden
SENDER_NAMEN=()
SENDER_URLS=()
i=0
while read typ parameter name; do
  case "$typ" in
    url)
      SENDER_URLS[i]="$parameter"
      ;;
    shoutcast)
      SENDER_URLS[i]="$SHOUTCAST_BASISURL$parameter"
      ;;
    *)
      echo "Unbekannter Sendertyp \"$typ\"" >&2
      continue
      ;;
  esac
  SENDER_NAMEN[i]="$name"
  let i++
done < <(sed -r '/^\s*#/d;s/^(.*)\s+([[:alnum:]]+)\s+([^[:space:]]+)$/\2 \3 \1/' < "$SENDER_LISTE")

cat <<EOF
====================================
  Antenne Vorarlberg @ Bash-Tuner @ 
    http://www.Bitdome.de           
====================================
EOF

# Liste ausgeben
i=1
anzahl_sender=${#SENDER_NAMEN[@]}
ziffern=${#anzahl_sender}
for sender in "${SENDER_NAMEN[@]}"; do
  printf "%-${ziffern}d: $sender\n" $i
  let i++
done

cat <<EOF
[url] Streamadresse eingeben und abspielen

Playersteuerung: [9] Leiser [0] Lauter [Q] Sender beenden

Bitte geben Sie die Programmnummer ein
Programm beenden mit [x]:
EOF

declare -l sendernummer
read sendernummer
if [[ $sendernummer =~ ^[0-9]+$ ]]; then
  if (( sendernummer > 0 && sendernummer <= anzahl_sender )); then
    mplayer -playlist "${SENDER_URLS[sendernummer-1]}"
  else
    echo "Senderplatz nicht belegt: $sendernummer" >&2
  fi
elif [[ $sendernummer == url ]]; then
  echo "Bitte geben Sie die Streamadresse ein, die abgespielt werden soll:"
  read streamurl
  mplayer -playlist "$streamurl"
elif [[ $sendernummer == x ]]; then
  exit
fi

done # Ende der Endlosschleife

Ich hoffe damit kann jemand was anfangen

KarstenW.

(Themenstarter)
Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: 208

Hallo XXXX,

habe gerade mal getestet und muss sagen einfach grandios wie Du das gelöst hast, habe mir schon den Kopf zerbrochen wie man das mit einer externen Datei löst in der die Sender gelistet sind. Danke für Deinen Beitrag zum Projekt.

Gruß Karsten

grema

Avatar von grema

Anmeldungsdatum:
27. August 2009

Beiträge: Zähle...

Inhalt der datei: webradioliste.csv

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
1;Radio Vorarlberg;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1568257
2;Antenne Vorarlberg HD;http://yp.shoutcast.com/sbin/tunein-station.pls?id=2301871
3;ANTENNE VORARLBERG - Partymix;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1271847
4;ANTENNE VORARLBERG - Die 80er;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280075
5;ANTENNE VORARLBERG - Schlagerkult;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1270547
6;ANTENNE VORARLBERG - Lounge;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268946
7;ANTENNE VORARLBERG - Classic Rock;http://yp.shoutcast.com/sbin/tunein-station.pls?id=927112
8;ANTENNE VORARLBERG - Hit;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275817
9;ANTENNE VORARLBERG - Lovesongs;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268893
10;ANTENNE VORARLBERG - Die 90er;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1266169
11;ANTENNE VORARLBERG - Die 70er;http://yp.shoutcast.com/sbin/tunein-station.pls?id=2166816
12;radio salue classic rock;http://tiscali.project-fx.de/play.mp3?radio=saluecrock;m

Das script zum abspielen

 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/bash
# file: bash-tuner.sh
######################

# path und dateiname ggf. anpassen
CSV_File=$HOME/webradioliste.csv

typeset -a senderurl sendername urltyp
while read Zeile
        do
        i=$(echo $Zeile|cut -d";" -f1)
        name=$(echo $Zeile|cut -d";" -f2)  
        url=$(echo $Zeile|cut -d";" -f3)
        typ=$(echo $Zeile|cut -d";" -f4)
        echo $i" "$name|more
        senderurl[$i]=$url; sendername[$i]=$name; urltyp[$i]=$typ
done < $CSV_File

echo -e "Playersteuerung: [9] Leiser [0] Lauter [Q] Sender beenden \n"                             
read -p "Bitte geben Sie die Programmnummer ein. Programm abbrechen mit [x]:" i 
if [ "$i" == "x" ];then exit ;fi

if [ "${urltyp[$i]}" == "" ];then
        mplayer -playlist ${senderurl[$i]}
        else
        echo -e "Keine pls, spiele mp3...\n"
        mplayer `wget -O - --read-timeout 60 "${senderurl[$i]}&txt=1"`
fi
exit 0

Du kannst es natürlich noch etwas ausbauen.

Gruss 42 😉

Nachtrag: Man beachte in der webradiolist.csv ,Eintrag 12, dahinter steht noch ein ";m" um auch andere urls zu verarbeiten

walaw

Anmeldungsdatum:
18. Februar 2014

Beiträge: Zähle...

Hallo! Spannendes Projekt!

Wurde am Bash-Tuner noch weiter gebastelt? Gibt es ähnliche alternative Projekte?

Und welche Dateien sind jetzt die aktuellsten um den Bash-Tuner zu betreiben - also mit all den Aktualisierungen aus dem Thread hier? 😕

walaw

Anmeldungsdatum:
18. Februar 2014

Beiträge: 54

ah ich sehe gerade - dort geht es weiter → http://forum.ubuntuusers.de/topic/tester-gesucht-neuer-bashtuner/

KarstenW.

(Themenstarter)
Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: 208

Hallo zusammen,

das Bashtuner Projekt gibt es noch und die aktuelle Version finden man unter https://gist.github.com/hoodie/5746978

Von Zeit zu Zeit arbeite ich an dem Script weiter und versuche neue Ideen umzusetzen. Da ich in meiner Freizeit bei http://www.Radio-Wolke7.de als Moderator und helfende Hand in der Technik mitwirke ist es manchmal zeitlich schwierig. Paralell läuft aktuell noch ein weiteres Projekt. Auf meinem VServer baue ich gerade eine zeitgesteuerte Aufnahme Automation für ein Sendungsarchiv. Meine http://www.Radiolauscher.de Seite und http://www.Linuxfiles.de sind auch noch weitere Projekte.

Bashtuner aber ist und bleibt mein Baby ☺ um das ich mich auch weiterhin kümmern werde.

Grüße aus Lippstadt Karsten

Drosselbart

Anmeldungsdatum:
26. August 2010

Beiträge: Zähle...

Hallo,

ich finde bashtuner absolut prima, Ich moechte es mit

gnome-terminal -e /home/solaris/bin/bashtuner.sh -af

starten aber das klappt nicht, wo ist der Fehler?

Vielen Dank!

Gruss aus Essen

Drosselbart

Anmeldungsdatum:
26. August 2010

Beiträge: Zähle...

meine Frage hat sich erledigt.

gnome-terminal -x  /home/solaris/bin/bashtuner.sh -af

macht was es soll

Antworten |