OculusQuestのプレイ画面をMacにミラーリングする方法

はじめに

この記事ではOculusQuestの画面をadbコマンドを使用してVLCでMacにミラーリングする方法を解説しています。

公式アプリを使用したミラーリングでは人気アプリのBeat saberやTilt Brushが対応しておらず、Chromeの拡張を使用したVysorは無料版だと画質が荒くすぐ広告が入ってしまうのが難点でした。

そこで、今回はOculus公式のOculusGoをPCにキャストする記事と以下の記事を参考に、無料かつ画質が良いキャストを実現しました。


今回の環境

・MacBook Air (13-inch, Early 2015)

・macOS Mojave 10.14.3

・intel corei5, メモリ8GB

Oculus Quest 128GB 

・USB-C to A 変換プラグ(Amazonで安かったやつ...)


0. VLCダウンロード

VLCメディアプレーヤーはクロスプラットフォームで動作するメディアプレーヤーで、このアプリを使用することでOculusQuestの画面をPCに表示することができます。とりあえず何も考えずに公式HPからMac版のソフトウェアを入手し、アプリケーションフォルダ直下に配置しましょう。(デフォルトでそういう設定になっているはず)


1. OculusQuestを開発者モードにする

Oculus公式アプリからお手持ちのデバイスを開発者モードにしましょう。右下の設定ボタンから、Questを選択し、「開発者モード」をオンにします。

2. AndroidStudioをダウンロードする

次に、以下のリンクからAndroid実機(OculusQuest)にビルドするためのAndroidStudioをダウンロードします。こちらの記事を参考にインストールを進めてください。既にインストールされている方はスキップして下さい。

※今回はver3.4.1を使用しましたが他のバージョンでの動作確認は行なっておりません

2. ターミナルからadbコマンドを使えるようにする

ここが鬼門でつまづく方が多いのですが(自分もかなりここで詰まった)、以下のサイトの解説が非常にわかりやすかったのでこちらを参考にadbコマンド『Android Debug Bridge』をターミナルで使えるようにします。

そこまで複雑な作業ではないのですが、"export PATH=$PATH:/Users/ユーザー名/Library/Android/sdk/platform-tools"のコマンドを入力した後、キーボードの[control]キーと[C]キーを同時に押し、その後 :wq と入力して[Enter]キーを押すことを忘れないでください!!!

こうすることで初めてエディタの画面に戻ってパスを通すことができます。ターミナルアプリを1度終了させる事も忘れずに。

3. adbとOculusQuestの通信確認

adbコマンドが使えるようになったらあとは簡単です。まずは、ターミナルを開いて、以下のコマンドをコピペして[Enter]を押します

adb

以下のように長ーい処理が走っていたら成功です。

※ここで"command not found"という表示が出る場合は、adbの設定がうまくいってない証拠なので、もう一度こちらの記事を参考にadbコマンドの設定を行います。キーボードの[control]キーと[C]キーを同時に押し、その後 :wq と入力して[Enter]キーを押すことを忘れている場合が多いです。

OculusQuestとPCをUSBで繋げた状態で以下のコマンドをコピペして実行

adb devices

デバイス認識に成功している場合、"List of devices attached"の下の行に "xxxxxxxx device"と表示されていたら成功です!

xxxYourPCxxx:~ xxxYourPCxxx$ adb devices 
List of devices attached 
xxxxxxxx device

※ここでもし以下のエラーが出た場合はOculusQuestのデバッグ機能がオフになっているので、以下のリンクを参考に端末側からオンにします。(PC側のUSB-Cの向きはOculusのロゴが表になるようにします)

adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
1KWPH810X28171 unauthorized

OculusQuest側にUSBデバッグをオンにするダイアログが出てない場合はUSBつなぎなおしたり、ターミナルを再起動してみたりadb通信をkill-serverのちstart-serverして再起動してみたり何回もチャレンジすること。自分も5回目くらいでようやく出てきました...

4. VLCにキャストする

adb devicesでOculusQuestとの接続が確認できたら、以下のコマンドをコピペして[Enter]キーを押します。

※VLC.appのディレクトリがアプリケーション直下でない場合は "/Applications/VLC.app/Contents/MacOS/VLC"を書き換えてください。

adb exec-out "while true; do screenrecord --bit-rate=8m --output-format=h264 --time-limit 180 -; done" | "/Applications/VLC.app/Contents/MacOS/VLC" --demux h264 --h264-fps=60 --clock-jitter=0 --network-caching=100 --sout-mux-caching=100 -


VLCが起動してOculusQuestの画面がPCにキャストされているはずです!


ここまでのステップでQuestの画面をMacにキャストすることはできましたが、有線接続のままではせっかくのスタンドアローン機体がもったいないです。次のステップでネットワーク経由のミラーリングに取り組んでみましょう!


5. ネットワーク経由でミラーリングをする

まず最初にUSBを接続しながら、以下のコマンドを入力してTCPモードへ切り替えます。

adb tcpip 5555

次に以下のコマンドを入力してQuestのIPアドレスを調べます。

adb shell ip addr show wlan0

うまく通っていると、以下のような結果が出てくるのでinet以下のIPアドレス(v4)をステッキーズなどでメモしておきましょう!

5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 3000
link/ether xx:xx:xx:xx:xx:xx brd xx:xx:xx:xx:xx:xx
inet 192.168.xx.xx/24 brd 192.168.xx.xxx scope global wlan0
valid_lft forever preferred_lft forever
…

先ほど調べたQuestのIPアドレスと設定したポート番号(今回はtcip5555)を指定して接続します。

adb connect 192.168.xx.xx:5555

このような結果が出力されたら成功です。

connected to 192.168.xx.xx:5555

USBを外したのち、先ほどのVLCに接続するコマンドを入力して確認してみましょう!

adb接続切断用コマンド

adb disconnect


自分のPCでは遅延が3秒ほどありますが、人気アプリのアテンドやガーディアンシステムを見せたい場合などであれば気にならないかと思います。シーンを選んで是非活用してください。お疲れ様でした!

20190603追記

遅延や画質の問題を解決しました。VLCではなくscrcpyを使用することで大幅に改善しているのでこちらの記事もぜひご覧ください!



この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

note.user.nickname || note.user.urlname

ちょっと頑張った時のご褒美のプリン代・やらなきゃまずい時のコーヒー代に使わせていただきます!

一緒にご飯食べたいですね!
15

MESON XR MAGAZINE

株式会社MESONのメンバーが交代しながら、毎週自分たちが仕事をしていく中で集まったVR/AR界隈に関する知見をブログとして公開していきます。
1つのマガジンに含まれています
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。