Python的 - AndroidViewClient报平安高FPS(Python - Andro

2019-10-31 07:39发布

我希望把我的设备的快照在使用Python AndroidViewClient 60 FPS,所以我使用的功能device.takeSnapshot(reconnect=True)在一个循环中这样做。 然而,似乎这个函数的时间消耗大约为0.5秒,这给了我2 FPS。 我认为,重新连接是什么使得它长。 那么,为什么设备取一个快照后自动断开? 有没有一种方法,以保持在连接? 有没有改善的时间消耗,获得更高的FPS任何其他方式?

Answer 1:

尽管这不是AndroidViewClient /库莱布拉的目标是要成为一个screenrecord呃,我跑这样的测试

device, serialno = ViewClient.connectToDeviceOrExit()
t = time.time()
for s in range(60):
    device.takeSnapshot(reconnect=True)
t1 = time.time()-t
print "t={} secs  r={} screenshots/sec".format(t1, 60/t1)

和快速电话(像素3)它可以采取60个截图在15秒或4 FPS。 此外,考虑到屏幕尺寸为1080x2160所以有很多要传输的字节。

你可以看看takeSnapshot()的源代码,并看到有您可以删除或更改,如果你想加快速度,像PIL某些部分Image建立可推迟。



文章来源: Python - AndroidViewClient take snapshots in high FPS