5
3

More than 1 year has passed since last update.

UxPlayを使ってiPhoneの画面をLinux PCに表示する

Posted at

はじめに

iPhoneでのゲームプレイを配信しようと思い、iPhoneの画面をPC上に表示する方法はないか調べてみました。画面の表示さえできればいいのですが、UxPlayというAirPlayサーバーになれるOSSがあるようでしたので、試してみました。

この記事の動作環境

  • OS: Gentoo Linux

UxPlayとは

AirPlay2のサーバーになれるLinux向けソフトウェアです。

UxPlayの利用

ビルド

私が使っているGentoo Linuxには、UxPlayのパッケージはありませんでした。どこかのOverlayには存在するのかもしれないのですが、今回は自前でビルドしました。

ビルドする方法はUxPlayのREADMEに記載されていますが、Debian/Ubuntu向けの方法(どのパッケージをインストールするか、など)が記載されています。Gentoo Linuxでは同じライブラリが入るようにしてビルド環境を用意しました。

Gitリポジトリのクローン。

$ git clone https://github.com/FDH2/UxPlay .

ここでとりあえずcmakeを実行してみると、不足するライブラリがなにかわかります。

$ mkdir build
$ cd build
$ cmake ..

私の場合、「avahi-compat-libdns_sd」というライブラリのチェックで引っかかりました。これはどうやら、USEフラグに「mdnsresponder-compat」を指定して「net-dns/avahi」を再ビルドすればインストールされるようです。

なので、 /etc/portage/package.use に

net-dns/avahi mdnsresponder-compat

こんな感じで追記して、「net-dns/avahi」を再ビルドしました。

$ sudo emerge net-dns/avahi

自分の環境では、これ以外には特に不足するライブラリはありませんでした。インストールされているライブラリの状況によりけりだと思うので、他の環境では何か別に入れる必要があるかもしれません。

cmakeの成功後、

$ make

すると、実行ファイル「uxplay」が生成されます。これをシステムにインストールしてもいいのですが、まずはここにある状態で利用してみます。

実行

こんな感じで実行します。オプションがいくつかありますが、「-s」でウィンドウサイズ、「-fps」でフレームレートを設定できます。フレームレートはデフォルトで30のようなので、ゲーム配信のようなスムーズな動画が必要な場合、60を指定しておくと良いと思います。

./uxplay -s 1280x720 -fps 60

実行後、iPhoneでコントロールセンターを見ると、画面ミラーリングのところに「UxPlay」が出てくるので、そちらを選択します。

そうすると、ウィンドウが起動し、その中にiPhoneの画面が表示されます。また音声はUxPlayを動かしているPCから鳴るようになります。

Screenshot_20220103_1249.png
※画像は「プロジェクトセカイ カラフルステージ! feat.初音ミク」(プロセカ)のゲーム画面です。

あとはOBS Studioなどを利用して、このウィンドウ内の画面を配信することができます。

ゲームはできるか?

UxPlayを利用してPCに画面を出すと、音声もiPhoneではなくPCから鳴ります。ここでプロセカのような音ゲーの場合、音の遅延が気になるところです。私の環境では、ほとんど違和感なくプレイできました。他のゲームでは試してないので、状況は違うかもしれません。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3