Raspberry PI – Erste Schritte als Webradio

Nachdem die Funksteckdosen gesteuert werden konnten, wurde nun der MPD installiert, um den Raspberry auch als Webradio einsetzen zu können.

Auf die Idee kam ich hauptsächlich, um meinen alten Heimatsender N-Joy hören zu können.

Also los ging es:

Mit apt-get install mpd mpc wurden der Music Player Daemon und Music Player Command installiert.

Die Fehlermeldung:
[….] Starting Music Player Daemon: mpdlisten: bind to ‚[::1]:6600‘ failed: Failed to create socket: Address family not supported by protocol (continuing anyway, because binding to ‚127.0.0.1:6600‘ succeeded)
Failed to load database: Failed to open database file „/var/lib/mpd/tag_cache“: No such file or directory
ignorieren. Diese kommt unter anderem, weil kein IPv6 aktiviert ist.

Nun noch alles einrichten:
Dazu als erstes die Parameter der /etc/mpd.conf anpassen: sudo nano /etc/mpd.conf

  1. log_file[…] auskomentieren (am Anfang # einfügen)
  2. bind_to_address „localhost“ auskommentieren und bind_to_address „127.0.0.1“ einfügen
  3. Unter: MPD Internal Buffering sind folgende beiden Parameter auskommentiert, hier das # entfernen:
    • audio_buffer_size
    • buffer_before_play

Fertig. Nun müssen wir mit sudo /etc/init.d/mpd restart den Prozess neustarten.

Nun legen wir eine Playlist an:

Hinweis: Wenn man die m3u URLs der Radiosender hat, einfach die URL mit dem Notepad++ öffnen und dann erhaltet ihr die eigentliche Streaming-URL.

Nun mit dem nano oder vi: sudo vi /var/lib/mpd/playlists/radiosender.m3u eine Playlist anlegen und dort die gewünschten Sender einfügen. Bei mir sieht die Liste folgendermaßen aus:

http://gffstream.ic.llnwd.net/stream/gffstream_w10a
http://gffstream.ic.llnwd.net/stream/gffstream_w12a
http://mp3.webradio.antenne.de:80
http://mp3.webradio.rockantenne.de:80
http://swr.ic.llnwd.net/stream/swr_mp3_m_swr3a
http://ndrstream.ic.llnwd.net/stream/ndrstream_n-joy_hi_mp3

Also bei mir folgende Sender: Bayern 1, Bayern 3, Antenne Bayern, Rock Antenne, SWR 3, N-Joy

Nun kann man mit mpc load radiosender die Playlist laden. Nun kommt der entscheidende Moment: mpc play 1 spielt den ersten Titel. Nun solltet ihr am Audioausgang des Raspberry PI was hören.

Nun habe ich noch ein minimales Webinterface gefunden. Da mein Apache2 und PHP schon laufen, konnte ich das MPDWebinterface sehr einfach aktivieren:

  1. sudo mkdir /var/www/radio
  2. sudo chown pi /var/www/radio
  3. cd /var/www/radio
  4. wget https://github.com/sn0opy/MPD-Webinterface/archive/master.zip
  5. unzip master.zip
  6. cd MPD-Webinterface-master
  7. mv * ../
  8. cd ..
  9. rm MPD-Webinterface-master

Fertig. Nun aufrufen: http://raspi/radio auf und können das Radio steuern.


Kommentare

38 Antworten zu „Raspberry PI – Erste Schritte als Webradio“

  1. Hallo Felix,

    folgende Info, evtl kannst du das in deiner sonst super Anleitung einpflegen:

    Dein Befehl nano /etc.mpd.conf
    ist zu ersetzen mit sudo nano /etc/mpd.conf

    Weiterhin schreibst du
    Unter: MPD Internal Bufferingfolgende beiden Parameter auskommentieren
    • audio_buffer_size
    • buffer_before_play
    Die sind beide bereits auskommentiert…
    Aber du meinst wohl den # davor weg zu machen.

    Ich musste bei meinem noch den Buffer erhöhen.
    Aktuell 4096

    Ich habe Raspby Rev.1

    1. Hi Bernd,

      Vielen Dank. Nehme ich auf.

      Vg

  2. Hi

    vielen Dank für diese Anleitung.
    Funktioniert gut mit den von dir vorgegebenen Sendern, doch leider bekomme ich z.B. 1LIVE digi/FFN nicht ans laufen.
    Ich habe diverse Links für diesen Stream gefunden, aber ich bekomme immer eine dieser Fehlermeldungen:
    – error parsing song numbers from: …
    – ERROR: problems decoding „http://www.wdr.de/wdrlive/media/einslivedigi.m3u“
    Wo hast du deine Links gefunden?

    VG

    1. Hallo,
      Schön dass ich helfen konnte. 🙂
      Du musst die m3u mit einem Editor öffnen, dann findest du die direkte URL, die in deine m3u musst, sonst würdest du eine Playlist in die Playlist packen.
      Für diene URL ist das:
      http://1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi

      Viel Spaß,
      Felix

  3. Hi,

    danke für deine Anleitung. Du hast bei den Schritten fürs Webinterface vergessen zu schreiben, dass der Inhalt des Ordners „MPD-Webinterface-master“ in /var/www/radio verschoben werden muss. Man befindet sich normalerweise in /home/pi und nach deiner Anleitung würde man alle Dateien in ../ verschieben, also in /home.

    1. Danke, habe den CD /var/www/radio Schritt hinzugefügt.
      Habe ich im Eifer des Gefechts vergessen zu dokumentieren 😉
      Vg

  4. Super Anleitung, funktioniert Spitze! Danke!

  5. Hallo Felix,

    Deine Anleitung und der Kommentatoren ist super und ich konnte alles ohne Probleme installieren.

    Ich habe statt apache2 „lighttpd“ (braucht weniger Resourcen) installiert. Um das Web-Interface zu installieren musste ich PHP installieren. Hier ein Link wie das unter lighttpd geht:

    http://www.penguintutor.com/linux/light-webserver

    Abschnitt „Install PHP“.

    Gruss Lucas

    1. Vielen Dank Lukas. Vielleicht möchte der ein oder andere auf lighttpd statt Apache2 aufsetzen.
      VG

  6. Hallo, ich habe alles so gemacht wie beschrieben, hat auch gut funktioniert, bloß habe ich jetzt ausversehn auf Clear Playlist geklickt und jetzt hab ich keine Playlist mehr! In der Datei mit der Playlist ist aber noch alles wie davor.Ich habe das vom Ordner „MPD-Webinterface“ nocheinmal neu in /var/www/radio reinkopiert, aber die Playlist ist immer noch nicht wieder da 🙁 Kannst du mir Helfen?
    MfG David

    1. hast du mal versucht den Dienst oder Raspberry neuzustarten?
      Ansonsten würde ich versuchen die playlist noch mal zu laden mit:
      mpc load PLAYLISTNAME
      PLAYLISTNAME musst du durch deinen (Datei)-Namen ersetzen.

      Viel Erfolg und ich bin über deine Rückmeldung gespannt.

  7. Hallo!
    Danke für die Super-Anleitung. Ich habe noch nicht viel Ahnung von Raspi und Linux und habe es mit dieser Anleitung innerhalb 30 Minuten geschafft, auf meinem Raspi das Webradio zum Laufen zubringen. Der Raspi macht bei mir smb-Server und Bittorent-Sync-Server und jetzt auch noch Webradio!

    Drei kleine Problemchen hatte ich dabei:
    1. „sudo mkdir /var/www/radio“ ging bei mir nicht, musste ich aufspalten auf „sudo mkdir /var/www“ und danach „sudo mkdir /var/www/radio“ –> vermutlich, weil ich zu diesem Zeitpunkt noch kein PHP installiert hatte.

    2. Entgegen der Beschreibung kam nach „mpc load radiosender“ noch kein Mucks aus dem Raspi, erst nachdem ich über die Weboberfläche einen Sender angeklickt hatte.

    3. „rm MPD-Webinterface-master“ kam mit Fehlermeldung
    rm: cannot remove `MPD-Webinterface-master‘: Is a directory. Ich habs dann mit dem GNOME-Commander gelöscht.

    Danke nochmal!
    Georg

  8. Hallo!
    Danke für die tolle Anleitung.
    Soweit scheint soweit alles zu laufen.
    Jedoch kommt der Ton nur ganz leise über HDMI. Wie kann ich ihn dazu bewegen über die Klinkenbuchse etwas abzuspielen?
    Simon

  9. Super Sache das mit dem Pi als Internetradio.
    Gibt es denn mit dem MPD die Möglichkeit sofort bei Systemstart eine Playlist Datei abspielen zu lassen, also ohne starten über die App o.ä.?

    Danke

    1. Hallo Bob,
      Du kannst in die /etc/rc.lokal vor dem exit 0 folgendes einfügen. Dann sollte immer mit dem ersten Titel der Playlist gestartet werden:
      mpc play 1
      Viel Erfolg.

  10. Hab das gerade auf github entdeckt.

    https://github.com/matthiasleitner/piRadio?source=c

    funktioniert auch sehr gut

    1. Hallo, Danke. Bei Gelegenheit kann ich mir das mal auf meinem Versuchs-RasPI anschauen 🙂
      VG

  11. Avatar von Holger
    Holger

    Hi magst du mir sagen wie die URL aussehen mag für den Radiosender „Radio Ostfreisland“

    Danke Holger

    1. Hi Holger,

      So aus dem Stehgreif nicht, aber probier mal diese zwei:
      http://ber.radiostream.de:36949/
      http://fra.radiostream.de:36949

      Viel Erfolg!

  12. Avatar von Christian
    Christian

    Hi, super Anleitung. Funktioniert auch alles soweit super!

    Zwei Fragen habe ich noch:
    Wenn ich nun später einen weiteren Sender einfügen möchte, bin ich so vorgegangen:
    1. nano /var/lib/mpd/playlists/radiosender.m3u
    2. den weiteren Radiosender hinzugefügt
    3. Speichern
    4. mpc load radiosender (!?)

    Danach habe ich auf der Website die alte List PLUS die neue, also die ersten drei Einträge und dann nochmal die drei mit dem neuen Sender.

    Wie kann ich die Playlist „löschen“ und dann wieder neuladen?

    Und: Gibt es eine Möglichkeit, der crontab das Radio immer um z.B. 17 Uhr abzuschalten? Ich nutze das Radio im Büro und möchte, dass es immer um 17 Uhr z.B. abschaltet.

    Gruß und Danke,
    Christian

    1. Zuerst mpc clear aufrufen, um die Playlist zu leeren, dann mit mpc load die Playlist erneut laden.

      Gruß

      Nico

  13. Hi,

    danke dir für die super Anleitung.
    Mit dem Webinterface ist der Radio der Hammer.

    Deine Beschreibung ist echt einfach zu verstehen.

    Beste Grüße
    Manfred

  14. Hallo,

    Irgendwie schaffe ich es nicht, den Radiostreams klingende Namen zu vergeben. Egal wie ich meine .m3u Datei aufbaue, es wird immer irgendein Streamname angezeigt. Ich habe komplett die gleiche m3u Datei mit Mopidy versucht und da funktioniert es einwandfrei. habt ihr eine Idee?

    #EXTM3U
    #EXTINF:0,88.6 – Der Musiksender
    http://ber.radiostream.de:36795
    #EXTINF:0,Kronehit
    http://onair.krone.at/kronehit.mp3
    #EXTINF:0,Hitradio OE3
    http://mp3stream7.apasf.apa.at:8000

    1. @Roman
      mpd scheint im playlist-Verzeichnis nur standard m3u, keine extended m3u Playlists lesen zu können, siehe https://forum.openwrt.org/viewtopic.php?id=44898 .

      Eine Lösung habe ich leider auch noch nicht gefunden.

  15. Avatar von Bibifrine
    Bibifrine

    Player läuft mit den sendern von oben einwandfrei. Danke dafür. Das mit dem ausfinden der Stream Afdresse hab ich noch nicht verstanden.
    würde gerne von diesem Radio Snder :http://radiobrsieg.radio.de/
    die Webradio Adresse rausfinden.

    1. Hallo Bibifrine,
      Dein Link geht zu einer App. Auf der eigentlichen Sender Homepage habe ich oben den gesuchten Link gefunden: http://www.radiobonn.de/bonn/rb/53226/mp3-livestream
      Dort habe ich die Datei „live128.m3u“ heruntergeladen. Diese öffnet man normal im Player.
      Für den Raspberry PI öffnest man diese Datei mit dem Notepad und dort steht dann die Ziel-URL: http://ga-stream01.ga-bonn.de:80/live128 . Diese pflegst du jetzt in deine Playlist wie oben beschrieben ein.

      Viel Erfolg und ich würde mich über eine Rückmeldung freuen, ob es geklappt hat.
      Felix

  16. Hi, bin grade aus etwas anderem Kontext über die anleitung gestolpert.
    Zum thema Webinterface hätte ich noch einen Tip. YMPD, macht einen eigenen Webserver auf (python basis meine ich). ist recht unkompliziert und spart das ganze webserver einrichten etc. Ausserdem benötigt es weit weniger resourcen als ein apache oder lighttpd.

    gruß
    m0e

    1. Vielen Dank für den Hinweis.

  17. Ich habe alles wie beschrieben gemacht.Wenn ich mpc load radiosender z.B. mache, dann kommt timeout while connecting. Wo ist der Fehler?

    1. Hallo,
      Ohne deine Config zu kennen, ist das so schwer zu beurteilen.

  18. Avatar von Christoph
    Christoph

    Hallo!
    Ich habe das mit dem Webradio etc. alles hinbekommen. Danke für die gute Anleitung! Probleme sind mir nur bei z.B. N-Joy oder NDR2 aufgefallen, die werden bei mir mit MPC nicht wiedergegeben. Ich habe da schon 2 verschiedene Streamadressen im Internet gefunden und probiert – jedoch ergebnislos. Könntest du bitte deine AKTUELL funktionierende N-Joy-Adresse angeben? Vlt hat die sich ja mit der Zeit geändert. Über mplayer bekomme ich die beiden Sender übrigens auch zum laufen…

  19. Avatar von SIgi Gassner
    SIgi Gassner

    Gut gemachte Seite, danke!
    Eine Frage habe ich aber doch:
    Ich habe mir mit Qt5 eine GUI gebaut, mit 10 Stationstasten, funktioniert auch gut, mit dem Raspi-Touchscreen (800×480) eine tolle Sache. Eine Funkfernsteuerung baue ich gerade (Arduino), jetzt fehlt mir nur noch eins: eine Möglichkeit einen Sender auf Knopfdruck auch abzuspeichern. Hast du eine Idee, wie ich das lösen könnte?

    Grüße

    Sigi

  20. Avatar von SIgi Gassner
    SIgi Gassner

    Ich bins nochmal, geht ganz einfach:

    Man kann in /etc/mpd.conf doch tatsächlich ALSA als Audio-Output *und* HTTPD (Streaming über einen http-Daemon) aktivieren. Somit kann ich in meiner GUI einfach lokal (127.0.0.1:8000) auf den Stream zugreifen und den abspeichern, wenn die Aufnahmetaste gedrückt wird, ALSA spielt Audio ganz normal weiter ab. Öffne ich den Stream zusätzlich mit VLC, höre ich den Sender 2fach, mit einem kleinen Zeitversatz. Ein mächtiges kleines Ding, dieser mpd, coole Sache!

    # An example of a httpd output (built-in HTTP streaming server):
    #
    audio_output {
    type „httpd“
    name „My HTTP Stream“
    encoder „lame“ # optional, vorbis or lame
    port „8000“
    # bind_to_address „127.0.0.1“ # optional, IPv4 or IPv6
    # quality „5.0“ # do not define if bitrate is defined
    bitrate „128“ # do not define if quality is defined
    format „44100:16:1“
    max_clients „0“ # optional 0=no limit
    }

    Lame muss natürlich installiert sein.
    Folgende Zeile sollte auskommentiert sein:

    # For network
    #bind_to_address „localhost“

  21. Hallo, kann mir jemand sagen wie der MPD Client streaming von .m3u abspielt.
    z.B
    http://streams.br.de/bayern3_2.m3u

  22. […] Siehe: https://fschreiner.de/?p=387 sudo apt-get install mpd mpc git […]

  23. […] der Kommandozeile (per „cli“) das Radioprogramm mpd […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.