Android 下如何錄制App操作生成Gif動態圖

jopen 8年前發布 | 14K 次閱讀 Android開發 移動開發

需求

統計結果1

Android App開發完了,自然希望錄個gif做個展示。視頻也可以做展示,但是需要上傳到優酷、土豆等等,而且本來就十幾秒的App演示操作過程,視頻網站的廣告就要一分鐘(吐槽一些),沒有gif輕量簡單省流量。

上圖是我錄制的一個短信轟炸機應用,可以查看這篇文章《Android 短信轟炸機App 開發記錄》 http://blog.csdn.net/never_cxb/article/details/47614247

本文教大家如何錄制gif,本文鏈接 http://blog.csdn.net/never_cxb/article/details/50515216,轉載請注明出處。

思路

生成gif的思路是兩步

  1. 把App操作過程錄制成視頻
  2. 根據視頻轉換成Gif

目前網上錄制GIf的思路也基本都是分為這2步,不知道有沒有更好的方法,一步就生成gif動態的?歡迎留言補充

利用adb 錄制屏幕

在Android sdk下面有一些很有用的工具,adb位于platform-tools文件夾,開發者用它在設備上安裝啟動應用。早期的sdk版本中,adb位于tools文件夾中。

在終端(linux或者mac os)或者命令提示符(windows)鍵入

adb help all

可以列出所有可用的命令。

注意,如果經常使用adb工具,建立把sdk的文件夾路徑添加到PATH環境變量中。不加入到環境變量中,每次啟動adb都需要cd到platform-tools文件夾的位置。

我們錄制屏幕利用 adb shell screenrecord命令,還可以使用adb shell screenshot進行截屏。下面是使用說明

tomchen$ ./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.

tomchen$ pwd
/Applications/sdk/platform-tools

可以用--size指定視頻分辨率的大小,--bit-rate指定比特率的大小。一般我們不需要設置,用默認的就行了。

tomchen$ ./adb shell screenrecord /sdcard/example.mp4

然后就可以錄制的,默認時間是180s ,一般不需要這么長,錄制完之后我們ctrl+c提前結束就行。
下面利用 pull 命令把手機上的視頻拷到電腦上(也可以用手機助手啥的)

adb push <local> <remote> 將電腦上的文件復制到手機(通常是 sd 卡)
adb pull <remote> <local> 將手機上的文件復制到電腦

示例:

tomchen$ ./adb pull /sdcard/example.mp4 ~/Documents/
8786 KB/s (9449246 bytes in 1.050s)

Android studio 自帶錄制功能

現在一般都不要 Eclipse 開發 Android,轉移到 Android Studio,錄制屏幕的功能 google 自然想到了,點擊開始按鈕就行了(適合不熟悉命令行的同學們)
在 Android Studio 最下方的Android欄左邊有一個按鈕(下圖紅框圈出的部分),點擊就可以實現錄屏。還可以選擇比特率、分辨率等,分辨率沒空則采用默認值。

android

點擊Start Recording就開始錄制了,會彈出錄制時間框

android

錄完之后點擊Stop Recording,停止錄制。

android

最后會提示錄制視頻的保存位置,自己選個文件夾保存。

Android Studio 也提供了截屏功能,就在錄制按鈕的上方

android

點擊截屏會彈出手機當前的操作界面,還可以用Reload刷新手機界面。

android

視頻轉 gif

這兒方法也有很多

  • 格式工廠之類的,輸入視頻格式,導出為gif格式
  • 截取很多幀圖片,將多張圖片拼接為gif
  • QQ影音工具箱自帶了截取一段視頻保存為gif格式

本文采用一種最簡單的方法,利用一款叫 GifCam 的綠色版軟件

Windows 版本的GifCam 可以到這兒下載,不需要下載分數。 http://download.csdn.net/detail/never_cxb/9404806

使用方法很簡單,
1. 用一個播放器打開咱們剛才錄制好的mp4視頻,然后拖動調整 GifCam 大小,讓它的透明區域(錄制gif區域)覆蓋你要錄制范圍。
2. 點擊播放器播放視頻,再點擊GifCam的Rec按鈕,就可以錄制gif了。
3. 錄完點擊stop按鈕,選擇gif文件保存位置。

android


==============================

本文講解Android 下如何錄制App操作生成Gif動態圖,本文鏈接 http://blog.csdn.net/never_cxb/article/details/50515216,轉載請注明出處。

來自: http://blog.csdn.net/never_cxb/article/details/50515216

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!