关于python:使用minicap对安卓手机快速截屏

6次阅读

共计 954 个字符,预计需要花费 3 分钟才能阅读完成。

简介

minicap 属于 STF 框架的一个工具,由 STF 团队本身开发,属于较为外围的一部分,minicap 运行于 android 设施端,负责设施屏幕视频的实时采集并通过 socket 接口发送.

minicap 采集屏幕的原理很简略:通过 ndk 的截屏接口不停的截屏并通过 socket 接口实时发送,这样客户端便能够失去一序列的图片流,图片流合成后就成为视频.

应用 uiautomator2, 从截屏开始到存入电脑, 大略须要 1 -2S.

而 minicap 能够把工夫缩小到到 ms 级别.

装置对应库

pip3 install uiautomator2
uiautomator2 init

此时手机上曾经装置好了 minicap 和 atx-agent,并且其实 atx-agent 应该曾经启动了。

pip3 install adbutils
pip3 install websocket_client

示例代码

import os
import uiautomator2 as u2
import time
import adbutils
import websocket

d = adbutils.adb.device('xxxx')   # adb devices 命令获取

lport = d.forward_port(7912)
ws = websocket.WebSocket()
ws.connect("ws://localhost:{}/minicap".format(lport))

index = 0
# start = time.time()
while True:
    data = ws.recv()
    if not isinstance(data, (bytes, bytearray)):
        print(data)
        continue
    with open("home.jpg" , "wb") as f:
        f.write(data)
        index += 1
    print(index)
    if index > 0:
        break

# duration = time.time() - start
# print("Image per second: %.2f" % (100/duration))
ws.close()

留神,minicap 会有兼容性问题.

小米基于 miui11 零碎上,执行 minicap 失败

参考

Flutter 写的 app, 须要源码能够私信~~

  • 简繁火星字体转换
  • 哄女友神器
  • 号码测吉凶
  • 电视节目直播表

最好的笔记软件

正文完
 0