video-subtitle-extractor

YaoFANGUKApache-2.0更新放缓 有专家点评

本地离线从视频画面中提取硬字幕并生成 srt 文件,基于深度学习做字幕区域检测和文字识别,不用调第三方 API。

视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提取。A GUI tool for extracting hard-coded subtitle (hardsub) from videos and generating srt files.

2.2.0发布于 2026-04-04 23:51 UTC9,715star +11 / 7 天986fork同步于 2026-11-11 05:28 UTC

专家点评

上手难度:硬核更新于 2026-11-11

本地跑硬字幕 OCR 出 srt,替掉云端字幕 API 和手工打轴

适用场景

  • 给无字幕的影视/课程素材做字幕底稿:先跑一遍生成 srt,再人工校对时间轴和错字,比从零手打省掉大部分工作量
  • 批量处理整季剧集或一整个素材库:GUI 支持多视频排队,跑通一次环境后可以整夜挂着出结果,不用逐个上传到第三方服务
  • 有保密要求、不能把视频外传的场景:识别全在本地完成,不依赖任何第三方 OCR API,素材不出机器
  • 只有 CPU 或 AMD/Intel 核显的机器:README 明确给了 DirectML 和纯 CPU 路径,不必为了跑一次字幕去配 NVIDIA 环境

踩坑

  • 路径含中文或空格直接出错:README 明说了这条限制,Windows 下把视频和程序都放在纯英文短路径里,否则会在读文件阶段就失败
  • 环境是主要门槛:issue 里环境搭建失败、CUDA/cuDNN 报错、paddle 模块属性缺失(Colab 场景)反复出现,源码运行要按显卡类型单独装 PaddlePaddle 和 CUDA/cuDNN,版本对不上就跑不起来
  • 50 系 NVIDIA 卡目前撞版本墙:README 说需要 CUDA 12.8.0 以上而 Paddle 3.3.1 尚不支持,这类机器只能走 DirectML 版本;另外 issue 里有反馈 GPU 占用接近 0、CPU 跑满的情况,说明加速是否真正生效需要自己确认

同类对比

同类可看 Subtitle Edit 的 OCR 流程和 videocr(基于 PaddleOCR 的脚本方案);如果只是零散几个视频、不想配环境,用带 OCR 的剪辑软件手动做反而更快。

怎么上手

由 README 提炼,执行前请确认
python -m venv videoEnv
pip install paddlepaddle==3.3.1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
pip install -r requirements.txt
python gui.py
硬件要求按 README 说明

支持 CUDA(NVIDIA 显卡,推荐 CUDA 11.8 + cuDNN 8.6.0)、DirectML(AMD/Intel GPU/APU)、ONNX 及纯 CPU 运行;README 未说明具体显存要求。

支持 Apple Silicon需要 CUDA支持 ROCm / AMD
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

本地提取视频硬字幕并生成 srt 的 GUI 工具,无需第三方 OCR API

本地离线从视频画面中提取硬字幕并生成 srt 文件,基于深度学习做字幕区域检测和文字识别,不用调第三方 API。

核心能力

  • 检测视频帧字幕区域并过滤非字幕文本
  • 本地深度学习 OCR 识别字幕内容并生成 srt
  • 支持快速、自动、精准三种提取模式
  • 支持批量提取多个视频的字幕
  • 支持中英日韩等 87 种语言字幕识别

容易踩的坑

