这个项目能做什么
Video-subtitle-extractor(VSE)是一款将视频中烧录的硬字幕提取为外挂字幕文件(SRT 或 TXT)的开源工具,采用 Apache 2.0 协议发布,基于 Python 3.12+ 开发,支持 Windows、macOS 与 Linux 三大平台。
核心处理流程包括:从视频中抽取关键帧、检测帧内文本所在位置、识别文本内容、过滤非字幕区域、去除重复字幕行,最终输出时间轴对齐的 SRT 字幕文件。项目还配套了 video-subtitle-remover(VSR),可用于去除水印、台标以及原视频中的硬字幕。
功能亮点:
- 完全本地化 OCR,无需申请或调用百度、阿里等第三方在线 OCR API,隐私与成本更可控。
- 支持 GPU 加速(CUDA、DirectML、ONNX)以及纯 CPU 运行,覆盖 NVIDIA、AMD、Intel 与 Apple Silicon 等硬件。
- 提供三种识别模式:快速(轻量模型,速度快但可能少量丢字或错字)、自动(按硬件自动选择模型,推荐)、精准(逐帧检测,几乎不丢字但速度非常慢)。
- 支持 87 种语言的字幕提取,包括简体中文、繁体中文、英文、日语、韩语、越南语、阿拉伯语、法语、德语、俄语、西班牙语、葡萄牙语、意大利语等。
- 支持批量提取,要求同一批视频分辨率与字幕区域保持一致。
- 提供 typoMap.json 配置,可对识别结果做文本替换或整段删除,例如把“威筋”替换为“威胁”,或清空“性感荷官在线发牌”这类广告文本。
- 提供 GUI 图形界面(python gui.py)与 CLI 命令行(python ./backend/main.py)两种使用方式,GUI 下可直接框选字幕区域后一键运行。
部署方面,项目提供 Release 压缩包可直接解压运行;源码安装需先创建 Python 虚拟环境,再根据硬件选择 CUDA 11.8 + cuDNN 8.6.0、DirectML、ONNX 或 CPU 四种运行环境之一,安装对应版本的 PaddlePaddle 3.3.1 及依赖。需要注意视频与程序路径不要包含中文或空格,否则可能触发未知错误;NVIDIA 50 系显卡因 Paddle 3.3.1 尚未支持 CUDA 12.8,建议使用 DirectML 通用版本。
项目还维护了多个 QQ 交流群用于答疑,并鼓励用户在 Issues 与 Discussions 中提出改进意见。整体定位是面向个人用户与字幕爱好者的本地化硬字幕提取工具,适合为无字幕或字幕烧录的视频补回可编辑的外挂字幕。
评论
0 评分人数达到10人后显示
登录后参与讨论。