GoForum › 🌐 V2EX
做了一个 iOS 全局屏幕翻译 App,基于 ReplayKit + PiP 技术
Maxwin ·
2026-03-24 19:34 ·
0 次点赞 · 2 条回复
各位好,最近做了一个 iOS App ,功能是全局屏幕实时翻译。简单来说就是:开启录屏 → OCR 识别屏幕文字 → 翻译 → 以画中画悬浮窗显示结果。任何 App 里都能用,不需要 root 、不需要辅助功能权限。
核心技术栈
- ReplayKit Broadcast Extension — 捕获屏幕帧
- Vision framework — OCR 文字识别
- Apple Translation framework — 离线翻译
- AVPictureInPictureVideoCallViewController — 画中画悬浮窗
- 纯 SwiftUI,零第三方依赖
工作流程
屏幕录制 (ReplayKit)
→ 帧捕获 (CMSampleBuffer)
→ PiP 区域检测 & 排除
→ OCR 区域图像存入 App Group 容器
→ Darwin Notification 通知主 App
→ OCR (Vision) → 文本拼接 → 翻译 (Translation)
→ 文本排版引擎 → PiP 覆盖层更新
为什么做这个
市面上的翻译 App 要么只能翻译截图,要么需要复制粘贴文字。我想要的是:打开任何 App (游戏、Twitter 、网页),屏幕上的外语直接变中文,实时更新。
技术上最大的挑战是 PiP 自检测——画中画窗口本身也在屏幕上,OCR 不能把自己显示的翻译结果再识别一遍。这个问题花了不少时间,后面单独写一篇讲。
目前支持的语言
源语言:英、日、韩、法、德、西、葡(巴西)、俄、泰、越 目标语言:简中、繁中、英、日、韩、法、德、西
完全离线运行,翻译资源首次使用时下载,之后不需要网络。
App Store 搜 TransPeek 就能找到,免费有 30 分钟体验额度。有什么问题欢迎交流。
2 条回复
@McGrady222 已经上线初始版本了 :)
添加回复
你还需要 登录
后发表回复
不错的想法