Android系統(tǒng)如何錄制屏幕(錄制成mp4格式)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
不管是教學(xué),還是為了演示,如果能將Android手機(jī)(或平板)的屏幕錄制成視頻文件,那是一件非??岬氖?iOS8已經(jīng)提供了這一功能,能通過OSX直接在Mac上錄制iPad、iPhone的屏幕,windows沒試過,不知可不可以)。不過以前的方法都是通過截屏錄制的,效果極差。幸好Android4.4以上版本提供了這一功能。但無法在手機(jī)上直接啟動(dòng),需要通過adb使用命令行啟動(dòng)。
大家可以進(jìn)入shell?;蚋纱嘀苯佑胊dbshell執(zhí)行命令。該命令是screenrecord,可以輸入screenrecord --help,看看幫助,如下所示。
Usage: screenrecord [options]
Android screenrecord v1.2. Records the device‘s display to a .mp4 file.
Options:
--size WIDTHxHEIGHT
Set the videosize, e.g. "1280x720". Defaultis the device‘s main
displayresolution (if supported), 1280x720 if not. For best results,
use a sizesupported by the AVC encoder.
--bit-rate RATE
Set thevideo bit rate, in bits per second. Value may be specified as
bits ormegabits, e.g. ‘4000000‘ is equivalent to ‘4M‘. Default 4Mbps.
--bugreport
Addadditional information, such as a timestamp overlay, that is helpful
in videoscaptured to illustrate bugs.
--time-limit TIME
Set themaximum recording time, in seconds. Default / maximum is 180.
--verbose
Displayinteresting information on stdout.
--help
Show thismessage.
Recording continues until Ctrl-C is hit or the timelimit is reached.
從這些幫助信息可以了解到,screenrecord需要后面跟一個(gè)mp4文件名。最簡單的形式如下:
screenrecord /sdcard/game.mp4
但要注意,mp4要寫入的目錄必須是可寫的。
輸入完命令后,直接按回車,命令會被阻塞,默認(rèn)什么都不會輸出,這是正在錄制呢。操作手機(jī)的所有畫面都會被錄制下來。如果要輸出相應(yīng)的信息,需要加--verbose命令行參數(shù),加該命令行參數(shù),整個(gè)錄制過程可能會輸出如下類似的信息。
Main display is 1080x1920 @60.00fps (orientation=0)
Configuring recorder for 1080x1920 video/avc at4.00Mbps
Content area is 1080x1920 at offset x=0 y=0
^CEncoder stopping; recorded 68 frames in 12 seconds
Stopping encoder and muxer
Executing: /system/bin/am broadcast -aandroid.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/test.mp4
Broadcasting: Intent {act=android.intent.action.MEDIA_SCANNER_SCAN_FILE dat=file:///sdcard/test.mp4 }
Broadcast completed: result=0
當(dāng)然,可以跟很多選項(xiàng),常用的就是--size(尺寸)、--bit-rate(比特率)和--time-limit(錄制最大時(shí)間)
尺寸默認(rèn)是當(dāng)前手機(jī)屏幕分辨率、比特率是默認(rèn)4Mbps、錄制時(shí)間默認(rèn)是3分鐘(180秒)
screenrecord --time-limit 100 /sdcard/game.mp4
上面的命令最大可錄制100秒的視頻。如果想中途停止錄制,可按Ctrl C,終止錄制,game.mp4仍然會生成,但只會錄制從開始錄制到按Ctrl-C這段時(shí)間的視頻。下圖是我錄制的20秒射擊游戲的效果圖。完整視頻可在下面的地址下載。