[PC] Raspberry Pi 2でAirPlayServerを構築しました。

2016年7月21日PC Hard, PC Soft

20150802_001
ラズバイ2を買ったので、ずっと前からやりたかったAirplayサーバーを構築しました。
色々試しながら、なんとか構築できたのでそのメモ。

Raspberry Pi2でAirplayサーバーを構築する方法

Raspberry Pi2の初期設定はraspi-configとかで適当に済ませると思いますので省略。

まずapt-getを最新の状態にします。ついでにVimを入れます。Vimは任意です。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim

gitコマンドとその他必要なパッケージを入れます
sudo apt-get install git
sudo apt-get install libao-dev libssl-dev libcrypt-openssl-rsa-perl
sudo apt-get install libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl

perl関係のライブラリを入れておきます
git clone https://github.com/njh/perl-net-sdp.git
cd perl-net-sdp
perl Build.PL
sudo ./Build
sudo ./Build install
cd

このshairportがAirplayサーバーを構築する重要なパッケージです
git clone https://github.com/hendrikw82/shairport.git
cd shairport
make
./shairport.pl -a RasAirTest

これで起動して、iOSデバイスでAirplayに接続できるか確認。
ここで問題なく音が出れば、このままmakeしてmake installしてもいいんですが
我が家の環境ではカナリ音声に遅延が出たので、極力無くしてみることにします。
sudo vim hairtunes.c
で、
#define START_FILL 282

#define START_FILL 200
に変更。まだ改善されないので、30くらいまでカツカツに削ったら遅延1秒以内に収まるようになりました。

make
sudo make install
でインストールします。

あとはサーバー起動時にAirplayサーバーが起動するように設定
cp shairport.init.sample /etc/init.d/shairport
cd /etc/init.d
chmod a+x shairport
sudo update-rc.d shairport defaults

sudo vim shairports でファイルを編集し
DAEMON_ARGS行を 
DAEMON_ARGS=”-w $PIDFILE -a ServerName”
に書き換えて保存し、サーバーを再起動(sudo reboot)

これで問題なくサーバーが構築できました。
USBDACを使ったりすると音声はもっといい感じに改善できるそうですが
我が家は特に音質は求めていないし、とりあえず鳴らせればオッケーなので、この使い方で良いです。
通電しててもさほど気にならないくらいの電力ですし、超コンパクトサーバーならこれで十分ですね。

2016年7月21日PC Hard, PC Soft