3.2 KiB
3.2 KiB
视频字幕OCR提取器 - CnOCR集成
概述
字幕提取器现在支持三种OCR引擎:
- PaddleOCR: 百度开源OCR引擎
- EasyOCR: 轻量级OCR引擎
- CnOCR: 中文OCR专用引擎(新增)
CnOCR安装和配置
1. 自动安装(推荐)
cd code
python install_cnocr.py
2. 手动安装
# 安装CnOCR
pip install cnocr[ort-cpu] -i https://pypi.tuna.tsinghua.edu.cn/simple
# 创建模型目录
mkdir -p /root/autodl-tmp/llm/cnocr
# 设置环境变量
export CNOCR_HOME=/root/autodl-tmp/llm/cnocr
使用方法
1. 单独使用CnOCR
python ocr_subtitle_extractor.py your_video.mp4 -e cnocr
2. 使用所有OCR引擎
python ocr_subtitle_extractor.py your_video.mp4 -e all
3. 完整参数示例
python ocr_subtitle_extractor.py your_video.mp4 \
-e cnocr \
-l ch \
-i 30 \
-c 0.5 \
-o results \
-f json \
--position bottom
参数说明
-
-e, --engine: OCR引擎选择paddleocr: 仅使用PaddleOCReasyocr: 仅使用EasyOCRcnocr: 仅使用CnOCR(新增)all: 使用所有三种引擎
-
-l, --language: 语言设置ch: 中文en: 英文ch_en: 中英文混合
-
-i, --interval: 帧采样间隔(默认30帧) -
-c, --confidence: 置信度阈值(默认0.5) -
-o, --output: 输出目录 -
-f, --format: 输出格式(json/txt/srt) -
--position: 字幕区域位置(full/center/bottom)
CnOCR特点
- 专为中文优化: 对中文识别效果更好
- 轻量级: 模型体积较小,运行速度快
- 易于部署: 安装简单,依赖少
- 多种模型: 支持多种检测和识别模型
测试CnOCR集成
python test_cnocr.py
这个脚本会:
- 测试CnOCR安装
- 测试模型下载
- 测试字幕提取器集成
- 显示测试结果
模型存储位置
所有CnOCR模型文件都会下载到:
/root/autodl-tmp/llm/cnocr/
首次使用时会自动下载所需模型,请耐心等待。
输出格式
使用CnOCR时,识别结果中的engine字段会标记为"CnOCR",便于区分不同引擎的结果。
性能对比
| 引擎 | 中文识别 | 英文识别 | 速度 | 模型大小 |
|---|---|---|---|---|
| PaddleOCR | 优秀 | 优秀 | 中等 | 大 |
| EasyOCR | 良好 | 优秀 | 较慢 | 大 |
| CnOCR | 优秀 | 良好 | 较快 | 中等 |
故障排除
1. 安装失败
# 更新pip
pip install --upgrade pip
# 使用国内源
pip install cnocr[ort-cpu] -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 模型下载失败
# 检查网络连接
# 确保有足够的磁盘空间
# 重新运行安装脚本
python install_cnocr.py
3. 环境变量问题
# 在脚本开头添加
export CNOCR_HOME=/root/autodl-tmp/llm/cnocr
示例输出
{
"video_path": "test_video.mp4",
"subtitles": [
{
"timestamp": 1.5,
"text": "这是一个测试字幕",
"confidence": 0.95,
"bbox": [[10, 20], [200, 20], [200, 50], [10, 50]],
"engine": "CnOCR"
}
],
"stats": {
"total_detections": 150,
"filtered_detections": 120,
"unique_texts": 50,
"average_confidence": 0.87
}
}