资讯动态

免费本地OCR字幕提取完整指南:用 video-subtitle-extractor 把视频硬字幕3分钟变成srt文件

发布时间:2026/8/14 12:47:32 来源:尧图企业网站定制
免费本地OCR字幕提取完整指南用 video-subtitle-extractor 把视频硬字幕3分钟变成srt文件【免费下载链接】video-subtitle-extractor视频硬字幕提取生成srt文件。无需申请第三方API本地实现文本识别。基于深度学习的视频字幕提取框架包含字幕区域检测、字幕内容提取。A GUI tool for extracting hard-coded subtitle (hardsub) from videos and generating srt files.项目地址: https://gitcode.com/gh_mirrors/vi/video-subtitle-extractor你是字幕组新人昨晚淘到一部老电影的高清资源字幕是烧死在画面里的——想二创、想精读台词却只能一帧帧暂停、手抄。video-subtitle-extractorVSE这款免费本地OCR字幕提取工具就是为这种看得见却摸不着的时刻准备的它基于深度学习做本地识别无需申请任何第三方API几分钟就能把视频硬字幕变成可编辑的 srt 文件。字幕组、外语学习者、视频二创作者都能靠它把几小时的苦力活压缩成几分钟。两分钟跑通首个提取任务从安装到拿到srt文件先别研究原理我们用最短路径跑通一次。想最快上手直接下载官方 Release 压缩包解压运行想掌控代码、方便后续改造就走源码安装git clone https://gitcode.com/gh_mirrors/vi/video-subtitle-extractor cd video-subtitle-extractor python -m venv videoEnv # Windows 激活videoEnv\Scripts\activate # macOS/Linux 激活 source videoEnv/bin/activate pip install paddlepaddle3.3.1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/ pip install -r requirements.txt python gui.py这段命令做的事克隆项目 → 创建干净的虚拟环境 → 安装 PaddlePaddle 深度学习框架CPU版最省心和其余依赖 → 启动图形界面。窗口打开后跟着三步走点击【打开】选中项目test/目录里的测试视频比如test_cn.mp4在画面上用鼠标框住字幕区域通常就是底部一条横带点击【运行】稍等片刻视频同目录下就多出一个.srt文件。看到 srt 出现的那一刻你就完成了从0到1。接下来花五分钟理解它为什么能行你会用得更顺手。五步操作看懂核心能力每一步解决一个实际问题VSE 的功能不是零散堆叠而是顺着打开视频→识别→出稿这条操作流设计的我们按使用顺序逐个拆开。框选字幕区域只识别你圈定的那条带画面里可能同时有台标、水印、弹幕文字它们都不是字幕。VSE 让你手动框选字幕区域之后所有识别只在这块区域内进行——既排除了干扰又大幅减少计算量。区域坐标由backend/bean/subtitle_area.py中的SubtitleArea类管理backend/tools/subtitle_detect.py则负责在每帧画面里定位文字框确保你圈的范围被精准覆盖。本地OCR识别87种语言内容不碰云端这是整个项目最值钱的能力所有文本识别都在你电脑上完成不申请百度、阿里之类的在线OCR服务视频内容也不会上传到任何服务器。backend/tools/ocr.py封装了完整识别流程底层的 PP-OCRv5 系列模型存放在backend/models/V5/目录下——中文、英文、日文、韩文、阿拉伯文、西里尔文等都有专门优化的模型文件语言接口配置在backend/interface/的 ini 文件里。隐私敏感的视频素材用它处理最踏实。三种识别模式按你的耐心程度选快速轻量模型速度最快可能丢少量字幕、有少量错别字自动智能判断CPU 用轻量模型、GPU 用精准模型速度与准确率平衡推荐日常使用精准GPU 下逐帧检测几乎不丢字幕、几乎无错别字但速度非常慢。大多数场景用快速和自动就够只有当前两种模式丢字幕轴较多时才建议上精准模式。批量提取一集一集点不存在的追剧党最爱这个功能打开文件时一次选中多集视频只要它们的分辨率和字幕区域一致VSE 就会排队逐个处理你挂机等结果就行。处理时界面右下角的任务列表会实时显示每个视频的进度。字幕后处理去重、对齐、修正错字原始识别结果是每帧一条的碎片文本backend/tools/reformat.py负责合并去重、对齐时间轴最终输出干净的 srt/txt。如果识别出常见错字你还能在backend/configs/typoMap.json里自定义替换规则{ lm: Im, l just: I just, Iife: life, 威筋: 威胁, 性感荷官在线发牌: }把威筋换成威胁或把水印词整个删掉保存后重新运行即全局生效——识别结果的最后一道质检握在你自己手里。一句话讲透原理它就是个盯屏速记员想象你雇了一个速记员他盯着屏幕底部那条横带画面里每次跳出文字就立刻抄下来并记下抄写的时间点最后把所有纸条按时间顺序整理成带编号的剧本。VSE 干的就是这件事。你框选的字幕区域是那条横带它抽取的关键帧是速记员看屏幕的每个瞬间PP-OCRv5 深度学习模型是他受过训练的双眼backend/tools/subtitle_ocr.py里的生产者-消费者任务队列则是抄写小组的并行流水线——有人一帧帧送纸抽帧有人认字识别最后由reformat.py把草稿誊成规范剧本srt。![界面设计架构示意视频画布、输出信息画布与右侧控制面板的模块划分](https://raw.gitcode.com/gh_mirrors/vi/video-subtitle-extractor/raw/85746f7df5bf85978fd05f3ca6ce66e321a87a72/design/UI design.png?utm_sourcegitcode_repo_files)落到技术本质上完整流程就是抽关键帧 → 文本检测定位文字框 → OCR模型识别字符 → 过滤非字幕文本 → 合并去重 → 生成带时间轴的srt。而backend/tools/hardware_accelerator.py会在启动时自动检测硬件决定让 CPU 还是 GPU 来干这份抄写的苦力活。实战复盘把一部英文访谈视频变成精读材料用真实场景完整走一遍把一段英文访谈的硬字幕提成 srt方便导入播放器逐句精读。准备把视频放到纯英文目录比如test/同级确认路径不含中文和空格——这是本项目的硬性要求。启动 GUIpython gui.py。操作点击【打开】选中视频拖拽绿色选框让字幕完整落进框内上下留一点余量右侧面板把视频语言设为 English识别模式选快速可选勾选生成TXT文本字幕然后点击【运行】。结果任务列表进度走到100%日志区显示字幕内容识别完成视频同目录生成.srt文件。用播放器加载后字幕逐句显示时间轴基本对齐。遇到的小问题第一次识别时英文里的Im被认成了lm字母I被当成小写L。解决办法很简单——在backend/configs/typoMap.json里加一条lm: Im替换规则重新运行后全局修正不用手动改几十处。新手避坑问答常见的坑一次说完Q1点了运行半天没动静或者直接没结果大概率是 CUDA 与 cuDNN 版本和显卡驱动不匹配。先确认显卡型号与驱动支持的 CUDA 版本再装对应的 cuDNN没有 NVIDIA 显卡就直接装 CPU 版 PaddlePaddle别装 GPU 版。Q2报错和路径有关VSE 对路径很挑剔视频路径和程序路径都不能包含中文和空格。D:\下载\vse\运行程序.exe不行E:\study\sanshou youya.mp4也不行。全部放进纯英文、无空格的目录能省掉八成莫名报错。Q3解压安装包时报7z错误升级 7-Zip 到最新版本再解压。Q4识别速度太慢怎么办先检查是不是误选了精准模式——它在 GPU 下逐帧检测快不了。日常用快速追求平衡用自动。Q5我的 NVIDIA 50系显卡装了CUDA版还是报错50系需要 CUDA 12.8 以上而当前 Paddle 3.3.1 尚未支持建议改用 DirectML 通用版本。Q6批量提取时结果乱了、字幕框对不上批量要求所有视频分辨率一致、字幕区域一致。混入不同尺寸的视频识别框就会错位。Q7生成的字幕重复很多正常现象reformat.py会自动合并去重若输出选项被改动导致后处理不完整请检查相关开关是否开启。模式和硬件的选择建议看完这张表直接抄作业先看识别模式怎么选模式字幕检测引擎OCR模型适合谁快速VideoSubFinder迷你日常快速出稿、预览效果自动有GPUVideoSubFinder大有 NVIDIA 显卡的主流选择自动无GPUVideoSubFinder迷你CPU 用户首选精准VSE大要求不丢字幕、几乎零错字的重度场景再看硬件加速方案硬件方案适用设备一句话点评CUDANVIDIA 显卡主流 GPU 加速速度与准确率双高DirectMLAMD/Intel/NVIDIAWindows没有 N 卡或 50 系新卡的替代方案ONNXmacOS / Apple Silicon 等试验性支持特殊环境才需要碰CPU无独显环境慢但稳妥短视频够用判断建议有 NVIDIA 显卡直接 CUDA 自动模式没有独显CPU 快速/自动AMD/Intel 核显或 50 系新卡选 DirectML。记住一条原则——先用快速出稿看效果确认字幕轴完整再考虑升档别一上来就追求最慢最准。结尾从看得见摸不着到一条命令出字幕VSE 的价值一句话就能概括它把看得见却摸不着的硬字幕变成可编辑、可搜索、可翻译的 srt 文件全程本地完成免费、私密、支持87种语言。进阶玩法还有不少配合 video-subtitle-remover 去掉原字幕再压片、用命令行python ./backend/main.py做脚本化批处理、在 typoMap 里沉淀你自己的领域词库。现在就去拿一个测试视频按第二节的流程跑通第一次提取。三分钟后当你看到那个 srt 文件出现在磁盘上你会明白字幕自由离你只有一条命令的距离。【免费下载链接】video-subtitle-extractor视频硬字幕提取生成srt文件。无需申请第三方API本地实现文本识别。基于深度学习的视频字幕提取框架包含字幕区域检测、字幕内容提取。A GUI tool for extracting hard-coded subtitle (hardsub) from videos and generating srt files.项目地址: https://gitcode.com/gh_mirrors/vi/video-subtitle-extractor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价