做了一个 iOS 全局屏幕翻译 App,基于 ReplayKit + PiP 技术

2 天前
 Maxwin

各位好,最近做了一个 iOS App ,功能是全局屏幕实时翻译。简单来说就是:开启录屏 → OCR 识别屏幕文字 → 翻译 → 以画中画悬浮窗显示结果。任何 App 里都能用,不需要 root 、不需要辅助功能权限。

核心技术栈

工作流程

屏幕录制 (ReplayKit)
  → 帧捕获 (CMSampleBuffer)
  → PiP 区域检测 & 排除
  → OCR 区域图像存入 App Group 容器
  → Darwin Notification 通知主 App
  → OCR (Vision) → 文本拼接 → 翻译 (Translation)
  → 文本排版引擎 → PiP 覆盖层更新

为什么做这个

市面上的翻译 App 要么只能翻译截图,要么需要复制粘贴文字。我想要的是:打开任何 App (游戏、Twitter 、网页),屏幕上的外语直接变中文,实时更新。

技术上最大的挑战是 PiP 自检测——画中画窗口本身也在屏幕上,OCR 不能把自己显示的翻译结果再识别一遍。这个问题花了不少时间,后面单独写一篇讲。

目前支持的语言

源语言:英、日、韩、法、德、西、葡(巴西)、俄、泰、越 目标语言:简中、繁中、英、日、韩、法、德、西

完全离线运行,翻译资源首次使用时下载,之后不需要网络。

App Store 搜 TransPeek 就能找到,免费有 30 分钟体验额度。有什么问题欢迎交流。

507 次点击
所在节点    分享创造
4 条回复
McGrady222
2 天前
不错的想法
Maxwin
2 天前
@McGrady222 已经上线初始版本了 :)
337136897
1 天前
刚试了,这个翻译的画中画窗口自己会消失的,并且不能全屏识别啥的,要移动哪,再往上一点才是翻译的区域。 不太好用
aero99
1 天前
有点意思,我是通过快捷指令,截图发送给 AI 来处理的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1200808

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX