原文發佈於 個人博客Android猿
最近須要手機錄製gif圖片,找了好多軟件也沒理想的,最後肯定了先經過命令screenrecord 錄製MP4視頻再轉gif的方案。分享出來和你們交流,誰有更好的方案請告訴我(嘖嘖,這像釣魚貼)。ios
以前沒注意到Android studio的Android Monitor選項卡有個錄製視頻的按鈕,經@一息尚存和@Wing_Li提醒才發現還真有這麼個東東(AS真人性化,有木有以爲啊)。以下圖git
不習慣用命令方式的能夠直接點擊那個按鈕錄製視頻。下面介紹命令的方式。github
Android4.4(API level 19)以上支持screenrecord命令,首先咱們在Android studio中打開terminalshell
輸入ide
adb shell screenrecord --help
看到以下結果,詳細解釋請看我打的註釋this
C:\Users\xialo\Desktop\WelcomPage>adb shell screenrecord --help Usage: screenrecord [options] <filename> Records the device's display to a .mp4 file. Options: --size WIDTHxHEIGHT Set the video size, e.g. "1280x720". Default is the device's main display resolution (if supported), 1280x720 if not. For best results, use a size supported by the AVC encoder. --bit-rate RATE Set the video bit rate, in megabits per second. Default 4Mbps. --time-limit TIME Set the maximum recording time, in seconds. Default / maximum is 180. --rotate Rotate the output 90 degrees. --verbose Display interesting information on stdout. --help Show this message. Recording continues until Ctrl-C is hit or the time limit is reached.
由上面咱們看出,screenrecord基本的使用方式爲:編碼
screenrecord [options] <filename>
其中options是可選參數,主要包含:--size,--bit-rate,--time-limit,--rotate,--verbose,--help等。下面簡單示例經常使用參數的使用:spa
adb shell screenrecord --size 1280x720 /sdcard/test.mp4
說明:錄製視頻,分辨率爲1280x720(注意,這裏是字母x,不是星號,不然會出錯),若是不指定默認使用手機的分辨率,爲得到最佳效果,請使用設備上的高級視頻編碼(AVC)支持的大小rest
adb shell screenrecord --bit-rate 5000000 /sdcard/test.mp4
說明:指定視頻的比特率爲5Mbps,若是不指定,默認爲4Mbps. 你能夠增長比特率以提升視頻質量或爲了讓文件更小而下降比特率code
adb shell screenrecord --time-limit 30 /sdcard/demo.mp4
說明:限制視頻錄製時間爲30s,若是不限制,默認180s
咱們用USB連接手機,繼續在Android studio的terminal中輸入命令
adb shell screenrecord --size 480x640 /sdcard/test.mp4
這裏咱們沒有指定錄製時間,因此錄製完成後點擊關閉terminal便可,這時,咱們的SD卡根目錄會出現剛剛錄製的視頻test.mp4
這裏咱們用http://ezgif.com/ 在線將mp4轉換爲gif,傻瓜式操做,這裏再也不贅述。
收工。