MkItYs

MkItYs > 音楽・漫画・VR・自律制御 > 

images

ゲームの画面を共有/録画する:Unity (UnityRecorder), Quest 2 (Record Video), adb (shell > screenrecord), scrcpy

images

ゲームの画面を共有/録画するやり方です。

関連


作ったアプリを携帯端末やHMDで動かす:Android (Quest 2) , adb

検証


PC:Windows 10
デバイス:HMD:Android (Quest 2)

PC:Unity (UnityRecorder)


ゲームの画面を録画するには、次のパッケージを使います:

com.unity.recorder

次から操作します:

- window > general > recorder > recorder window
  - add new recorders

携帯端末/HMD:adb (shell > screenrecord)


携帯端末(Android )やHMD(Android (Quest) )のシェルから、OSが提供している録画機能(screenrecord)を使い、画面を録画できます:[※1][※2][※3]

CLI(コマンド)での操作になります。たとえば次のように使います:

> adb shell screenrecord --size 3398x1920 /sdcard/a.mp4

録画したファイルは、デバイス側の指定したフォルダに配置されます。これをPC側に取り込むには:

> adb pull /sdcard/a.mp4 a.mp4

※1
HMDでパススルーを使う場合、背景も共有/録画されます
※2
録画できる時間には制限があります(現時点で最長180秒)……なお間隔にすこしのタイムラグはありますが、コマンドを続けて書くことで(”; ”でつなげる)、いくらでも長く録画することはできます。
※3
HMDの場合、(このコマンド自体にクロップ機能はないので)左右の視点の画面が記録されます(通常の映像のように見せるには、映像編集アプリで、どちらかの視点の領域をトリムする必要があります)。

携帯端末/HMD:scrcpy


PC側に専用のキャプチャアプリ(scrcpy)を設置することで、携帯端末(Android )やHMD(Android (Quest) )の画面を共有/録画できます:[※1][※2][※3][※4]

https://github.com/Genymobile/scrcpy

CLI(コマンド)での操作になります。たとえば次のように使います:

> scrcpy --crop 1600:900:2017:510 --bit-rate 2M --max-size 800 # 共有する
> scrcpy --crop 1600:900:2017:510 --bit-rate 2M --max-size 800 --no-control --record a.mp4 # 録画する

※1
HMDでパススルーを使う場合、背景も共有/録画されます
※2
事前に、adb コマンドでデバイスに接続している必要があります。
※3
デバイス側からPC側に、リアルタイムに映像を転送するので(圧縮転送)、そのぶん画質は劣化します。
※4
この機能は、SideQuest からも利用できます(こちらはGUIでscrcpyを操作できるので、CLIで操作するより楽かもしれません)。

HMD:Quest 2 (Record Video)


デバイスによっては、専用の共有/録画機能をもつものもあります。

たとえばHMD(Android (Quest) )では、次の操作で画面を共有/録画できます:[※1]

- 左コントローラ > ホームボタン > 録画

共有/録画する画面の大きさを変える場合、次のコマンドが使えます(HMD(Android (Quest) )の場合):

> adb shell setprop debug.oculus.capture.width 1280
> adb shell setprop debug.oculus.capture.height 720

> adb shell getprop debug.oculus.capture.width # 現在のサイズ(はば)を確認する
> adb shell getprop debug.oculus.capture.height # 現在のサイズ(高さ)を確認する

録画したファイルは、デバイス側の次のフォルダに配置されます(PC側に取り込むには、デバイス側の同期機能を使うか、コマンド(adb pull)を使います):

- /sdcard/oculus/videoshots/*.mp4

※1
HMDでパススルーを使う場合、背景は共有/録画されません(セキュリティ上の制約です)。