Raspberry PI Streamingserver

Seit einiger Zeit hab ich immer wieder mal ein Raspberry PI Projekt durchgeführt. Mich begeistert mit welcher Einfachheit und minimalen Aufwand es möglich ist, Dienste auf diesen Minicomputer stabil zu betreiben.

Nun bin ich mehrfach im Netz auf Infos zu einem Streamingserver mit Icecast gestoßen.

Das hat mich nun doch dazu bewegt diese Sache mal aufzugreifen. Der Raspberry eignet sich hervorragend für kleine Serverdienste , durch den enorm niedrigen Stromverbrauch. Hierzu sei angemerkt, dass es ein 5 Volt Schaltnetzteil sein sollte, da die Trafonetzteile zuviel Strom benötigen.

Hier eine Empfehlung :
http://www.reichelt.de/Ladegeraete-fuer-USB-Geraete

Als Streamingserver nutze ich die Icecast2 Software.

Nun geht es an die Installation :

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

MPD Installation meldet einen Fehler , dass Port 6600 nicht gebunden werden kann.
Diese Fehlermeldung kann durch löschen oder kommentieren des Eintrages in der „/etc/hosts“ beseitigt werden:

#::1        ip6-localhost ip6-loopback

Einstellungen in der Datei „/etc/mpd.conf“

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"
}

Starten des MPD-Dienst:

 sudo /etc/init.d/mpd restart

Überprüfen ob die Audio-Interface aktiv sind:

$ mpc outputs 
Output 1 (My ALSA Device) is enabled
Output 2 (RasPi MPD Stream) is enabled

Überprüfen ob die Dienste an den richtigen TCP-Ports laufen:

$ sudo netstat -ltpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 19938/icecast2 
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10540/apache2 
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2159/sshd 
tcp 0 0 0.0.0.0:6600 0.0.0.0:* LISTEN 20380/mpd

Korrektur der Dateirechte:

$ sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/
$ sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/

Anlegen eine Playliste für lokale MP3-Dateien:

$ cd /var/lib/mpd/music/
$ wget http://www.jonobacon.org/files/freesoftwaresong/jonobacon-freesoftwaresong2.ogg

Anlegen eine Playliste für Streamserver aus dem Internet:

sudo nano /var/lib/mpd/playlists/radiosender.m3u

http://mp3.webradio.antenne.de:80
http://pub4.di.fm:80/di_chilloutdreams_aac
http://pub3.di.fm:80/di_ambient?8bcc11f7801aaf570241f3f6
http://pub5.di.fm:80/di_spacemusic?8bcc11f7801aaf570241f3f6
http://pub5.di.fm:80/di_cosmicdowntempo?8bcc11f7801aaf570241f3f6
http://pub5.di.fm:80/di_psychill?8bcc11f7801aaf570241f3f6
http://pub2.di.fm:80/di_eclectronica?8bcc11f7801aaf570241f3f6
http://pub3.di.fm:80/di_classictrance?8bcc11f7801aaf570241f3f6
http://pub7.di.fm:80/di_vocaltrance?8bcc11f7801aaf570241f3f6

 

Weitere Listen gibt es hier : http://www.linupedia.org/opensuse/Radiosender

 

Aktivieren der Playliste:

$ mpc update
$ mpc ls | mpc add
$ mpc playlist

oder 
$ mpc clear
$ mpc load radiosender.m3u
$ mpc playlist

Space Dreams - DIGITALLY IMPORTED - ambient space music for expanding minds: Darshan Ambient - Soft Land
Cosmic Downtempo - DIGITALLY IMPORTED - A downtempo journey into the cosmos: Clams Casino - Drowning
PsyChill - DIGITALLY IMPORTED - downtempo psychedelic dub grooves, goa ambient, and world beats.: Eat Static - Abnormal Interference
EcLectronica - DIGITALLY IMPORTED - An eclectic mixture of modern electronica.: Hundred Waters - Boreal (Teebs Remix)
Classic Trance - DIGITALLY IMPORTED - relive the classic trance hits!!: DJ Dawn - On The Beach
Vocal Trance - DIGITALLY IMPORTED - a fusion of trance, dance, and chilling vocals together!: Neev Kennedy - A Bridge (Dns Project Remix)
Jono Bacon - Free Software Song 2

Jetzt kommt der große Moment, das Starten des Audiostreams:

$ mpc play
Jono Bacon - Free Software Song 2
[playing] #1/1   0:00/3:18 (0%)
volume: 80%   repeat: on    random: off   single: off   consume: off

Überprüfen und sicher stellen dass der Icecast Server läuft:

$ sudo /etc/init.d/icecast2 start
$ sudo update-rc.d icecast2 enable 2
$ sudo update-rc.d icecast2 enable 3

Nun Browser öffnen und http://ip-adresse-des-raspberry>:8000
Es sollte nun folgendes Bild erscheinen :

IcecastServer

 

Nun kann der eigentliche Audiostream aufgerufen werden mit folgender URL:

http://ip-adresse-des-raspberry>:8000/mpd

Falls Du Probleme bei der Installation oder Konfiguration erhälst, schreibe hier einen Kommentar bitte.

Have Fun ….

 

 

 

7 Kommentare

  1. Hallo,

    danke erstmal für das coole TUT
    Ist es aber auch möglich anstatt Musik Videos zu streamen?
    Also ich will sozusagen eine Playlist erstellen mit Videos die ich
    dann mit hilfe einer URL abrufen kann…

    MFG

    1. Leider geht bei mir diese Amweisung nicht:
      mpc ls | mpc add
      Es kommt ständig die Fehlermeldung:
      error: directory or file not found

      1. Im Augenblick hab ich wenig Zeit , werde mir das Problem aber ansehen.
        Hab das gleiche Problem auf einmal warum auch immer.

        Grüße Joachim

  2. Hallo Joachim,
    ich habe das Tut abgearbeitet und alles wie beschrieben eingerichtet. Leider kann ich am pc den Stream nicht abfragen. Bei http://ip-adresse:8000 kommt die allgemeine Startseite des icecast 2. Dort kann ich mich mit admin/hackme einloggen. Wenn ich dann ip-adresse:8000/mpd eingebe, wird die Seite nicht gefunden. Muss ich möglicheweise im icecast 2 noch andere Daten eingeben oder die Datei /etc/default/icecast2 anpassen?
    Grüße Jürgen

  3. Hallo Jürgen

    hast Du die Einstellungen in der Datei “/etc/mpd.conf” gemacht?

    host „localhost“
    port „8000“
    mount „/mpd“

    Nicht vergessen nach dem editieren:
    sudo /etc/init.d/mpd restart

    Viel Erfolg und Grüße Joachim

  4. Hallo Joachim, ich bin auf der Suche nach einem Streamingserver, der das Eingangssignal einer USB-Soundkarte (Line-IN, Behringer UCA202) als RTP streamt. Die Vorschläge, die ich bis jetzt im Netz gefunden habe, setzen alle auf Pulseaudio auf, was ich leider nicht zum Laufen bringe. Kann ich deinen Vorschlag dafür zweckentfremden? Wenn ja wie?

    Gruß Thomas

    1. Hallo Thomas

      sicher kannst Du den Vorschlag für Deine Zwecke umbauen, anwenden usw.
      Leider kenne ich mich mit dem Thema Soundverarbeitung über USB gar nicht aus. Was ich vermuten kann, dass es über ein Device Datei gehen muss, welches dann ausgelesen werden muss über den Daemon. Eventuell hilft Dir das schon bei Deiner weiteren Suche.

      Viel Erfolg wünscht Dir Joachim

Kommentar hinterlassen

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

*