批量提取 srt 字幕文件中的文字

更新于:2022-06-04 11:19,编辑:sujing

概要:相信经常与视频处理打交道的小伙伴对字幕文件一定不陌生。字幕文件一般来说会包含字幕序号、播放时间轴与具体的字幕内容,经常用于在视频播放的时候在对应的时间显示相应的字幕内容。字幕文件通常会有多种类型,srt 后缀的字幕文件是比较常见的一种类型。有时候我们需要将字幕文件的内容进行提取,比如去除字幕序号、播放时间轴等信息,只保留具体的字幕内容,那我们应该怎么做呢?今天就一起来看一下如何批量提取 srt 字幕文件中的文字。

在介绍如何批量提取 srt 字幕文件中的文字之前,我们先看一下字幕文件的格式是什么样的。

从上图我们就能看出来,没组字幕文件都至少四行

1、字幕编号,是自增的数字。

2、播放时间轴,格式为【播放开始时间 --> 播放结束时间】。

3、一行或者多行字幕内容。

4、一个空行。

今天要介绍如何批量提取 srt 字幕文件中的文字,也就是要去除字幕文件中的序号、时间轴以及空行的内容,那应该怎么做呢?其实目前我们并没有特别好的方式去提取 srt 字幕文件中的文字内容,找了一圈也没有比较合适的软件。目前找到的一种比较好的方式就是通过正则表达式的方式进行处理。但是对于不太熟悉正则的小伙伴来说,门槛还是比较高的。并且通过正则去处理达不到批量处理的效果,只能一次处理一个文件,并且还容易出错。假如现在有大批量的 srt 文件都需要提取字幕文件的内容,那最高效的方式是什么呢?

我们打开「我的ABC软件工具箱」,按下图所示,左侧选择「文件内容」,右侧选择「按规则查找并替换文件内容」的功能。

进入功能后,我们第一步就是需要选择提取文件内容的字幕文件,也就是我们前面说的 srt 文件,由于是批量操作,所以我们一次性可以选择非常多的 srt 字幕文件。

这里也可以直接将 srt 文件拖进来。选择好后我们就可以点击下一步进入选项设置的界面。

设置界面按照上图的进行设置就可以了,注意每一项都需要按照上图的进行选择哟!公式(正则表达式)的输入框中输入的内容为:((\r\n)|(\r)|(\n))?\d+((\r\n)|(\r)|(\n))\d{2}:\d{2}:\d{2},\d{3} --> \d{2}:\d{2}:\d{2},\d{3}((\r\n)|(\r)|(\n))。

设置及输入完成之后我们继续点击下一步进行输出目录的选择,选择好之后继续点击下一步,软件就开始进行批量提取 srt 字幕文件中的文字的处理了,一会儿我们就能得到已经删除字幕编号、字幕时间轴等信息的文件了。