我正在使用ADB的屏幕录制功能来录制我的应用程序的视频。它非常方便实用。我发现的唯一问题是最长时限为3分钟(180秒)。
我们可以通过哪种方式或方法或方式来增加这个时间限制?
在Windows上我的诀窍是创建一个screenrecord.bat
文件并运行它。 9分钟:
adb shell screenrecord --bit-rate 8000000 /sdcard/sr1.mp4
adb shell screenrecord --bit-rate 8000000 /sdcard/sr2.mp4
adb shell screenrecord --bit-rate 8000000 /sdcard/sr3.mp4
然后,您可以将文件与任何视频编辑软件合并。
我知道这是一个蹩脚的解决方案,但adb screenrecord
应该归咎于不允许更长的视频长度......
我遇到了同样的问题。
这是我的解决方案。简而言之,它可以通过重新编译android源来解决。需要患者。
1,按照此处的说明https://source.android.com/source/initializing.html初始化构建环境。
2,从git下载源代码(用10 M带宽大约需要1小时)。
3,通过将kMaxTimeLimitSec
更改为7200(表示2小时)来修改path_to_working_directory / frameworks / av / cmds / screenrecord / screenrecord.cpp。
4,编译android(使用Core i5-2500k和8G RAM大约需要2个小时)
5,将你的android手机中的work_directory / out / target / product / flow / system / bin / screen记录的路径复制到/ system / bin(请记住备份原始的screenrecord以防万一!)
替代解决方案:
adb shell "screenrecord --time-limit 5 /sdcard/testRun1.mp4; screenrecord --time-limit 5 /sdcard/testRun2.mp4"
注意引号和分号。 shell命令在Android设备上作为shell脚本执行。上面的命令将创建两个每个5秒的mp4文件,一个接一个。
在我们的Jenkins测试项目中,我们使用如下命令执行exec步骤:
adb shell "screenrecord /sdcard/test1.mp4; screenrecord /sdcard/test2.mp4; screenrecord /sdcard/test3.mp4" &
&符号背景adb命令允许其余的测试脚本继续进行。上面的命令最多可记录9分钟。