Subprocess调用adb screenrecord录屏如何设置最大文件大小或码率
Android screenrecord 录屏参数配置方法
screenrecord 作为Android系统原生录屏工具,原生支持最大文件大小限制、自定义录屏码率两个核心需求,不需要额外安装第三方工具。
可用配置参数说明
- 最大文件大小限制:使用参数
--size-limit指定,参数值支持纯数字(单位为字节),也可以追加K/M/G后缀指定KiB/MiB/GiB单位,录屏文件达到设定阈值后会自动终止录制。 - 自定义录屏码率:使用参数
--bit-rate指定,参数值单位默认是比特每秒,追加K/M后缀可指定Kbps/Mbps,系统默认码率为4Mbps,可根据画质需求调整。 - 补充:默认录屏最长时长为180秒,如有需要可通过
--time-limit参数自定义最长录制时长,单位为秒。
Python 调用代码修改示例
直接把需要的参数追加到subprocess.Popen的命令列表中即可,示例代码如下(配置为最大文件100MB、码率2Mbps):
import subprocess # 录屏配置项 max_size = "100M" target_bitrate = "2M" device_save_path = "/sdcard/test_record.mp4" # 启动录屏进程 process = subprocess.Popen( [ "adb", "shell", "screenrecord", "--verbose", "--size-limit", max_size, "--bit-rate", target_bitrate, device_save_path ] ) # 需要主动停止录屏时,调用进程终止方法即可 # process.terminate()
注意事项
- 部分Android 11以下的定制ROM可能存在
--size-limit参数不生效的问题,如果遇到该情况,可以只配置码率,同时在Python脚本中定期读取设备端录屏文件大小,达到阈值时主动终止录屏进程即可。- 码率设置需要匹配录屏分辨率:720P分辨率推荐设置2-4Mbps,1080P分辨率推荐设置4-8Mbps,码率过低会导致画面模糊、文字辨识度下降。
- 录屏完成后记得通过
adb pull命令将设备端的文件同步到本地,不需要保留时及时删除设备端文件释放存储空间。
内容的提问来源于stack exchange,提问作者Brito
相关产品推荐
相关产品推荐

