古いiMacや一部のMacでは、macOS標準のAirPlayレシーバー機能が使えない場合があります。
そうしたMacでも、オープンソースの「UxPlay」を使うことで、iPhoneやiPadの画面をMacにミラーリングできるようになります。
この記事では、UxPlayを導入するための準備として、Homebrew、Command Line Tools、GStreamer公式pkgのインストールまでを整理します。
全体は3記事構成です。
- 第1回:準備編。HomebrewとGStreamer公式pkgを導入する
- 第2回:UxPlay導入編。UxPlayをビルドして手動起動する
- 第3回:GUI化編。START/STOPボタンとPIN表示付きのコントローラーを作る
本記事に記載されたコードや手順を実行したことによって生じたいかなる損害・トラブルについても、筆者および所属組織は一切の責任を負いかねます。
システムの変更やコマンドの実行は、必ずご自身の責任と判断のもとで行ってください。
また、本記事の内容は筆者個人の見解であり、所属する企業や団体を代表するものではありません。
まず確認:Mac標準のAirPlayレシーバーが使えるならそれが一番簡単
macOSには、対応Macであれば標準でAirPlay受信機能があります。
まずは以下を確認してください。
システム設定 → 一般 → AirDropとHandoff / AirDropと連係 → AirPlayレシーバー
ここにAirPlayレシーバー項目があり、有効化できる場合は、UxPlayを入れる必要はありません。標準機能を使うのが一番低リスクです。
項目がない、または使えない場合は、この記事の手順に進みます。
今回の方針
今回の構成は以下の通りです。
Homebrewを入れる ↓ GStreamerはHomebrewではなく公式pkgで入れる ↓ UxPlayのビルドに必要なものだけHomebrewで入れる ↓ UxPlayをビルドする ↓ GUIコントローラーからSTART/STOPできるようにする
ポイントは、GStreamerをHomebrewで入れないことです。
環境によっては、HomebrewでGStreamerを入れようとすると、依存関係のビルドや証明書まわりで詰まりやすくなります。今回は初心者向けに、GStreamerは公式インストーラーを使い、HomebrewではUxPlayのビルドに必要なものだけを入れる方針にします。
Homebrewをインストールする
Homebrewは、macOSで開発用ツールやコマンドをインストールするためのパッケージ管理ツールです。
ターミナルを開き、以下を実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール後、以下で確認します。
brew --version
バージョンが表示されればOKです。
もし「brew: command not found」のように表示される場合は、Homebrewのインストール完了時に表示された「Next steps」の内容に従い、PATH設定を追加してください。
Command Line Toolsをインストールする
UxPlayをビルドするには、Appleの開発用コマンドも必要になります。
以下を実行します。
xcode-select --install
すでに入っている場合は、その旨が表示されます。
GStreamerを公式pkgでインストールする
UxPlayは、映像や音声の描画にGStreamerを利用します。
ここではHomebrewではなく、GStreamer公式サイトからmacOS用インストーラーをダウンロードします。
GStreamer公式ダウンロードページは以下です。
https://gstreamer.freedesktop.org/download/#macos
macOS向けの最新版から、以下の2つをインストールします。
- Runtime Installer
- Development Installer
UxPlayをビルドするためには、実行用のRuntimeだけでなく、開発用ファイルを含むDevelopmentも必要です。
なお、GStreamerでは「1.0」という表記が出てきますが、これは古いバージョンという意味ではありません。GStreamer 1.x系のAPI名・コマンド名として、以下のような表記になります。
gst-launch-1.0 gstreamer-1.0
GStreamerの動作確認
インストール後、以下を実行します。
/Library/Frameworks/GStreamer.framework/Versions/Current/bin/gst-launch-1.0 --version
バージョンが表示されればOKです。
UxPlayのビルドに必要なものを入れる
Homebrewでは、GStreamerではなく、UxPlayのビルドに必要なものだけをインストールします。
HOMEBREW_DOWNLOAD_CONCURRENCY=1 brew install cmake git libplist openssl@3 pkg-config
HOMEBREW_DOWNLOAD_CONCURRENCY=1は、Homebrewのダウンロードを1本ずつにする指定です。並列ダウンロードまわりでロック競合が出る場合があるため、念のため付けています。
準備完了
ここまでで、UxPlayをビルドするための準備は完了です。
次の記事では、UxPlayをGitHubから取得し、実際にビルドして手動起動するところまで進めます。

