各位好,最近做了一个 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 分钟体验额度。有什么问题欢迎交流。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.