基于ocr的硬字幕提取

该文章介绍了一款能从视频中提取硬字幕的软件,支持软字幕转换为srt格式,具备OCR技术,支持GPU加速和多语言。用户可通过图形化界面操作,也可使用命令行批量处理。需要注意的是,安装Python环境且避免路径含中文或空格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在某些场景下,我们需要提取视频文件中的字幕信息。

视频字幕分为两种,硬字幕和软字幕。硬字幕就是固定在画面上的,不能关闭的。 软字幕就是可以开关的。

软字幕是有单独的文件存储,所以想要做其他用处是比较方便的;硬字幕的提取就比较麻烦了,需要使用一些特别的方法。

本文给大家介绍一款软件,可以将视频的硬字幕提取出来。

ibouoN.png

该软件主要实现了以下功能:

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

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

软件开启方法如下

  1. 在本文最下方的链接中下载程序包;

  2. 打开解压好的文件夹,在地址栏输入 cmd 打开命令行窗口

    注意:确保电脑安装了Python解释器;

    ibQus3.gif

  3. 在命令行窗口输入以下命令,点击 Enter运行指令安装对应模块,安装成功后,之后使用软件只需要执行第4步即可

    pip install -r requirements.txt
    
  4. 在终端执行以下命令开启软件

    python gui.py
    

操作方法

点击【打开】后选择视频文件,调整字幕区域,点击【运行】等待即可。

运行时间较长,耐心等待即可,命令行窗口可以看到大概进度。

完成后可以在视频目录中看到生成的字幕文件。

ibag7Q.gif

软件特点

  • 采用本地进行 OCR 识别,无需设置调用任何 API
  • 支持 GPU 加速,有兴趣可以阅读文件夹中的说明文档探索一下,GPU 加速后可以获得更高的准确率与更快的提取速度
  • ( CLI 版本) 无需用户手动设置字幕区域,项目通过文本检测模型自动检测字幕区域
  • ( GUI 版本) 图形化界面

提取速度

  • ( CLI 版本) 无需用户手动设置字幕区域,项目通过文本检测模型自动检测字幕区域
  • ( GUI 版本) 图形化界面

下载链接

基于OCR+OpenCV实现视频字幕提取python源码+项目操作指南.zip 【资源说明】 用OCR、OpenCV等提取视频字幕 # 做了什么 从视频提取字幕要做以下事情: ## 1、视频切割 把视频切成若干张包含字幕的静态图片(这里是等距切,密度在config里splitDuration配置)。应在考虑调用成本的前提下尽量细切,保证字幕都切到(不用怕重复,这有去重) ## 2、图片OCR 百度OCR能返回所有识别结果的坐标。 ## 3、去重 去重有两个目的: 一是防止结果重复;二是能把固定位置的文字收敛(比如台标),避免字幕定位错误。 ## 4、字幕定位 每张图可能识别出若干组文字(每组都有位置信息),在获得所有切图OCR结果后,我们需要确定哪些是字幕的内容。 这里有两个假设: 1. 字幕的纵向位置基本不变 2. 字幕是整个视频中同一位置不同内容文字量最大的部分 有这两个假设: 1. 把top相近的识别结果分成一组 2. 去重后量最大的组就是字幕组 ## 5、字幕分段(Todo) # 使用指南 ## 环境 python:mac电脑自带,windows请自行百度安装 ## 下载代码 csdn下载该源码并解压 ## 申请百度OCR https://console.bce.baidu.com/ai/#/ai/ocr/overview/index 在百度云开放平台注册,创建文字识别应用得到APP_ID、API_KEY、SECRET_KEY,就可以用了。 我们用到的是:通用文字识别(含位置信息版)。每天前500次调用免费。 ## 配置 在代码目录新建一个 config.py 文件,贴入以下内容(配置项替换成自己的) def getConfig(videoname): return { 'APP_ID': '百度OCR APP_ID', 'API_KEY': '百度OCR APP_KEY', 'SECRET_KEY': '百度OCR SECRET_KEY', 'videoDir': './video/' + videoname + '.mp4', 'imgDir': './videoframes/' + videoname, 'outputDir': './output/' + videoname + '/', 'splitDuration': 1 } ## 执行 创建上面配置的 videoDir 中的文件夹,比如这里的 video,把视频文件放进去。 修改 index.py video 为某个视频文件名,执行 python index.py # 测试结果 ## 美妆教程 视频长度:4:51 切图密度:2s(145pic) OCR时长:99s 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值