python 视频硬字幕提取 内嵌字幕提取工具

项目简介

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

  • 提取视频中的关键帧
  • 检测视频帧中文本的所在位置
  • 识别视频帧中文本的内容
  • 过滤非字幕区域的文本,去除水印(台标)文本
  • 去除重复字幕行,生成srt字幕文件
  • 支持视频字幕批量提取
  • 多语言:支持中文/英文日语韩语繁体中文法语德语俄语西班牙语葡萄牙语意大利语字幕的提取
  • 多模式:
    • 快速 – 快速提取字幕但可能丢字幕(推荐)
    • 精准 – 不丢字幕但速度较慢

使用说明

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

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

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

E:studykaoyansanshang youya.mp4 (路径含空格)

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

下载地址

  • Windows 单文件版本(双击直接运行,每次打开时会有一点慢,推荐小白使用): vse.exe

  • Windows GPU版本: vse_windows_GPU.7z

  • Windows CPU版本: vse_windows_CPU.zip

  • MacOS CPU版本: vse_macOS_CPU.dmg

PS: 若无法下载,请前往 Release 下载

项目特色

  • 采用本地进行OCR识别,无需设置调用任何API,不需要接入百度、阿里等在线OCR服务即可本地完成文本识别
  • 支持GPU加速,GPU加速后可以获得更高的准确率与更快的提取速度
  • (CLI版本) 无需用户手动设置字幕区域,项目通过文本检测模型自动检测字幕区域
  • (GUI版本) 图形化界面

  • 点击查看视频教程 ??

PS: Google Colab只能运行CLI版本

源码使用说明

1. 下载安装Miniconda

  • Windows: Miniconda3-py38_4.11.0-Windows-x86_64.exe

  • MacOS:Miniconda3-py38_4.11.0-MacOSX-x86_64.pkg

  • Linux: Miniconda3-py38_4.11.0-Linux-x86_64.sh

2. 创建并激活虚机环境

2. 安装依赖文件

请确保你已经安装 python 3.8+,使用conda创建项目虚拟环境并激活环境 (建议创建虚拟环境运行,以免后续出现问题)

  • CPU用户 (Mac用户) :

    • 安装依赖:
  • GPU用户(有N卡): 要达到高精度的识别率请使用GPU版

    • 安装CUDA和cuDNN

      Linux用户

      (1) 下载CUDA 11.2
      (2) 安装CUDA 11.2

      1. 输入accept

      3. 添加环境变量

      在 ~/.bashrc 加入以下内容

      使其生效

      (3) 下载cuDNN 8.1.1

      国内:cudnn-11.2-linux-x64-v8.1.1.33.tgz

      国外:cudnn-11.2-linux-x64-v8.1.1.33.tgz

      (4) 安装cuDNN 8.1.1

      Windows用户

      (1) 下载CUDA 11.6

      cuda_11.6.2_511.65_windows.exe

      (2) 安装CUDA 11.6
      (3) 下载cuDNN 8.2.1

      国内:cudnn-11.3-windows-x64-v8.2.1.32.zip

      国外:cudnn-11.3-windows-x64-v8.2.1.32.zip

      (4) 安装cuDNN 8.2.1

      将cuDNN解压后的cuda文件夹中的bin, include, lib目录下的文件复制到C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.6对应目录下

    如果你使用的是3050/3060/3070/3080等安培架构的显卡,请使用最新的paddlepaddle版本以及最新的cuda 11.6

    • 安装paddlepaddle:

      • windows:

      • Linux:

        如果安装cuda 10.2,请对应安装7.6.5的cuDNN, 请不要使用cuDNN v8.x 和 cuda 10.2的组合

        如果安装cuda 11.2,请对应安装8.1.1的cuDNN, 30系列以上的显卡驱动可能不支持 cuda 11.2的安装

    • 安装其他依赖:

3. 运行程序

  • 运行图形化界面版本(GUI)
  • 运行命令行版本(CLI)

常见问题与解决方案

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

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

2. CondaHTTPError

将项目中的.condarc放在用户目录下(C:Users),如果用户目录已经存在该文件则覆盖

解决方案:https://zhuanlan.zhihu.com/p/260034241

3. Windows下出现geos_c.dll错误

解决方案:

  1. 卸载Shapely
  1. 使用conda重新安装Shapely

4. Nuitka打包代码闪退

使用Nuitka版本,将conda虚拟环境Lib文件夹下site-packages的所有文件复制到dependencies文件夹中,把paddle库dataset下image.py的有关subprocess代码全部注释了,使用以下打包命令:

编译成单个文件(pip安装zstandard可以减小体积)

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览215666 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月15日
下一篇 2022年3月15日

相关推荐