简介
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, 须要源码能够私信~~
- 简繁火星字体转换
- 哄女友神器
- 号码测吉凶
- 电视节目直播表