• Blog
  • Raspberry Pi
  • Über mich
  • Projekte
  • devowl.io

Raspberry Pi: Icecast2 Streaming Audio Server installieren

22. Januar 2013
Raspberry Pi
27 Kommentare

Icecast2 ist ein moderner Audio Streaming Server bzw. Broadcast Server, mit dem man sein eigenes Webradio betreiben oder mit Freunden (natürlich gema-freie) Playlists teilen kann. Wenn dieser Server im kleinen Rahmen 24/7 laufen soll, bietet es sich an, diesen auf Grund des geringen Stromverbrauches, auf dem Raspberry Pi unterzubringen. Im Folgenden erkläre ich, wie man sich Icecast2 und mpd zum dauerhaften Abspielen von Playlisten auf den Raspberry Pi installiert.

Voraussetzung: Raspbian oder vergleichbare Distribution installiert

Step 1

Zuerst installieren wir die Icecast2 Anwendung und mpc, wie auch mpd mittels APT auf den Raspberry Pi. Während der Installation hat man die Möglichkeit Icecast2 zu konfigurieren, welche wir auch wahrnehmen und mit Yes bestätigen. Zuerst muss der Hostname des Raspberry Pis angegeben werden, welchen wir mit der IP Adresse des Raspberry Pis füllen, und darauffolgend drei Passwörter, welche wir später noch benötigen. Mit dem angegebenen Passwort und dem Nutzernamen admin kann man sich auch in das Webinterface von Icecast2 anmelden, welches unter http://IP:8000/ (IP ist durch IP des Raspberry Pis zu ersetzten) erreichbar ist.

sudo apt-get update && sudo apt-get install mpc mpd icecast2

Step 2

Während der Installation erhielten wir eine Warnung von mpd, welche aussagt, dass es fehlschlug, den Port 6600 zu besetzen, da dies im IPv6 Bereich geschehen soll, welcher jedoch bei Raspbian standartmäßig deaktiviert ist. Mit folgendem Kommando können wir das Kernel Modul laden und somit den Fehler beseitigen.

sudo modprobe ipv6

Step 3

Nun konfigurieren wir mpd. Diese Anwendung wird später Playlists auf dem Raspberry Pi abspielen. Hierzu fügen wir den unten angegebenen Abschnitt der Datei /etc/mpd.conf hinzu. In name und description können wir einen Titel bzw. eine Beschreibung für den Stream eintragen. Die Parameter host und port bestimmen, an welche Adresse mpd senden soll (Port von Icecast2 ist 8000). Unter password gegeben wir das zuvor für Icecast2 definierte Stream-Passwort ein. Unter bitrate kann die Bitrate des Streams in kbit definiert werden. 192kbit ist hier empfehlenswert. Unter mount können wir, mir vorangestelltem Schrägstrich, den Namen der Datei des Streams definieren. Alle anderen Einstellungen können so bleiben wie sie sind. Zum Ändern benutzen wir einen Editor unserer Wahl. Ich bevorzuge hier nano. In diesem kann man mittels STRG + X, Y und Enter speichern.

sudo nano /etc/mpd.conf

audio_output {
type "shout"
name "My Rspberry Pi Stream"
description "This is a Icecast2 stream on my Raspberry Pi"
host "localhost"
port "8000"
mount "/mpd"
password ""
bitrate "128"
format "44100:16:2"
encoding "mp3"
}

Step 3

Nachdem wir nun alle Einstellungen an mpd fertiggestellt haben, starten wir den Dienst neu.

sudo /etc/init.d/mpd restart

Step 4

Die Musikdateien zum Streamen sind unter /var/lib/mpd/music/ und Playlisten unter /var/lib/mpd/playlists/ gespeichert. Jedoch hat der Benutzer pi nicht die nötigen Rechte um darauf schreiben und lesen zu können. Wir fügen den Benutzer pi nun zu der Gruppe audio hinzu uns geben dieser entsprechende Rechte.

