mirror of
https://github.com/YaoFANGUK/video-subtitle-remover.git
synced 2026-04-30 05:07:31 +08:00
- PaddleOCR 2.10.0 升级至 3.4.0,使用新的 TextDetection API 替代旧版 TextDetector - V5 模型替换为 PaddleX 格式(inference.pdiparams + inference.yml) - 移除 PP-OCRv4 模型(backend/models/V4),仅保留 PP-OCRv5 - 字幕检测选项重命名为"快速"和"精准" - 清理 requirements.txt,移除 11 个未使用的依赖,补充缺失的依赖 - 更新设计素材 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
1.4 KiB
Python
27 lines
1.4 KiB
Python
import os
|
|
from backend.config import config, BASE_DIR
|
|
from backend.tools.common_tools import merge_big_file_if_not_exists
|
|
from backend.tools.constant import SubtitleDetectMode
|
|
|
|
_MODEL_NAME_MAP = {
|
|
SubtitleDetectMode.PP_OCRv5_MOBILE: "PP-OCRv5_mobile_det",
|
|
SubtitleDetectMode.PP_OCRv5_SERVER: "PP-OCRv5_server_det",
|
|
}
|
|
|
|
class ModelConfig:
|
|
def __init__(self):
|
|
self.LAMA_MODEL_DIR = os.path.join(BASE_DIR, 'models', 'big-lama')
|
|
self.STTN_AUTO_MODEL_PATH = os.path.join(BASE_DIR, 'models', 'sttn-auto', 'infer_model.pth')
|
|
self.STTN_DET_MODEL_PATH = os.path.join(BASE_DIR, 'models', 'sttn-det', 'sttn.pth')
|
|
self.PROPAINTER_MODEL_DIR = os.path.join(BASE_DIR,'models', 'propainter')
|
|
if config.subtitleDetectMode.value == SubtitleDetectMode.PP_OCRv5_MOBILE:
|
|
self.DET_MODEL_DIR = os.path.join(BASE_DIR,'models', 'V5', 'ch_det_fast')
|
|
elif config.subtitleDetectMode.value == SubtitleDetectMode.PP_OCRv5_SERVER:
|
|
self.DET_MODEL_DIR = os.path.join(BASE_DIR, 'models', 'V5', 'ch_det')
|
|
else:
|
|
raise ValueError(f"Invalid subtitle detect mode: {config.subtitleDetectMode.value}")
|
|
self.DET_MODEL_NAME = _MODEL_NAME_MAP[config.subtitleDetectMode.value]
|
|
|
|
merge_big_file_if_not_exists(self.LAMA_MODEL_DIR, 'bit-lama.pt')
|
|
merge_big_file_if_not_exists(self.PROPAINTER_MODEL_DIR, 'ProPainter.pth')
|