Raspberry PiによるAirPlayレシーバーの構築方法(RPiPlay使用)
August 5, 2021
Updated July 23, 2025
2 min read
Raspberry PiをAirPlayレシーバーとして機能させ、iPhoneやiPadなどのAppleデバイスから画面や音声をミラーリングする方法を解説します。ここでは、オープンソースのAirPlayレシーバーソフトウェア「RPiPlay」を使用します。
1. Raspberry Piのシステム更新 まず、Raspberry Piのパッケージリストとシステムを最新の状態に更新します。
パッケージリストの更新 インストール済みパッケージのアップグレード OSのファームウェア更新(オプション) より新しいファームウェアに更新したい場合は、rpi-update を使用します。これは開発版のファームウェアをインストールするため、安定性を重視する場合はスキップしても問題ありません。
1
2
3
sudo apt install rpi-update
sudo rpi-update
sudo reboot # 更新後、再起動
2. RPiPlayのセットアップ RPiPlayのソースコードをダウンロードし、ビルドします。
必要なパッケージのインストール RPiPlayのビルドに必要な依存関係をインストールします。
1
2
3
4
sudo apt install cmake
sudo apt install libavahi-compat-libdnssd-dev
sudo apt install libssl-dev
sudo apt install libplist-dev
補足 : 環境によっては libplist-dev が不要な場合もありますが、エラーが出る場合はインストールしてください。
動作確認環境 1
2
3
4
5
6
7
8
9
10
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
RPiPlayのダウンロードとビルド GitHubからRPiPlayのソースコードをクローンし、ビルドします。
1
2
3
4
5
6
git clone https://github.com/FD-/RPiPlay.git
cd RPiPlay
mkdir build
cd build
cmake ..
make
make コマンドが完了すると、build ディレクトリ内に rpiplay という実行ファイルが生成されます。
RPiPlayの起動 生成された rpiplay 実行ファイルを直接起動できます。
起動時に以下のオプションを引数として渡すことで、詳細な設定を行うことができます。
1
2
3
4
5
6
7
8
9
10
-n <name>: AirPlayサーバーのネットワーク名を指定します。
-b (on|auto|off): 黒い背景の表示設定 (常に表示、接続時のみ、表示しない)。
-r (90|180|270): 画像の回転角度を90度単位で指定します。
-f (horiz|vert|both): 画像の反転設定 (水平、垂直、両方)。
-l: 低遅延モードを有効にします。音声と映像の同期がずれる可能性があります。
-a (hdmi|analog|off): 音声出力デバイスを設定します。
-vr <renderer>: 使用するビデオレンダラーを選択します (rpi, gstreamer, dummy)。
-ar <renderer>: 使用するオーディオレンダラーを選択します (rpi, gstreamer, dummy)。
-d: デバッグログを有効にします。コンソール出力が多いため、再生が途切れる可能性があります。
-v/-h: ヘルプとバージョン情報を表示します。
3. Raspberry Pi起動時にRPiPlayを自動実行する Raspberry Piの起動時にRPiPlayが自動的に起動するように、systemd サービスとして設定します。
サービスファイルの作成 /etc/systemd/system/ ディレクトリに rpiplay.service という名前でサービスファイルを作成します。
1
sudo nano /etc/systemd/system/rpiplay.service
以下の内容をファイルに記述します。ExecStart のパスは、RPiPlayをクローンしたディレクトリに合わせて変更してください。User=pi は、pi ユーザーで実行する場合です。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description = RPi Play Service
After = network.target
[Service]
Type = simple
Restart = always
RestartSec = 10
User = pi # RPiPlayを実行するユーザー
ExecStart = /home/pi/RPiPlay/build/rpiplay -n MyPiAirPlay -b auto -a hdmi # 実行ファイルのパスとオプション
StandardOutput = inherit
StandardError = journal
[Install]
WantedBy = multi-user.target
ExecStart の -n オプションでAirPlayデバイスとして表示される名前を設定できます。
サービスを有効化して起動 サービスファイルを作成したら、systemd にサービスを認識させ、有効化して起動します。
1
2
3
sudo systemctl daemon-reload # systemdの設定をリロード
sudo systemctl enable rpiplay.service # 起動時に自動実行されるように有効化
sudo systemctl start rpiplay.service # サービスを今すぐ起動
サービスのステータスを確認するには、以下のコマンドを使用します。
1
sudo systemctl status rpiplay.service
これで、Raspberry PiがAirPlayレシーバーとして機能するようになります。iPhoneやiPadからAirPlayのデバイスリストに「MyPiAirPlay」(または -n オプションで指定した名前)が表示されるはずです。
参考