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
92 lines
2.6 KiB
Markdown
92 lines
2.6 KiB
Markdown
# Obsidian KB - 待办事项
|
||
|
||
## 📌 当前任务:解决硬字幕 OCR 问题
|
||
|
||
### ✅ 已完成
|
||
1. [x] 分析硬字幕提取问题
|
||
- 发现 oneDNN 兼容性问题
|
||
- 发现 PaddleOCR 参数错误
|
||
|
||
2. [x] 禁用 oneDNN
|
||
- 设置环境变量 FLAGS_use_mkldnn=0
|
||
- 写入 ~/.bashrc
|
||
|
||
3. [x] 修复 PaddleOCR 参数
|
||
- 更新 `use_angle_cls` → `use_textline_orientation`
|
||
- 移除不支持的 `show_log` 参数
|
||
|
||
4. [x] 安装 EasyOCR
|
||
- 安装 EasyOCR 1.7.2
|
||
- 测试 EasyOCR 初始化成功
|
||
|
||
5. [x] 创建 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
|