scan_date: 2026-08-08 mode: B(多 repo 採用健檢/選型比較) tier: quick token_cost: ~8 萬 token(嵌在 V2Text 整合任務內跑)


Radar — 影片壓死字幕(hardsub)OCR 工具選型(V2Text /deep OCR 通道)

背景:V2Text 整合規格要求 OCR 通道(sub_ocr.py:ffmpeg 取幀→去重→OCR→帶時間戳文本)。幀抽取與去重規格已定自寫,本次選型只決定 OCR 引擎。部署目標:Mac Mini(Apple Silicon,macOS 26.5)、離線、zh-Hant 品質、維護活躍。

1. 裁決

採用路線:macOS Vision(VNRecognizeTextRequest)為主引擎,經 ocrmac Python wrapper(或直接 pyobjc)呼叫;RapidOCR(onnxruntime)列為品質不符時的備援引擎。整體策略=reference(借各工具的管線設計,引擎用系統原生)。

一句為什麼:PaddleOCR 家族在 Apple Silicon+新版 macOS 是現行已知故障(paddlepaddle 3.3.1 版本檢查 bug 直接 import 失敗,Paddle issue #78542),而候選清單裡 VSE/videocr/VideOCR 全數綁 Paddle;macOS Vision 原生離線、zh-Hant 支援(accurate 模式)、零重依賴、Apple Silicon 原生,且規格所需的「引擎」部分它完全覆蓋。

2. 硬閘門表

repo License 棄養 平台一票否決項
YaoFANGUK/video-subtitle-extractor Apache-2.0 ✅ pushed 2026-04 ✅ ❌ 綁 PaddlePaddle(Apple Silicon 現行故障)
apm1467/videocr MIT ✅ ❌ 停更(2024-01;pypi ~2 次/日) ❌ 同 Paddle
devmaxxing/videocr-PaddleOCR MIT ✅ ⚠️ 2025-08 ❌ 同 Paddle
SWHL/RapidVideOCR Apache-2.0 ✅ 2025-09 ⚠️ ❌ 工作流綁 VideoSubFinder(僅 Windows/Linux 出 build,無 macOS 版)
PaddlePaddle/PaddleOCR(引擎) Apache-2.0 ✅ 活躍 ✅(87k stars) ❌ paddlepaddle ARM64 macOS import 失敗(#78542;歷史 #10820/#11588),workaround=降版 2.5.2
RapidAI/RapidOCR(引擎) Apache-2.0 ✅ 本週有 push ✅(7.4k stars;rapidocr-onnxruntime ~2 萬次/日) ✅ onnxruntime 跨平台,無 Paddle 依賴
macOS Vision+ocrmac wrapper 系統原生/MIT ✅ ocrmac pushed 2026-01、534 stars、~3-6k 次/日 ✅ ✅ 原生;限制=直排字幕不支援(壓死字幕幾乎全橫排,可接受)

3. 契合六維(採用組合:Vision via ocrmac)

本機資產盤點:mybani /image-note 只抓圖交雲端視覺模型,無本地 OCR 零件可沿用;ffmpeg/ffprobe 已在(homebrew)。

4. 差異化空間+死因分析

5. 證據連結

6. 覆蓋聲明

7. 手動後續

8. 附錄——查詢原文