今天看到有人在这篇古老的文章中 atx 快速截图 中有人留言,问有没有可能 1s 截 10 张图?这当然有可能啦!
打开命令行,确保安装好 Python3,手机通过数据线连接上电脑。
pip3 install uiautomator2
uiautomator2 init
此时手机上已经安装好了 minicap 和 atx-agent,并且其实 atx-agent 应该已经启动了。
pip3 install adbutils
pip3 install websocket_client
为了最快的截图速度,我们需要从 minicap 中的 socket 中拉数据。
import os
import time
import adbutils
import websocket
d = adbutils.adb.device()
lport = d.forward_port(7912)
ws = websocket.WebSocket()
ws.connect("ws://localhost:{}/minicap".format(lport))
os.makedirs("screenshots", exist_ok=True)
index = 0
start = time.time()
while True:
data = ws.recv()
if not isinstance(data, (bytes, bytearray)):
print(data)
continue
with open("screenshots/%02d.jpg" % index, "wb") as f:
f.write(data)
index += 1
print(index)
if index > 100:
break
duration = time.time() - start
print("Image per second: %.2f" % (100/duration))
ws.close()
我的这台锤子手机平均 30 张图/秒