最近在玩一个游戏,特效很棒,想要录下来分享,结果发现手机居然只有截屏而没有录屏功能,那么这要怎么愉快地玩耍呢?
查询资料发现,从 Android 4.4 ( API level 19 ) 开始,系统就默认支持录屏了,好的,那开搞!
工具:
- 安装 Windows 10 系统电脑一台,已安装 adb 环境;
- 安装 Android 8.0 系统手机一部,已开启调试模式;
操作:
- 手机连接电脑,确认连接正常;
- 电脑上打开命令符提示行,执行
adb devices
确认可以列出安卓手机;
录制
C:\Users\Users> adb shell screenrecord /sdcard/demo.mp4
说明:录制手机屏幕,视频格式为 mp4,存放到手机 sd 卡里,默认录制时间为 180s。
停止
可以通过 --time-limit
参数限制录制时间长短,或者直接 Ctrl-C
停止录制。
导出
C:\Users\Users> adb pull /sdcard/demo.mp4
说明:将手机上录制的视频导出到电脑当前目录,本例则是将 /sdcard/demo.mp4 导出(复制) 到 C:UsersUsers 目录下。
高级参数
指定录制时间
参数: --time-limit
C:\Users\Users> adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
说明:限制视频录制时间为 10s,如果不限制,默认 180s。
指定分辨率:
参数: --size
C:\Users\Users> adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
说明:录制视频,指定分辨率为 1280*720,如果不指定默认使用手机的分辨率,为获得最佳效果,请使用设备上的高级视频编码(AVC)支持的大小。
指定比特率
参数: --bit-rate
C:\Users\Users> adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
说明:指定视频的比特率为 6Mbps,如果不指定,默认为 4Mbps,你可以增加比特率以提高视频质量,或为了让文件更小而降低比特率,比如 2K 屏幕就可以指定为 20Mbps 以使视频实现高清(默认 4Mbps 明显锯齿)。
显示 log
参数: --verbose
C:\Users\Users> adb shell screenrecord --bit-rate 20000000 --verbose --time-limit 60 /sdcard/demo4.mp4
Main display is 1440x2560 @60.00fps (orientation=0)
Configuring recorder for 1440x2560 video/avc at 20.00Mbps
Content area is 1440x2560 at offset x=0 y=0
Time limit reached
Encoder stopping; recorded 2878 frames in 60 seconds
Stopping encoder and muxer
Executing: /system/bin/am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/demo4.mp4
Broadcasting: Intent { act=android.intent.action.MEDIA_SCANNER_SCAN_FILE dat=file:///sdcard/demo4.mp4 flg=0x400000 }
Broadcast completed: result=0
旋转方向
参数: --rotate
C:\Users\Users> adb shell screenrecord --rotate /sdcard/demo5.mp4
说明:此功能为实验性的,效果是旋转 180 度,但可以明显感觉到录制出来的视频可视区域小了非常多(黑框范围大)。
帮助命令
参数: --help
C:\Users\Users> adb shell screenrecord --help
Usage: screenrecord [options] <filename>
Android screenrecord v1.2. 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 bits per second. Value may be specified as
bits or megabits, e.g. '4000000' is equivalent to '4M'. Default 4Mbps.
--bugreport
Add additional information, such as a timestamp overlay, that is helpful
in videos captured to illustrate bugs.
--time-limit TIME
Set the maximum recording time, in seconds. Default / maximum is 180.
--verbose
Display interesting information on stdout.
--help
Show this message.
Recording continues until Ctrl-C is hit or the time limit is reached.
注意
- 某些设备可能无法直接录制,原因是分辨率太高,如果遇到此类问题,请试着指定较低的分辨率;
- 不支持录制过程中屏幕旋转,如果录制过程中旋转,有可能画面被切断;
- 录制视频的时候声音不会被录下来;
参考文章:
1、《Android 视频录制命令 screenrecord》
Windows 7Chrome 66.0.3359.139来自 广东 的大神
对小白来说还是用录像软件比较好
这倒是真的,但是第三方软件总有一些不让人放心的地方 :pu: