AirPlay mit dem Raspberry Pi - Shairport Installation

  • Wie wäre es , wenn ihr überall im Haus eure Musik oder OnlineRadio streamen könntet. Ihr kocht gerade in der Küche oder grillt auf der Trasse und holt euer iPhone heraus und schaltet damit die Musik. Folgendes wird benötigt.

    Sender: iPhone, iPad, MacBook oder iTunes
    Empfänger: Raspberry Pi (Raspbian + Shairport) mit WlAN Stick oder Ethernet Kabel - für besseren Sound sollte eine USB Soundkarte verwendet werden, da der Line-Out der RPi's leicht knackt und rauscht
    Ausgabe: Lautsprecher mit Line-In bzw AUX Eingang

    Hier eine Anleitung wie ihr shairport auf eurem Raspberry Pi zum laufen bekommt.

    1. Paketlisten aktualisieren

    Code
    sudo apt-get update

    2. Klinkenausgang als Standard definieren

    Code
    amixer cset numid=3 1


    Hier eine Übersicht der Ausgänge:

    • 0 - auto
    • 1 - headphones
    • 2 - HDMI

    3. Diese Pakete sind Voraussetzung für Shairport
    Wir installieren unter anderem "git", damit wir Shairport über Github compilieren und installieren können

    Code
    sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils


    Der Vorgang dauert ca. 5 Minuten

    4. Shairport herunterladen und installieren
    Nun laden wir Shairport von Github herunter bzw fügen die Repository von shairport hinzu

    Code
    sudo git clone https://github.com/albertz/shairport.git shairport


    Nun begeben wir uns in den Ordner shairport

    Code
    cd shairport


    und compilieren es

    Code
    sudo make



    5. Shairport nach Boot automatisch starten lassen

    Code
    sudo make install

    5.1 Init Sample von Shairport in Startverzeichnis kopieren

    Code
    sudo cp shairport.init.sample /etc/init.d/shairport

    5.2 Shairport Rechte im init.d Ordner zuweisen

    Code
    cd /etc/init.d
    Code
    sudo chmod a+x shairport

    5.3 Runlevel zuweisen

    Code
    sudo update-rc.d shairport defaults

    5.4 shairport bearbeiten
    Wir befinden uns immernoch im Ordner "/etc/init.d"

    Code
    sudo nano shairport

    Wir ändern DAEMON_ARGS :

    Code
    NAME=shairport
    DAEMON="/usr/local/bin/shairport.pl"
    PIDFILE=/var/run/$NAME.pid
    DAEMON_ARGS="-w $PIDFILE"


    zu

    Code
    NAME=shairport
    DAEMON="/usr/local/bin/shairport.pl"
    PIDFILE=/var/run/$NAME.pid
    DAEMON_ARGS="-w $PIDFILE -a RaspberryPi"


    Speichern mit STRG+O
    und verlassen den Editor mir STRG+X

    6. Starten! Nicht vergessen Lautsprecher anzuschließen! ;)

    Code
    sudo /etc/init.d/shairport start


    Auf folgende Befehle hört Shairport nun {start|stop|status|restart}

    Das schöne ist, dass Shairport mit meiner Radio.de App (Online Radio Streams) zurecht kommt und ich nun bequem überall Radio bzw Musik hören kann! =)

    Mein iphone/iPad findet den RPi nicht! Was tun?
    Das liegt wahrscheinlich daran, dass das iPad jedes mal wenn es einem Netzwerk beitritt 1x nach den AirPlay Geräten sucht.
    Der RPi wird gefunden, indem du einfach das WLAN deines iPads/iPhones einmal de- und wieder aktivierst.

    iOS 6 Bug
    7. Optional: Hier ein Workaround für iOS 6:

    Code
    wget https://www.forum-raspberrypi.de/mydownloads/downloads/libnet-sdp-perl_0.07-1_all.deb
    wget https://www.forum-raspberrypi.de/mydownloads/downloads/shairport_0.05-1_armhf.deb
    
    
    sudo dpkg -i libnet-sdp-perl_0.07-1_all.deb
    sudo dpkg -i shairport_0.05-1_armhf.deb
    sudo /etc/init.d/shairport restart


    Damit sollte es funktionieren. Bei mir klappt es! Danke an diegocaro für die Pakete!

    Falls ein Fehler während der Installation der beiden Pakete auftritt, dürfte es ausreichen die übrigen Abhängigkeiten durch

    Code
    sudo apt-get -f install

    aufzulösen.
    Danke an Corrie


    Wenn du Fragen und/oder Verbesserungsvorschläge hast, zögere nicht diese unter diesem Beitrag zu stellen.
    Über ein kurzes Feedback, ob es geklappt hat würde ich mich auch sehr freuen!

    Images

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Edited once, last by ps915 (December 12, 2012 at 7:26 PM).

  • AirPlay mit dem Raspberry Pi - Shairport Installation? Schau mal ob du hier fündig wirst!

  • Mit iTunes kannst du sogar die gleiche Musik synchron streamen.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Es gibt auch android Apps für AirPlay.
    https://play.google.com/store/search?q=AirPlay

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Habe mich genau nach der Anleitung gehalten.
    Dennoch erziele ich weder mit iTunes, noch mit einem iPhone 4s und iPod Touch 4G ein Resultat.
    Alle Geräte befinden sich im gleichen Netzwerk und shairport ist gestartet.

    Hoffe jemand kann mir helfen.

  • Folgendes ausprobiert?

    Mein iphone/iPad findet den RPi nicht! Was tun?
    Das liegt wahrscheinlich daran, dass das iPad jedes mal wenn es einem Netzwerk beitritt 1x nach den AirPlay Geräten sucht.
    Der RPi wird gefunden, indem du einfach das WLAN deines iPads/iPhones einmal de- und wieder aktivierst.

    Wenn das nicht funktioniert:

    1.Poste hier den Inhalt von /etc/init.d/shairport
    2.Rückgabe von sudo /etc/init.d/shairport restart posten

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Hallo,

    ich bin neu hier im Forum aber das angesprochene Thema interessiert mich doch sehr. Ich hab meinen raspberry pi bestellt und er sollte auch die nächsten Tage eintreffen. Ich hab mir nun paar Gedanken gemacht, wie ich diesen am besten als eine Art Apple TV light benutzen kann. Die AirPlay Funktion des Xbmc ist natürlich Bombe. Daher hatte ich auch vor raspbmc zu nutzen. Nur wusste ich bis heute nicht, dass das abspielen von Musik über AirPlay so dann nicht möglich ist. Also von ich durch googeln auf dieses Thema gestoßen. Meine frage ist nun, ob ich shairport und raspbmc parallel nutzen kann. Also ich stelle mit das so vor, dass shairport im Hintergeund raspbmc um das streamen von Musik ergänzt. Geht das? Danke für die Antworten. Gruß

  • darklight
    Du hast Recht, irgendetwas stimmt da nicht! Ich werde die Anleitung anpassen und versuchen herauszufinden wo der Fehler steckt. Vielleicht hängt es mit deinem Betriebssystem zusammen. Welches nutzt du?
    Nach langer Recherche habe ich herausgefunden, dass das neue iTunes und das Update auf iOS 6 mit Shairport haben. Nutzt du ein Apple gerät mit iOS 6?

    Hier ein workaround für iOS 6:

    Code
    wget https://www.forum-raspberrypi.de/mydownloads/downloads/libnet-sdp-perl_0.07-1_all.deb
    wget https://www.forum-raspberrypi.de/mydownloads/downloads/shairport_0.05-1_armhf.deb
    
    
    sudo dpkg -i libnet-sdp-perl_0.07-1_all.deb
    sudo dpkg -i shairport_0.05-1_armhf.deb

    Damit sollte es funktionieren. bei mir klappt es! Danke an diegocaro für die Pakete!

    Chrislovic
    Das ist ohne weiteres möglich und wurde auch schon ausprobiert!

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Edited once, last by ps915 (October 9, 2012 at 7:43 PM).

  • Vielen Dank für das klasse Tutorial. Mir sind zwei Dinge aufgefallen:
    1. musste ich den oben genannten Workaround auch für iOS 5 anwenden
    2. musste ich zuerst die libnet-sdp-perl_0.07-1_all.deb installieren bevor ich die shairport_0.05-1_armhf.deb installieren konnte
    Jetzt läuft alles einwandfrei!

  • Meine frage ist nun, ob ich shairport und raspbmc parallel nutzen kann. Also ich stelle mit das so vor, dass shairport im Hintergeund raspbmc um das streamen von Musik ergänzt. Geht das? Danke für die Antworten. Gruß

    Seit dem neusten Update ist es nicht notwendig shairport nach zu installieren. Es sollte nun "out of the box" funktionieren.
    Quelle: http://www.raspbmc.com/2012/10/yet-another-raspbmc-update/

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Vielen Dank für die tolle Tutorial, ich hab hier noch eine Ergänzunge bezüglich der iOS 6 Kompatibilität.

    Die aktuelle Version auf GitHub ist vollständig iOS 6 kompatibel, es fehlt nur eine Library.
    Net:SDP (libnet-sdp-perl_0.07-1_all.deb) wird in der aktuellen Version von Shairplay für die Announcements des Airplay-Servers benutzt, ohne funktioniers auch unter iOS 5 nicht mehr.
    Leider hab ich diese Lib nirgendwo als fertiges Package gefunden, aber die hier verlinkte Version ist auf jeden Fall aktuell.
    Am besten im Tutorial oben entsprechend ergänzen, da Net::SDP obligatorisch geworden ist.

    Du könntest das Tut auch noch um eine Schnellanleitung unter Verwendung der Packages aus #11 ergänzen.
    Es dürfte reichen die beiden Packete zu installieren und dann die übrigen Abhängigkeiten durch

    Code
    sudo apt-get -f install

    aufzulösen. Dann könnte man sich zumindest die Schritte 3-5 sparen und dann ab 5.1 weitermachen.
    Vielleicht wär man dann auch schon ganz fertig, hab mir die Pakete noch nicht genauer angeguckt.

  • unter 2. gibt es diese Auswahl:
    Hier eine Übersicht der Ausgänge:

    • 0 - auto
    • 1 - headphones
    • 2 - HDMI

    Da ich noch einen alten Fernseher besitze, bräuchte ich auch die Auswahlmöglichkeit "Video". Ist das möglich?
    Danke
    Gerhard

  • Ich wurde gebeten noch mal genauer zu schreiben wie das mit SDP ging.

    Also ich habe Schritte 1.-7. durchgeführt. Aber da fehlt wie ja, schon an einigen Stellen angemerkt das Perl Modul NET::SDP. Das bekommt man auf verschiedenen Wegen. Mein Vorgehen war bei 3. noch

    Code
    sudo cpan NET::SDP

    zusätzlich aufzurufen. Ich glaube cpan ist initial schon drauf, sonst kurz mal nach cpan googlen. Das ist die old school Perl Modulverwaltung.

    Wer noch Probleme damit hat, schreibt was genau nicht geht (z.B. Probleme beim installieren, starten, connecten via iTunes oder abspielen).

    Was bei mir nicht gut geht, ist der Betrieb zusammen mit mpd. Wenn ich gerade was gestreamtes über mpd höre, muss ich das stoppen, bevor ich über shairport was abspielen will, sonst gibt's furchtbaren Audiosalat. Ich denke das liegt am mixer, ist aber egal, will man ja eigentlich eh nicht gleichzeitig, aber vielleicht könnte man den Wechsel noch automatisieren.

    Grundsätzlich ist der Pegel an der Klinkenbuchse ziemlich niedrig, sodass ich am Verstärker für die RaspberryPi immer noch mal extra aufdrehen muss. Das macht natürlich wach, wenn ich später wieder auf eine andere Audioquelle wechsle.

    Viel Erfolg

    Edited once, last by Aeroid (December 13, 2012 at 1:39 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!