e0a2b323d9
- obsidian-kb: Add OCR processors (easyocr, tesseract) - obsidian-kb: Fix subtitle detection with test files - obsidian-kb: Add cookie verification script - Add find-skills skill for discovering capabilities - Add video processing scripts - Update clawhub lock file
2.6 KiB
2.6 KiB
Obsidian KB - 待办事项
📌 当前任务:解决硬字幕 OCR 问题
✅ 已完成
-
分析硬字幕提取问题
- 发现 oneDNN 兼容性问题
- 发现 PaddleOCR 参数错误
-
禁用 oneDNN
- 设置环境变量 FLAGS_use_mkldnn=0
- 写入 ~/.bashrc
-
修复 PaddleOCR 参数
- 更新
use_angle_cls→use_textline_orientation - 移除不支持的
show_log参数
- 更新
-
安装 EasyOCR
- 安装 EasyOCR 1.7.2
- 测试 EasyOCR 初始化成功
-
创建 EasyOCR 处理器
- 新文件:
src/extractors/easyocr_processor.py - 支持简体中文识别
- 避免所有 oneDNN 兼容性问题
- 新文件:
⏳ 待完成
-
1. 修改硬字幕提取器,支持双 OCR 引擎
- 在
hard_subtitle_extractor.py中添加引擎选择逻辑 - 根据
config.hard_subtitle.engine参数选择使用 PaddleOCR 或 EasyOCR - 保持向后兼容性
- 在
-
2. 更新配置文件
- 添加
hard_subtitle.engine配置项(paddleocr|easyocr) - 默认值设为
easyocr(更稳定) - 更新配置文档
- 添加
-
3. 实际测试 EasyOCR 字幕提取
- 使用真实视频测试硬字幕提取
- 对比 EasyOCR 和 PaddleOCR 的识别效果
- 测试处理速度和准确度
-
4. 性能优化(可选)
- 优化帧提取逻辑(当前只提取 4 帧有问题)
- 调整抽帧间隔和最大帧数
- 考虑多线程/多进程加速
-
5. 文档更新
- 更新 SKILL.md 中的硬字幕提取说明
- 添加 OCR 引擎选择指南
- 记录 EasyOCR 优势和限制
📋 备注
问题记录
-
PaddleOCR oneDNN 问题:即使设置环境变量,仍出现兼容性错误
(Unimplemented) ConvertPirAttribute2RuntimeAttribute not support [pir::ArrayAttribute<pir::DoubleAttribute>] -
帧提取异常:12:48的视频只提取了4帧(应该150+帧)
EasyOCR 优势
- ✅ 不依赖 PaddlePaddle
- ✅ 安装简单
- ✅ 无底层框架兼容性问题
- ✅ 支持 70+ 种语言
- ✅ 活跃维护
EasyOCR 限制
- ⚠️ 中文准确度略低于 PaddleOCR
- ⚠️ 首次初始化需要下载模型(约 40MB)
- ⚠️ 处理速度可能略慢
🔗 相关文件
src/extractors/ocr_processor.py- PaddleOCR 处理器src/extractors/easyocr_processor.py- EasyOCR 处理器(新建)src/extractors/hard_subtitle_extractor.py- 硬字幕提取器src/extractors/bilibili_extractor.py- B站提取器(调用硬字幕提取).disable_onednn.sh- 禁用 oneDNN 脚本
创建时间:2026-02-09 08:02 最后更新:2026-02-09 08:02