视频和程序路径不能含中文或空格,否则可能出错;NVIDIA 50 系显卡需 CUDA 12.8.0 以上,但 Paddle 3.3.1 尚不支持,建议改用 DirectML 版本;源码运行需按显卡类型单独安装对应 PaddlePaddle 与 CUDA/cuDNN 环境。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本2.2.0
  1. 2.2.0硬字幕提取器 2.2.0最新正式版2026-04-04 · 2026-04-04 23:51 UTC

    🚀 VSE v2.2.0 正式版发布✨ 🎉 新特性 · ⚡ 支持同步时间轴 · 🗂️ 支持设置字幕保存路径 · 🌐 添加土耳其语翻译 · 🧹界面优化 · 🐍 Python 3.13 + 升级PaddleOCRv5 准确率更高 · 💎 支持MacOS M系列芯片

  2. 2.0.3硬字幕提取器 2.0.32025-04-24 · 2025-04-24 23:47 UTC

    这个版本没有写更新说明。

  3. 2.0.0硬字幕提取器 v2.0.02023-10-07 · 2023-10-07 01:14 UTC
    查看更新说明

    v2.0.0 新功能:

    • 发布Windows版本的CPU、GPU版本可执行程序
    • 更新V4版识别与检测模型,更高的识别精度
    • 新增自动模式
    • 优化精准模式
    • 新增界面多语言支持:简体中文、繁体中文、英文、韩文、日文、越南语、西班牙语
    • 新增识别字幕语言:支持87种语言识别
  4. 1.0.0硬字幕提取器 v1.0.02021-12-21 · 2021-12-21 12:46 UTC
    查看更新说明

    2022年6月28日更新

    v1.0.0 新功能:

    • 发布Windows版本的CPU、GPU可执行程序
    • 新增进度条
    • 新增视频批量处理:点击打开可以选择多个视频,顺序处理
    • 优化精准识别模式,更快的识别速度
    • 新增界面多语言支持:简体中文、繁体中文、英文
    • 新增识别字幕语言:阿拉伯语、俄语、西班牙语、葡萄牙语、意大利语

    GPU版本使用:请下载vse_windows_GPU.7z后进行解压(第一次运行时可以会自动安装依赖,需要耐心等待)

  5. 0.1.0硬字幕提取器 v0.1.02021-04-14 · 2021-04-14 08:56 UTC
    查看更新说明

    新功能: v0.1.0

    • GUI界面
    • 发布Windows、MacOS平台下CPU版本的可执行程序,暂不支持GPU加速

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    简体中文 | English

    项目简介

    License python version support os

    Video-subtitle-extractor (VSE) 是一款将视频中的硬字幕提取为外挂字幕文件(srt格式)的软件 主要实现了以下功能:

    • 提取视频中的关键帧
    • 检测视频帧中文本的所在位置
    • 识别视频帧中文本的内容
    • 过滤非字幕区域的文本
    • 去除水印、台标文本、原视频硬字幕,可配合:video-subtitle-remover (VSR)
    • 去除重复字幕行,生成srt字幕文件/txt文本文件
    • 支持视频字幕批量提取
    • 多语言:支持简体中文(中英双语)、繁体中文、英文、日语、韩语、越南语、阿拉伯语、法语、德语、俄语、西班牙语、葡萄牙语、意大利语等87种语言的字幕提取
    • 多模式:
      • 快速:(推荐)使用轻量模型,快速提取字幕,可能丢少量字幕、存在少量错别字
      • 自动:(推荐)自动判断模型,CPU下使用轻量模型;GPU下使用精准模型,提取字幕速度较慢,可能丢少量字幕、几乎不存在错别字
      • 精准:(不推荐)使用精准模型,GPU下逐帧检测,不丢字幕,几乎不存在错别字,但速度非常慢

    请优先使用快速/自动模式,如果前两种模式存在较多丢字幕轴情况时,再使用精准模式

    项目特色:

    • 采用本地进行OCR识别,无需设置调用任何API,不需要接入百度、阿里等在线OCR服务即可本地完成文本识别
    • 支持GPU加速,GPU加速后可以获得更高的准确率与更快的提取速度

    使用说明:

    • 有使用问题请加群讨论,QQ群:210150985(已满)、806152575(已满)、816881808(已满)、295894827

    • 点击【打开】后选择视频文件,调整字幕区域,点击【运行】

      • 单文件提取:打开文件的时候选择单个视频
      • 批量提取:打开文件的时候选择多个视频,确保每个视频的分辨率、字幕区域保持一致
    • 去除水印文本/替换特定文本:

    如果视频中出现特定的文本需要删除,或者特定的文本需要替换,可以编辑 backend/configs/typoMap.json文件,加入你要替换或去除的内容

    {
    	"l'm": "I'm",
    	"l just": "I just",
    	"Let'sqo": "Let's go",
    	"Iife": "life",
    	"威筋": "威胁",
      	"性感荷官在线发牌": ""
    }
    

    这样就可以把文本中出现的所有“威筋”替换为“威胁”,所有的“性感荷官在线发牌”文本删除

    • 视频以及程序路径请不要带中文和空格,否则可能出现未知错误!!!

    如:以下存放视频和代码的路径都不行

    D:\下载\vse\运行程序.exe(路径含中文)

    E:\study\kaoyan\sanshang youya.mp4 (路径含空格)

    • 直接下载压缩包解压运行,如果不能运行再按照下面的教程,尝试源码安装conda环境运行

    下载地址: Release

    有任何改进意见请在ISSUES和DISCUSSION中提出

    NVIDIA官方提供了各GPU型号的计算能力列表,您可以参考链接: CUDA GPUs 查看你的GPU适合哪个CUDA版本

    NVIDIA 50系显卡需要使用cuda12.8.0及以上版本, 但Paddle3.3.1目前仍未支持,所以建议使用Directml通用版本

    识别模式选择说明:

    模式名称GPUOCR模型尺寸字幕检测引擎备注
    快速有/无迷你VideoSubFinder
    自动有大VideoSubFinder推荐
    自动无迷你VideoSubFinder推荐
    精准有/无大VSE非常慢

    Windows/Linux/MacOS环境下字幕检测引擎都是VideoSubFinder

    演示

    源码使用说明

    1. 安装 Python

    请确保您已经安装了 Python 3.12+

    • Windows 用户可以前往 Python 官网 下载并安装 Python
    • MacOS 用户可以使用 Homebrew 安装:
      brew install [email protected]
      
    • Linux 用户可以使用包管理器安装,例如 Ubuntu/Debian:
      sudo apt update && sudo apt install python3.12 python3.12-venv python3.12-dev
      
    2. 安装依赖文件

    请使用虚拟环境来管理项目依赖,避免与系统环境冲突

    (1)创建虚拟环境并激活

    python -m venv videoEnv
    
    • Windows:
    videoEnv\\Scripts\\activate
    
    • MacOS/Linux:
    source videoEnv/bin/activate
    
    3. 创建并激活项目目录

    切换到源码所在目录:

    cd <源码所在目录>
    

    例如:如果您的源代码放在 D 盘的 tools 文件夹下,并且源代码的文件夹名为 video-subtitle-extractor,则输入:

    cd D:/tools/video-subtitle-extractor-main
    
    4. 安装合适的运行环境

    本项目支持 CUDA(NVIDIA显卡加速)、CPU(无 GPU)、DirectML(AMD、Intel等GPU/APU加速)、ONNX四种运行模式

    (1) CUDA(NVIDIA 显卡用户)

    请确保您的 NVIDIA 显卡驱动支持所选 CUDA 版本

    • 推荐 CUDA 11.8,对应 cuDNN 8.6.0

    • 安装 CUDA:

      • Windows:CUDA 11.8 下载
      • Linux:
        wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
        sudo sh cuda_11.8.0_520.61.05_linux.run
        
      • MacOS 不支持 CUDA
    • 安装 cuDNN(CUDA 11.8 对应 cuDNN 8.6.0):

    • 安装 PaddlePaddle GPU 版本(CUDA 11.8):

      pip install paddlepaddle-gpu==3.3.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
      pip install -r requirements.txt
      
    (2) DirectML(AMD、Intel等GPU/APU加速卡用户)
    • 适用于 Windows 设备的 AMD/NVIDIA/Intel GPU
    • 安装 ONNX Runtime DirectML 版本:
      pip install paddlepaddle==3.3.1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
      pip install -r requirements.txt
      pip install -r requirements_directml.txt
      
    (3) ONNX (适合macOS、AMD ROCm等环境加速用户, 基础环境与DirectML方式一致,未测试!)
    • 使用这个方式部署请勿反馈Issues
    • 适用于 Linux 或 macOS 设备的 AMD/Metal GPU/Apple Silicon GPU
    • 安装 ONNX Runtime DirectML 版本:
      pip install paddlepaddle==3.3.1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
      pip install -r requirements.txt
      
      # 阅读文档 https://onnxruntime.ai/docs/execution-providers/
      # 根据你的设备选择合适的执行后端, 参考requirements_directml.txt文件修改成合适你环境的依赖
      
      # 例如:
      # requirements_coreml.txt
      #   paddle2onnx==1.3.1
      #   onnxruntime-coreml==1.13.1
      
      pip install -r requirements_coreml.txt
      
    (4) CPU 运行(无 GPU 加速)
    • 适用于没有 GPU 或不希望使用 GPU 的情况
    • 直接安装 CPU 版本 PaddlePaddle:
      pip install paddlepaddle==3.3.1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
      pip install -r requirements.txt
      
    5. 运行程序
    • 运行图形化界面版本(GUI)
    python gui.py
    
    • 运行命令行版本(CLI)
    python ./backend/main.py
    

    常见问题与解决方案

    1. 运行不正常/没有结果/cuda及cudnn问题

    解决方案:根据自己的显卡型号、显卡驱动版本,安装对应的cuda与cudnn

    2. 7z文件解压错误

    解决方案:升级7-zip解压程序到最新版本

    赞助