xiaokeer-python
Python 工具集微服务项目,整合音频处理、视频处理、Android 控制、Windows 自动化等多种实用功能。
PythonFlaskFFmpegOpenCVADBWindows API
项目简介
xiaokeer-python 是一个 Python 工具集微服务项目,定位为个人效率工具箱。项目通过 Flask 提供 RESTful API 服务,整合了音频处理、视频处理、Android 设备控制、Windows 系统自动化、文本处理、游戏自动化等多种实用功能。采用模块化设计,每个功能领域独立成目录,便于维护和扩展。
主要特性
- 🎵 音频处理:MP3/WAV 转换、合并、静音生成、流式大文件处理
- 🎬 视频处理:视频帧提取、自定义帧率导出
- 📱 Android 控制:ADB 设备管理、照片批量下载、剪贴板同步
- 🖥️ Windows 自动化:输入法切换、大文件扫描、桌面整理
- 🎮 游戏自动化:屏幕识别、驱动级键鼠模拟
- 📝 文本处理:智能聚类分析、文本分割
技术栈
| 类别 | 技术 |
|---|---|
| Web 框架 | Flask |
| 音频处理 | pydub, soundfile, FFmpeg |
| 视频/图像 | OpenCV, pyautogui |
| 机器学习 | scikit-learn (TF-IDF, DBSCAN) |
| Windows API | win32api, ctypes, interception |
| 移动设备 | ADB |
| Web 自动化 | Selenium, BeautifulSoup |
技术亮点
亮点一:高性能音频处理
使用 FFmpeg 替代 pydub 进行转换,性能提升显著:
# FFmpeg 多线程加速转换
cmd = [
"ffmpeg",
"-threads", "0", # 自动使用所有 CPU 核心
"-c:a", "libmp3lame",
"-b:a", "320k",
]
亮点二:流式大文件处理
使用 soundfile 流式读取,支持合并超大音频文件:
# 流式合并避免内存溢出
for bl in sf.blocks(path, blocksize=blocksize):
fout.write(bl)
优势:
- 自动检测格式一致性,跳过不匹配的文件
- 支持重采样统一音频格式
亮点三:驱动级输入模拟
使用 interception 库实现驱动级键鼠模拟,可绕过游戏检测:
import interception
interception.move_relative(100, 200)
interception.click()
亮点四:DPI 感知的分辨率获取
正确处理 Windows DPI 缩放,获取真实物理像素分辨率:
# Per-Monitor DPI Aware V2
shcore.SetProcessDpiAwareness(2)
width = user32.GetSystemMetrics(0)
亮点五:安卓 12+ 剪贴板 API
支持新版安卓剪贴板 API:
# 新版安卓剪贴板命令
cmd = ["adb", "-s", device_id, "shell", f"cmd clipboard set \"{text}\""]
亮点六:智能文本聚类
使用 TF-IDF + DBSCAN 进行告警文本聚类:
# 字符级 n-gram 向量化
vectorizer = TfidfVectorizer(analyzer='char', ngram_range=(2, 4))
db = DBSCAN(eps=0.5, min_samples=1, metric='precomputed')
应用场景:自动发现相似告警分组,减少告警噪音
相关链接
- 代码仓库:GitHub