sudo usermod -a pi -G audio
sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/
sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/

Step 5

Nun befüllen wir den Ordner /var/lib/mpd/music/ mit unserer Musik. Daraufhin sagen wir mpd, es sollte die Musikliste aktualisieren und alle Titel zur aktuellen Playlist hinzufügen.

mpc update
mpc ls | mpc add
mpc playlist

Step 6 (optional)

Möchte man die Musik in einer Dauerschleife abspielen, was zu empfehlen ist, damit der Stream dauerhaft läuft, kann man dies mit folgendem Kommando einstellen.

mpc repeat on

Step 7

Jetzt starten wir die Wiedergabe von mpc, mittels folgendem Kommando

mpc play

Fertig! Sieht man nun unter http://IP:8000/ (Ip ist durch IP des Raspberry Pis zu ersetzten), so findet man einen Stream, der die auf dem Raspberry Pi befindliche Musik abspielt. Natürlich kann man auch andere Programme als mpd zum Befüllen des Streams verwenden, wie z.B. Virtual DJ. Als Server ist hierbei die IP-Adresse des Raspberry Pis und der Port 8000 anzugeben.

Zugriff außerhalb des eigenen Netzwerks
Portfreigabe im Router

Soll der soeben installierte Dienst auch außerhalb des eigenen Netzwerkes verfügbar sein, so müssen folgende Ports im Router freigegeben werden. Wie man freigibt, beschrieb ich in dem Artikel Portforwarding bei Fritz!Box und Speedport.

8000

