Video to Gif.png
這篇文章主要為開發人員解決Android手機錄視頻轉Gif格式困難痛點,下面是我在Mac下的操作步驟:
1、Mac系統下通過bash連接Android手機。
2、通過adb shell命令獲得錄制的視頻。
3、將視頻轉化為Gif文件。
4、補充相關adb操作命令。
先看下我錄制的個人作品Gif效果圖
圖靈機器人.gif
源碼參考個人作品 【圖靈機器人】
Demo下載地址
1、Mac系統下通過bash連接Android手機
如果在Mac bash下你連接不了手機,請參考下面的操作。
1、Mac系統通過數據線連接Android手機
2、找到Android手機的vendor ID:
$ system_profiler SPUSBDataType
在列出的usb設備中找到自己的手機,copy下vendor ID
MI 5:
Product ID: 0xff78
Vendor ID: 0x2017
Version: 3.18
Serial Number: 14886d4e
Speed: Up to 480 Mb/sec
Manufacturer: Xiaomi
Location ID: 0x14188000 / 11
Current Available (mA): 500
Current Required (mA): 500
將vandor ID放到 ~/.android/adb_usb.ini 配置文件中:
$ vi ~/.android/adb_usb.ini
3、如果沒有設置adb環境變量,設置一下:
$ vi ~/.bash_profile
在文件最后加上(path因電腦而異):
$ export PATH=/Users/sunfusheng/Android/Studio/sdk/platform-tools/:$PATH
$ wq
保存退出后刷新一下,終端執行CMD:
$ source ~/.bash_profile
4、測試是否連接上Android手機:
$ adb devices
2、通過adb shell命令獲得錄制的視頻
錄制命令
$ adb shell screenrecord /sdcard/test.mp4
視頻保存目錄可以自己指定,如上面的 /sdcard/test.mp4,命令執行后會一直錄制180s,按下 ctrl+c 可以提前結束錄制。
設定視頻分辨率
$ adb shell screenrecord --size 848*480 /sdcard/test.mp4
對于高分辨率的手機,錄制的視頻很大,我們分享又不需要這么大的我們可以設置錄制的視頻分辨率。
設定視頻比特率
$ adb shell screenrecord --bit-rate 2000000 /sdcard/test.mp4
默認比特率是4M/s,為了分享方便,我們可以調低比特率為2M
拉取視頻文件
$ adb pull /sdcard/test.mp4
?注意:使用adb pull 即可把手機SD卡中視頻拉取到本地,如果拉下來的視頻文件不能正常轉換,可以手動將手機里面的視頻發送到電腦上。
3、將視頻轉化為Gif文件
一、Mac上通過Gifrecord軟件將視頻轉化為Gif文件。
二、Windows上通過Free Video to GIF Converter將視頻轉換成GIF,具體操作參考【Video 轉 Gif 實戰】,轉換時還可以刪除不需要的幀,這點真得很不錯。
4、補充相關adb操作命令
$ adb dervices #顯示當前啟動的仿真器裝置序號
$ adb help #顯示adb指令用法
$ adb verson #顯示adb版本
$ adb install #安裝APK應用程序組件
$ adb push #上傳文件或目錄(adb push 文件所在PC的位置即文件名 目的位置)
$ adb pull #下載文件或目錄(adb pull 文件所在手機的位置即文件名 目的位置)
$ adb shell #進入Android系統命令行模式
$ adb logcat #監控仿真器運行記錄
$ adb bugreport #生成adb出錯報告
$ adb start-server #啟動adb服務器
$ adb kill-server #關閉adb服務器
$ adb get-state #取得adb服務器運行狀態
$ adb get-serialno #獲得仿真器運行序號