Skip to content
On this page

移动端屏幕录制

下载 ffmpeg 并添加到 PATH

官方下载地址 https://ffmpeg.org/download.html [Get packages & executable files],将 ffmpeg 可执行文件所在目录添加到 PATH

bash
# 验证ffmpeg
$ ffmpeg -version
ffmpeg version 6.0-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2023 the FFmpeg developers

屏幕录制 api

推荐在任务执行监听中录制屏幕

java
// 开启录屏
// android https://github.com/appium/appium-android-driver/blob/master/lib/commands/types.ts StartScreenRecordingOpts
// iOS https://github.com/appium/appium-xcuitest-driver/blob/master/lib/commands/types.ts StartRecordingScreenOptions
device.startRecordingScreen(Map.of(
    // "videoSize", "1920x1080", // android: height x width
    "bitRate", 1000000, // android: 1 Mbit/s
    "videoType", "libx264",// iOS: ffmpeg -vcodec
    "videoQuality", "low", // iOS: 'low' | 'medium' | 'high' | 'photo', mjpegServerScreenshotQuality: 10 | 25 | 75 | 100
    "videoFps", 5, // iOS: mjpegServerFramerate
    "forceRestart", true,
    "timeLimit", 1800 // 单位:second, appium限制录屏最长30分钟
));

// 停止录屏, 得到录屏文件
File videoFile = device.stopRecordingScreen();
// 将录屏文件添加到日志。该方法会上传videoFile到文件服务,并删除本地videoFile
log.video(videoFile);

已知问题

目前平台使用 appium 录屏,android 端底层使用 adb shell screenrecord 录屏,大部分华为手机不支持

sh
# 验证手机是否支持screenrecord
$ adb shell screenrecord --help