#!/bin/sh
DATE=`date '+%y%m%d%H%M%S'`
FILE_NAME=record-${DATE}
YOUR_PATH=~/Desktop
adb shell screenrecord /sdcard/${FILE_NAME}.mp4 &
pid=`ps x | grep -v grep | grep "adb shell screenrecord" | awk '{ print $1 }'`
if [ -z "$pid" ]; then
printf "Not running a screenrecord."
exit 1
fi
printf "Recording, finish? [y]"
while read isFinished; do
case "$isFinished" in
"y" | "Y") break ;;
*) printf "Incorrect value." ;;
esac
done
kill -9 $pid # Finished the process of adb screenrecord
while :
do
alive=`adb shell ps | grep screenrecord | grep -v grep | awk '{ print $9 }'`
if [ -z "$alive" ]; then
break
fi
done
printf "Finished the recording process : $pid\nSending to $YOUR_PATH...\n"
adb pull /sdcard/${FILE_NAME}.mp4 $YOUR_PATH
adb shell rm /sdcard/${FILE_NAME}.mp4
echo "Converts to GIF? [y]"
read convertGif
case $convertGif in
"y" | "Y") ffmpeg -i ${YOUR_PATH}/${FILE_NAME}.mp4 -vf scale=240:-1 -an -r 15 -pix_fmt rgb24 -f gif ${YOUR_PATH}/${FILE_NAME}.gif ;; # creating gif
*) ;;
esac