U bent hier

Raspberry pi 3 als iTunes server

Door egbert op di, 05/30/2017 - 14:04
Forked Daapd on Debian with Rhythmbox

Work in Progress

Doel:
Een iTunes bibliotheek afspelen via Apple's remote App zonder dat daarvoor een computer met iTunes aan moet staan.

Benodigdheden:

  1. Raspberry Pi
  2. Een USB stick
  3. Forked-DAAPD software
  4. Shell toegang tot de Raspberry Pi

Raspberry Pi zou ook geschikt moeten zijn als iTunes server m.b.v. forked-daapd, je kunt dan de iTunes library via b.v. Apple Remote gebruiken zonder dat je een computer nodig hebt en één en ander door de Raspberry laten afhandelen.

Er bestaat voor de raspberry een fork van DAAPD genaamd "Forked-Daapd" die je hiervoor kunt gebruiken. Als test ga ik kijken of ik onze muziekbibliotheek van iTunes kan kopieren naar een usb stick en deze dan gebruiken als Bibliotheek op de Raspberry PI.

De stappen om de Forked-Daapd te installeren zijn de volgende:

  • Open een ssh verbinding naar de Raspberry, en pas het hierna genoemde bestand aan: sudo vim /etc/apt/sources.list
  • Voeg de volgende regel toe aan sources.list
    deb http://www.gyfgafguf.dk/raspbian jessie/armhf/
  • sudo apt-get update
  • sudo apt-get install forked-daapd
  • sudo mkdir /media/usbstick

Op een met ext4 geformatteerde usbstick ga ik mijn iTunes library plaatsen (een kopie van de media folder van iTunes)

Om de stick te gebruiken moet ik hem mounten op het filesystem van de raspberry
sudo mount /dev/sda1 /media/usbstick

forked-daapd config bestand

Om forked-daapd te laten weten welke directory het moet indexeren pas je het /etc/forked-daapd.conf bestand aan
sudo vim /etc/forked-daapd.conf
Ga op zoek naar "# Library configuration" en onder dat kopje staat de volgende tekst:

# Directories to index
directories = { "/media" }

Pas dit aan naar het mount punt van je USB stick!

Daarna kan ik de forked-daapd service starten
sudo /etc/init.d/forked-daapd start

Om de forked-daapd.service automatisch te starten tijdens boot gebruik je:
sudo systemctl enable forked-daapd

Troubleshooting

Als afspelen in de remote app van Apple niet werkt:
1. Check de log file met tail -f /var/log/daapd-conf.log
Bij melding "Could not open local audio" in /var/log/forked-daapd.log
Voeg de daapd user toe aan de groep audio, als volgt:
sudo adduser daapd audio

Als afspelen in iTunes niet werkt
Probleem: Je ziet wel je albums in iTunes maar krijgt de melding "Verbinding maken" als je een track start.
Mogelijke oplossing: Schakel ipv6 uit in /etc/forked-daapd.conf, dit doe je door de regel "ipv6 = yes" te veranderen in "ipv6 = no".

Clients en Poorten

Zet de volgende poorten open op een eventuele firewall:
Port 3689 (udp/tcp) client en server
Port 5353 (udp/tcp) client en server
Avahi daemon
mt-daapd gebruikt de avahi daemon als broadcast, zorg er dus voor dat deze draait! sudo /etc/init.d/avahi-daemon restart

Pulse Audio

Als je een foutmelding krijgt in de /var/log/forked-daapd.log als "laudio: Pulseaudio failed with error: Connection refused" Moet je Pulse audio configureren, zie deze readme daarover.

Library openen in media spelers
  • iTunes 12 - hier duurde het erg lang voordat ik de library kon afspelen, als je dus een melding "Connecting" krijgt als je een nummer wilt afspelen, dan is het indexeren nog niet klaar.
  • iTunes tot versie 10 - Razendsnel en meteen bruikbaar, weet niet waar het verschil zit met hogere iTunes versies..
  • Rhythmbox op Debian - dit gaat prima, library adverteert zich in de linker kolom (Debian 8 Jessie)
Pairing met de remote applicatie op Apple apparaten

Als je problemen met de pairing hebt kun je het volgende proberen:

  1. sudo apt-get install mpc
  2. Om te pairen met je remote start je remote op en kies je bij instellingen voor "Voeg iTunes-bibliotheek" toe
  3. In je ssh sessie type je dan in mpc sendmessage pairing %het-nummer-dat-verschijnt-op-je-device%

Links:
Forked Daapd Configuring
Sound output raspberry not working
Using remote