現在スマートフォンのゲームはモンスターストライクを良くやっています。このゲーム、録画機能が組み込まれていて簡単にプレイ動画を録画して投稿する事が可能です。が、ゴジラ等のコラボキャラは録画に含める事ができずちょっと困っていた。
別に公開する目的で録画するわけじゃないので他の方法でゲーム録画できないかなと思って調べたら Android 4.4 以上であれば root 不要で screenrecord というコマンドを利用する事で画面の録画ができるとの事だったので使ってみた。
screenrecord を使ってみる
screenrecord コマンドを使う為には Windows や Mac と USB で繋ぎ、adb コマンドを使う必要がある。それらの準備を行おう。
screenrecord を使う準備
まずは JDK をインストール。Oracle の Web サイトよりダウンロードしよう。
Java SE Development Kit 8 - Downloads
つぎに Android SDK をインストール。
Download Android Studio and SDK Tools | Android Developers
インストールできれば Android SDK が起動できるはずだ。
最後に使用している Android 端末の USB ドライバをインストールしよう。自分は Nexus 5 を使用しているので Google よりダウンロードした。
ここまでできたら cmd.exe を開き android sdk 内にある platform-tools までフォルダを移動して adb devices コマンドを打ってみよう。接続している端末が表示されたら成功だ。
自分は mingw を入れているのでちょっと見た目が違うが大体こんな感じだ。
screenrecord を使ってみる
あとはそのまま adb コマンドの引数を変更して screenrecord コマンドを実行するだけだ。
一行で済ませるなら以下のコマンドで sdcard に動画を保存できる。
$ adb shell screenrecord /sdcard/test.mp4
もしくは下記のようにやっても良い。
$ adb shell
$ cd /sdcard/
$ screenrecord test.mp4
録画を終了する場合は control + c を押そう。もしくは指定した時間(デフォルトでは3分)になると自動的に止まる。
録画が完了してからファイルとして出力するまでに時間がかかる場合がある。エンコードに時間がかかるのだろうか。
これで録画できた。
が、デフォルトでは3分で切れるので途中で動画が切れてしまった。録画時間を指定するには以下のように --time-limit 引数を使用する。引数に続く数字は秒単位で指定する。
$ adb shell screenrecord --time-limit 3600 /sdcard/test.mp4
また、--bit-rate 引数によりビットレートを変更できる。デフォルトは 4Mbps らしい。
$ adb shell screenrecord --bit-rate 1000000 /sdcard/test.mp4
ちなみに Nexus 5 で標準設定でゲームを3分録画して大体100MBぐらいの大きさになった、残り容量には注意しよう。
コメント