27 Kommentare. Hinterlasse eine Antwort

  • Andrey
    November 22, 2013 1:02 pm

    Danke vielmal!

    Antworten
  • Kagu
    September 10, 2014 1:36 am

    Heyho…

    kann ich dem Stream sagen, dass er von einem anderen medium abspielen soll wie bspw. meiner Festplatte, welche für Samba angeschlossen ist?

    Und wenn ja – kann ich ihn auch Ordner rekursiv einlesen lassen?

    Antworten
    • Jan Karres
      September 10, 2014 12:21 pm

      Ich habe mir Icecast2 jetzt zum Testen gerade nicht aufgesetzt, aber ich denke, dass du dies in der /etc/mpd.conf einstellen können solltest.

      Antworten
      • Christian
        November 29, 2015 5:54 pm

        Hallo,
        ich würde mal auf folgender Webseite schauen:
        http://www.musicpd.org/doc/user/config.html#config_music_directory

        Ich überlege auch gerade mir einen Raspberry Pi 2, Banana Pi oder ähnliches Gerät für diesen Zweck zu kaufen.

        Gruß

        Antworten
  • David
    Dezember 17, 2014 12:26 pm

    Vielen Dank für deine tollen Anleitungen Jan.

    Ich scheitere gerade daran das pyload bei mir bereits den Port 8000 besetzt, auch wenn ich pyload beende und mpd neustarte. Eine Änderung des Ports in der mpd.conf und/oder auch icecast.xml brachte mir auch keinen Erfolg. Weder über Port 8000, noch über einen alternativen Port gelang mir das öffnen des Web-Interface. Auch das öffnen des Streams mit VLC funktioniert nicht. Bei der Eingabe „mpc play“ zeigt mir MPD aber an das Musik gespielt wird.

    Weißt du vielleicht weiter? Vielen Dank!

    Antworten
    • Jan Karres
      Dezember 22, 2014 6:56 pm

      Wenn du den Port vor dem Start der Anwendung geändert hast sollte es schon einwandfrei funktionieren. Ansonsten kannst du dir auch einmal die Logfiles unter /var/log ansehen.

      Antworten
  • [Experiment] Eigener Radio Stream: Icecast & MPD auf dem Rasperry Pi unter Raspbmc | geeKing
    Dezember 19, 2014 2:12 pm

    […] noch Shoutcast und Icecast zum vorschein. Durch Icecast stolperte ich nun gerade noch über eine Anleitung von Jan Karres meinem Lieblings-Raspberry Blogger, nach dessen tollen Anleitungen ich auch erfolgreich […]

    Antworten
  • Kay
    März 11, 2015 10:51 pm

    Du bist einfach der Hammer (und Dein Blog auch).
    Ich hab (vor mehreren Monaten) eine Ewigkeit gebraucht, die Parameter für Shutdown unter Debian rauszubekommen (was eigentlich auch traurig ist, aber naja…).
    Auf Deinem Blog habe ich’s in 5 Sekunden gefunden.

    Auch das Aufsetzen von Icecast war, dank Dir, kein Problem.
    Bitte mehr Anleitungen dieser Art.

    Und vielen, vielen Dank.

    Antworten
    • Jan Karres
      März 31, 2015 6:42 pm

      Ich danke fürs Lesen und die netten Worte 🙂

      Antworten
  • Robert
    Juni 24, 2015 2:13 pm

    Besteht die Möglichkeit mehrere Playlists anzulegen???

    Antworten
    • Jan Karres
      August 3, 2015 9:55 pm

      Ich denke ja. Du müsstest alle Playlists einfach unter /var/lib/mpd/playlists/ ablegen.

      Antworten
      • Robert
        August 3, 2015 10:25 pm

        ja dieser Pfad ist mir auch bereits aufgefallen…
        Wenn ich mehrere Playlists habe wie aktiviere ich dann zum Beispiel „Playlist A“ ?

        Antworten
        • Jan Karres
          August 3, 2015 11:55 pm

          Ich denke das musst du in der /etc/mpd.conf konfigurieren, habe gerade aber keine Installation vorliegen.

          Antworten
          • Christian
            November 29, 2015 6:21 pm

            Hallo,
            ich würde mal auf folgender Webseite schauen:
            https://wiki.ubuntuusers.de/MPD/Server#Verzeichnisse

            Gruß

  • Olaf
    Juli 19, 2015 10:14 pm

    Könnte ich damit auch einen in Echtzeit generierten Audiostream, z.B. aus Max MAP oder PD auf meine eigene Radiostation senden, also nicht eine Playlist oder vorhandenes mp3?

    Antworten
    • Jan Karres
      August 3, 2015 11:23 pm

      Logo. mpd ist nur ein Platzhalter.

      Antworten
  • Jano
    August 23, 2015 1:08 pm

    Leider werden im Stream Album Cover oder ein StreamLogo als Cover nicht angezeigt.
    Wie kann man dieses bewerkstelligen ?

    Antworten
    • Jan Karres
      August 25, 2015 6:46 pm

      Soweit ich auf die Schnelle herausfinden konnte ist das mit dieser Art von Stream nicht möglich.

      Antworten
      • Jano
        September 3, 2015 3:54 pm

        Gibt es alternativen für meinen Raspberry PI2 , wo ich dieses mit bewerkstelligen könnte? IDTAG2 Cover,Album,Interpret,Jahr,Titel ?

        Das könenn ja viele WebRadios anzeigen! Wäre echt toll, wenn das auch bei mir ginge.

        Wenn kein Cover im MP3 gespeichert ist, sollte er das Senderlogo, was man vordefinieren kann dafür darstellen. 😉

        Antworten
  • Holger Busch
    März 26, 2016 8:34 pm

    Hey, welches Betriebssystem sollte ich auf dem PI installieren? Raspian?

    Grüße aus Soest

    Antworten
    • Jonas
      April 24, 2016 4:51 pm

      „Voraussetzung: Raspbian oder vergleichbare Distribution installiert“

      Steht oben drüber 😀

      Antworten
  • Jonas
    April 24, 2016 4:52 pm

    Icecast läuft so ja über Port 8000 und ohne SSL. Wie aktiviert man das richtig? Ich habe nämlich gleichzeitig schon meinen normalen Apache-Server laufen, der auf 443 lauscht…

    Antworten
  • Coffee & Paste - Folge 17 - Kaffee, Apple Pay, Apple Homepod, Eurosport, Spotify, Google | Coffee & Paste
    Februar 3, 2018 11:28 am

    […] Radiostream mit IceCast und Raspberry Pi – Qualitätseinstellungen bei Spotify – Freier Empfang von Eurosport HD via DVB-T2 zu […]

    Antworten
  • Mubin
    Juni 7, 2018 11:38 pm

    Hey,
    Kann man nicht nur gespericherte Musik sondern den mit USB verbundene Mikrofon streamen? Wie?

    Antworten
  • Leider nein – Clickomania
    Juli 7, 2019 7:36 pm

    […] lediglich eine Software fürs Webradio-Streaming. Es gibt mit Icecast2 sogar eine Server-Software für den Raspberry Pi, sodass man den als Relais einsetzen könnte. Für den Machbarkeitsnachweis habe ich es aber erst […]

    Antworten
  • Ben
    Februar 20, 2021 8:03 pm

    Hallo, ist die Anleitung noch aktuell? Bekomme nämlich im Schritt mpc update eine Fehlermeldung:“mpd error: No database“. Kann der wer helfen?

    Antworten
  • Harry
    April 20, 2023 10:46 am

    Hallo, als rel. Neuling läuft auf meinem Raspi 3 ein squeezeboxserver, der mehrere Boxen gut versorgt. Ich möchte nun auf einem rel. einfachen Internetradio (Bausatz von ELV) von einer http im eigenem LAN einen Sender aus dem Netz abspielen.
    Diese „Übersetzung“ ist notwendig, da die meisten Streams mit dem ELV-Radio nicht mehr empfangen werden können. Es funktionieren nur noch http und nicht mehr https.
    Wie sollte ich das am einfachsten realisieren?

    Antworten

