如何用本地OCR一键提取视频字幕Video-subtitle-extractor 上手指南【免费下载链接】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深夜补看一场错过直播的技术讲座讲师语速飞快字幕一闪而过。你想把那几句关键台词记进笔记却发现回放根本没有字幕文件可下载——唯一办法是暂停、截图、再手动敲字。半小时的视频光是打字就能耗掉一整晚。其实这件事可以完全自动化把画面里焊死在视频上的硬字幕识别出来直接整理成可编辑的 srt 字幕文件。本地OCR视频字幕提取工具Video-subtitle-extractor以下简称 VSE就是为此而生的开源方案——不依赖任何在线服务装上就能跑。 一句话认识它一个把视频字幕变成文本文件的本地工具箱VSE 做的事可以用一句话概括打开一个视频框选字幕出现的位置点一下运行它就帮你把字幕逐行识别出来生成 srt 字幕文件也可输出 txt。和常见的云端 OCR 方案相比本地运行这个特点带来了三个实打实的好处隐私安全视频全程不出你的电脑不会上传到任何服务器敏感素材也能放心处理零 API 费用不需要申请百度、阿里等第三方 OCR 服务的密钥也就不存在按次计费和额度耗尽的问题不限次数想提多少提多少批量处理大量视频也不会被限流下面是 VSE 实际运行时的界面视频播放区中正在出现的英文字幕被绿色框实时高亮右侧面板可以切换语言、识别模式与硬件加速开关下方的任务列表和日志区域会实时显示每一段视频的处理进度与耗时。 三步搞定第一次本地字幕提取从零到拿到第一份字幕文件只需要走完下面三步。第一步准备好 Python 3.12 以上的环境建议用虚拟环境安装避免依赖和系统其他项目互相干扰python -m venv videoEnv # WindowsvideoEnv\Scripts\activate # macOS / Linuxsource videoEnv/bin/activate第二步获取项目并安装依赖git clone https://gitcode.com/gh_mirrors/vi/video-subtitle-extractor cd video-subtitle-extractor pip install -r requirements.txt有 NVIDIA 显卡的朋友可以按项目文档的指引把 PaddlePaddle 换成 GPU 版本以启用 CUDA 加速AMD / Intel 显卡用户则对应使用 DirectML 版本。拿不准时先装 CPU 版本跑通流程之后再升级也不迟。第三步处理你的第一段视频图形界面运行python gui.py命令行模式运行python ./backend/main.py以 GUI 为例操作路径非常直观点击打开选择视频 → 调整字幕区域框选位置 → 在右侧选择字幕语言和识别模式 → 点击运行等待进度条走完即可。小提示仓库的test/目录里自带英语、日语、韩语等多段测试视频第一次上手可以直接拿它们练手省去找素材的功夫。另外记得视频文件和项目路径都不要包含中文和空格这是项目文档里明确提醒过的未知错误高发区。 原理不神秘找黑板、抄笔记、对答案VSE 的完整流程听起来复杂但拆开看只有三步用教室里的场景就能讲明白。第一步找黑板——字幕区域检测。视频帧里文字可能出现在任何角落所以系统会先在每一帧里定位文字集中出现的位置也就是字幕区域。你在 GUI 里手动框选的那个范围本质上就是告诉它黑板在这。这一步的核心逻辑在backend/tools/subtitle_detect.py而记录区域坐标的数据结构定义在backend/bean/subtitle_area.py。第二步抄笔记——OCR 文本识别。定位到黑板之后就要把上面的字一个个抄下来。这一步由backend/tools/ocr.py负责它调用的是项目自带的 PP-OCRv5 系列深度学习模型模型文件就放在backend/models/V5/目录下。抄写质量好不好很大程度上取决于你选的语言模型是否匹配视频内容。第三步对答案、删重复——字幕后处理。抄下来的文字往往带着重复行、错别字和时间轴错位不能直接用。backend/tools/reformat.py会负责去除重复字幕、按时间排序、修正常见错误最终输出规整的 srt 文件。顺便说一句项目里那张backend/configs/typoMap.json修正表就是给对答案环节准备的——你可以在里面手动指定哪些词要被替换或删除。下面的架构图展示了 VSE 界面的模块划分思路视频播放区、输出信息区、运行按钮与进度条各司其职右侧的弹出框则用于确认操作。理解了这个布局操作起来会更有方向感。视频字幕提取工具界面架构设计图播放区、信息区与运行控制区模块划分清晰 进阶玩法从能跑到用好跑通第一段视频之后下面这些能力能让你真正把它用顺手。多语言识别。VSE 支持包括中英日韩、繁简体中文、阿拉伯语、俄语、西班牙语等在内共 87 种语言的识别。新手操作建议先在右侧面板确认字幕语言选项再根据视频类型在backend/models/V5/下核对对应的语言模型是否存在。硬件加速。项目支持 CUDA、DirectML、CPU 与 ONNX 四种运行模式。新手建议NVIDIA 显卡优先选 CUDA 模式AMD / Intel 的核显或 APU 用户选 DirectML 模式都能获得明显比纯 CPU 更快的处理速度。三种识别模式。快速用轻量模型速度最快精准逐帧检测、几乎不漏字幕但非常慢自动会按当前硬件自动选模型属于均衡之选。新手建议先跑快速模式看看效果如果发现丢字幕较多再切换精准模式重跑。批量提取。一次选择多个视频可以排队处理特别适合处理分辨率、字幕区域一致的系列视频。注意批量任务要求所有视频的字幕位置保持一致否则识别区域会错位。自定义错字修正。编辑backend/configs/typoMap.json就能把经常识别错的词统一替换掉也能把水印、台标这类不想要的文字直接清空。这是提升字幕质量成本最低的手段强烈建议用起来。⚠️ 避坑手册新手最容易踩的三个坑坑一路径带中文或空格程序报奇怪错误。原因底层组件对中文和空格路径支持不佳。 解法把视频和项目都放在纯英文、无空格的目录下再重新运行。坑二GPU 版本装好后运行时报 cuda / cudnn 相关错误。原因显卡驱动版本与所选的 CUDA 版本不匹配。 解法先确认自己的显卡型号和驱动版本再对照项目文档选择对应的 CUDA 或 DirectML 方案实在搞不定先退回 CPU 版本保证能用。坑三模型加载失败或下载卡住。原因网络不稳定或模型文件不完整。 解法确认backend/models/V5/下各模型的配置文件与参数文件齐全必要时重新下载后解压覆盖。写在最后字幕本来就不该只是看得见却摸不着的画面元素。借助 VSE 这样的本地OCR工具一段视频里的每一句话都能变成可搜索、可编辑、可翻译的文本资产——无论你是想给课程做双语笔记还是给自媒体视频配外挂字幕它都能帮你把重复劳动省下来。这个项目仍在持续迭代如果你在使用的过程中发现了问题或想到了更好的点子不妨在项目的 Issue 区留下你的反馈说不定下一个版本的功能就来自你的建议。现在去test/里挑一段视频亲手体验一下字幕自己蹦出来的感觉吧。【免费下载链接】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),仅供参考