Android OS 4.4(Kitkat) の動画キャプチャ機能「screenrecord」をどう使うか

UIとかUXとか言い出して、ややこしいことなってます、Androidのアプリ開発。

これまでのように、画面静止画や遷移図などでは伝わらない、伝わってこないのが最近。

それの仕上がりによってはいまどきの傲慢なアプリユーザーは納得してくれなかったりします。

実際、動いている画面を見せるのが話が早い、と思われますが。

これまでは、いくつかAndroid端末の動画な画面をファイルとして保存するのに、いくつか方法がありました。
パソコン上や端末上のアプリの操作から、端末上の動画キャプチャファイルが作成できます。

androidscreencast - Desktop app to control an android device remotely - Google Project Hosting androidscreencast - Desktop app to control an android device remotely - Google Project Hosting

Screencast Video Recorder Demo - Google Play の Android アプリ

で、Android OS 4.4(KitKat)で登場した「screenrecord」。

「Nexus 5」でKitKatの新機能「screenrecord」を実際に試してみた - GIGAZINE 「Nexus 5」でKitKatの新機能「screenrecord」を実際に試してみた - GIGAZINE

今回、公開された KitKat のひとつの分かりやすい目玉な機能だと思います。

この新機能を利用して動画ファイルをパソコン上に取得できるようになります。

nexusae0_image_thumb90

この場合の手順としては、

USBでAndroid端末に接続したターミナルやコンソールから、録画開始は、

adb shell screenrecord /sdcard/movie.mp4

録画停止は、同様に

Ctl+C を押す。

これで、端末内に保存されるので、それをパソコン上に持ってくる。

adb pull /sdcard/movie.mp4

。。。。

なんだかメンドクサいです。

Android File Transfer でGUI上でファイル移動したり、Dropbox や Evernote でクラウドな共有して、パソコン上に持ってくるか。

これもなんかメンドくさいです。

「端末上の動画を保存してUSB接続したパソコンにファイルで持ってくる」という作業を行いたいときに発生するのは、

1. 録画開始
2. 録画停止
3. そのファイルをパソコン上に取得

の3つの処理が必要です。

パソコン上からの操作のみで簡単に動画ファイルを取得しちゃいましょう。

 

Android Studio DDMSパネルを使う方法

Eclipseでもプラグインある、とかどっかで見たような気もしますが。

Android Studio 0.3.2 アップデート「端末の動画キャプチャ機能」を試してみる Android Studio 0.3.2 アップデート「端末の動画キャプチャ機能」を試してみる

実際、KitKatな端末では、AndroidStudio DDMSパネル上のボタン押して表示されるダイアログ上のボタンから「録画開始」です。

Screen_Recorder_Options_と_build.gradle_-__TextLauncher__-_TextLauncher_-____androidstudio_TextLauncher__-_Android_Studio__I_O_Preview__0.3.2_と_新規投稿を追加_‹_新___android_ファッション通信_Σ_^A^;__—_WordPress-6

録画が開始されると、新しいダイアログが表示されて「録画停止」を待っています。

build.gradle_d_Studio__I_O_Preview__0.3.2

停止ボタンを押すと、パソコン上の保存位置の選択とファイル名の入力ダイアログが表示されますので、それをそうして動画ファイル取得完了です。

 

スクリプトでやる方法

前記のAndroidStudioを使う方法は、「そんな開発用IDEとか使ってない」とか、「使ってても起動がめんどくせ」、となります。

スクリプトでやってみました。Macなのでshですが、WindowsやLinux環境でも似たようなかんじで。

操作方法は以下。

1. 「録画開始」は、スクリプトの実行
2. 「録画停止」は、Ctl+C
3. 端末からの「ファイルの移動」は自動

fetch_screenrecord.sh

#!/bin/sh

PATH_SD=/sdcard/
PATH_LOCAL=~/Desktop/

FILENAME=`date +"%Y%m%d-%H%M%S"`${DATETIME}.mp4

STOP=0

adb shell screenrecord  ${PATH_SD}${FILENAME} &

trap stop_screenrecord 2

function stop_screenrecord() {
    kill $!
    wait $! 2>/dev/null # silent bg mes.
    STOP=1
    echo "\nSTOPPED SCREENRECORD."
    trap 2    
}

echo "recoding..."
while [ $STOP = 0 ]
do
    sleep 1
done

echo "wating..."
sleep 5

echo "fetching mp4 file..."
adb pull ${PATH_SD}${FILENAME} ${PATH_LOCAL}

# delete remote file
adb shell rm ${PATH_SD}${FILENAME}

echo "COMPLETED !!"

 

実行するとこんな。

保存位置はデスクトップ上にしています。

しかし、それでも、もっとかんたんにならねえか、と思ったりしますが、そのうちAndroidアプリやパソコンアプリが登場するだろうなのでまあいいか。

一方、AndroidカスタムROMな「CyanogenMod」では、すでに、音声を含めての端末上の動画録画が端末上アプリから可能になっていくようです。

Native Screen Recording With Audio, Touch Indicator, Quick Access Headed To CyanogenMod Nightlies Soon Native Screen Recording With Audio, Touch Indicator, Quick Access Headed To CyanogenMod Nightlies Soon

こちらも要注目です、あちこちで進化しておるのですね!

コマンドラインからAndroidのスクリーンショットをPCデスクトップに取得する方法 コマンドラインからAndroidのスクリーンショットをPCデスクトップに取得する方法


関連ワード:  AndroidAndroidStudioGoogleニュース便利な設定評判開発