Schreibe einen Kommentar Antworten abbrechen

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

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Jan Karres
Jan Karres
Wirtschaftsinformatiker
Facebook
Twitter
YouTube
LinkedIn
Xing
GitHub

Themen

  • Blogging
  • Debian (Linux)
  • Eine Geschichte aus dem Leben des Jan
  • Fotos
  • Gaming
  • Gedanken
  • Linksammlungen
  • Privates
  • Projekte
  • Raspberry Pi
    • Einplatinencomputer (außer Raspberry Pi)
  • Schule und Studium
  • Tipps und Tricks
  • Videos
  • Vorgestellt
  • WordPress

Projekte

Dieser Blog ist meine kleine Base im Internet, in der ich über Themen schreibe, die mich persönlich beschäftigen. Abseits davon habe ich weitere Projekte im Netz, die teils aus Spaß entstanden, jedoch zum Teil auch meinen Kühlschrank füllen.

Alle Projekte

JanKarres.de © 2007-2022

Neueste Beiträge

  • Raspberry Pi: WLAN Access Point mit NordVPN (VPN Router) einrichten Dezember 5, 2020
  • Real Cookie Banner: Wie das Opt-in Cookie Banner für WordPress entstand November 18, 2020
  • Blog Setup erneut: Aufräumen einer kleinen Historie Oktober 13, 2020
  • devowl.io: Auf geht’s in das WordPress Business! März 10, 2020
  • Kuschelpartys: Nähe und Geborgenheit einfach erleben September 30, 2018

devowl.io

Meine Brötchen verdiene ich im Internet. Dazu habe ich gemeinsam mit meinem Kollegen Matze die devowl.io GmbH gegründet. Gemeinsam entwickeln und vertreiben wir in unser Plugins und Entwickler-Tools im WordPress Umfeld.

Mehr erfahren
  • Datenschutzerklärung
  • Impressum