最近,我写了一个PC客户端,可以使用adb实时显示和控制我的Android手机屏幕.我使用猴子来控制设备,它工作正常.问题是如何抓住手机屏幕并顺利显示.
第一个解决方案,我想出了是不断抢framebuffer通adb(如DDMS的屏幕捕捉功能).现在,当我这样做时,性能是非常不可接受的.从中捕获的帧速率低至framebuffer每秒5帧(帧大小为800*480).当我在手机上滑动时,我的程序看起来像打嗝.
我的程序是用java编写的,ddmslib用来抓取framebuffer.
add:
我发现将原始framebuffer数据编码为.png格式要慢得多,否则这将是传输压缩原始图像的快速方法.
如何将屏幕捕获速度提高到平稳水平?