如何将 VTT 转换为 SRT

如何将 VTT 转换为 SRT

字幕和字幕对于让更多观众了解和欣赏视频内容至关重要,但不同的格式会带来兼容性问题。最常见的两种字幕格式是 VTT(网络视频文本轨)和 SRT(SubRip 字幕)。VTT 通常用于在线视频平台,而 SRT 则广泛兼容各种媒体播放器和编辑软件。 

对于希望获得更多受众的内容创作者来说,将 VTT 转换为 SRT 格式至关重要。本指南将解释将 VTT 文件转换为 SRT 格式的几个简单、循序渐进的过程。无论您是视频编辑或内容创作者,还是只是想让您的视频更易于观看,本文都将提供必要的工具和技巧,确保转换过程顺利进行。

主要收获

  • VTT 和 SRT 是两种常见的字幕格式,但 SRT 与媒体播放器和编辑软件的兼容性更广。 
  • VTT 提供更先进的功能,如造型和定位,但 SRT 优先考虑的是简单性和广泛的兼容性。
  • 将 VTT 转为 SRT 非常简单。您可以在文本编辑器中手动完成,也可以使用在线工具或 FFmpeg 等转换软件。

什么是 VTT 文件?

WebVTT 字幕文件(.vtt)是一种广泛支持的字幕存储格式。这是一种人类可读的文件格式,其中按顺序存储字幕以及定时信息和元数据。如今,互联网上传播的大多数字幕都是这种格式。

什么是 SRT 文件?

SRT 文件或 SubRip 字幕文件(.srt)是视频内容中最常用的字幕文件格式之一,在这种格式中,元数据的存储并不重要。这些纯文本文件包括按顺序排列的字幕文本以及开始和结束时间代码。

何时需要将 VTT 转换为 SRT

虽然 VTT 和 SRT 是字幕中最广为接受的两种标准,但在某些情况下您可能需要将 VTT 转换为 SRT。下面将提到其中的几种情况。

  • 不兼容性: 也许您已经下载了 VTT 格式的字幕,但您的媒体播放器只兼容 SRT。包括 VLC、Windows Media Player 等播放器在内的媒体播放器都支持 SRT。
  • 视频编辑软件:对于视频编辑者来说,SRT 文件通常更容易处理。Adobe Premiere Pro 或 Final Cut Pro 等主要编辑软件可能会更好地支持 SRT,使编辑过程更加流畅。
  • 轻松编辑: 如果您想编辑 VTT 格式的字幕,您可能需要 VTT 至 SRT 转换器。SRT 的纯文本格式对任何文本编辑器都很友好,能让您更自由地完成工作。
  • 无障碍环境: VTT 允许使用花哨的定位和样式,非常适合不同的需求,但在与需要基本字幕的人共享时可能就没有意义了。在这种情况下,将 .vtt 转换为 .srt 可以支持更广泛的兼容性。

比较 VTT 和 SRT 文件

VTT(转换前)SRT(改装后)
文件格式WebVTT 格式,专为 HTML5 视频设计纯文本格式
兼容性主要用于在线视频,尤其是基于 HTML5 的网络播放器大多数视频播放器和编辑软件都广泛支持
语法和结构更复杂的语法,支持丰富的元数据和样式选项语法更简单,主要侧重于字幕文本和基本计时
造型和定位使用类似 CSS 的标记支持高级样式和定位基本或无样式;定位通常由视频播放器决定
提示设置允许详细的提示设置,如垂直文本、线条和位置基本提示设置仅限于开始和结束时间
评论和元数据可包含注释和元数据,以提供更多信息通常情况下,它不支持元数据或详细注释
转换过程可能需要软件或在线工具才能准确转换转换可简化文件,将高级功能剥离为基本的字幕文本和时间安排
文件大小由于额外的元数据和样式信息,可能会更大一般较小,更精简
使用案例非常适合需要交互式或风格化字幕的网络视频应用程序适用于标准视频播放器的一般用途和基本字幕需求

如何将 VTT 转换为 SRT

转换非常简单,只需按照以下步骤说明如何将 VTT 文件转换为 SRT。这个过程需要手动操作,所以如果文件较长,可以跳过这个方法。

  1. 打开 VTT 文件: 使用文本编辑器(如记事本或 TextEdit)打开 VTT 文件。
  2. 移除 WebVTT 标头: 删除通常包含 "WEBVTT "或类似标题文本的第一行。
  3. 调整时间戳: 将时间戳格式从小时:分钟:秒.毫秒改为小时:分钟:秒,毫秒(用逗号替换句号)。
  4. 删除额外元数据: 删除 SRT 中不支持的 VTT 特有的任何附加元数据或提示(如位置或对齐提示)。
  5. 保存为 SRT: 以 .srt 扩展名保存文件。确保文本编码为 UTF-8,以保证兼容性。
  6. 测试 SRT 文件: 将 SRT 文件加载到视频播放器中,确保字幕显示正确并与视频同步。

想要将其他文件转换为字幕或标题?请查看我们下面的一些指南:

将 VTT 转换为 SRT 的其他方法

需要更快的方法?这里有几种将 VTT 转换为 SRT 的其他方法。

使用 Python 将 VTT 转换为 SRT 

如果您擅长编码,Python 提供了将 VTT 转换为 SRT 的灵活方法。 

  1. 安装 webvtt-py 库: 打开终端或命令提示符,键入:'......'。pip install webvtt-py'.确保已在设备上正确安装和设置了 Python。您将看到如下所示的 "成功安装 "信息。
  1. 创建 Python 脚本

导入 webvtt

# 将 VTT 时间戳转换为 SRT 时间戳格式的功能

def convert_timestamp(timestamp):

    return timestamp.replace('.', ',')

# 加载 VTT 文件

vtt = webvtt.read('sample VTT file.vtt')

# Open a new file to write the SRT content

with open('converted file.srt', 'w') as f:

    for i, caption in enumerate(vtt):

        # 写出字幕编号

        f.write(str(i + 1) + '\n')

        # 转换并写入 SRT 格式的开始和结束时间

        start = convert_timestamp(caption.start)

        end = convert_timestamp(caption.end)

        f.write(start + ' -> ' + end + '\n')

        # 只写标题文字

        # 任何元数据或样式信息都将被忽略

        f.write(caption.text + '\n\n')

请记住,"your_file.vtt "需要替换为您要转换的目标文件的名称,而 "your_file.srt "将是最终生成的 SRT 文件的名称。如果需要不同的名称,只需替换 .srt 前面的 "your_file "部分即可!

  1. 运行脚本: 确保 VTT 文件和您刚刚创建的 Python 文件位于同一文件夹中,然后执行 Python 脚本。您的 SRT 文件将在同一目的地弹出。

用 Mac 将 VTT 转换为 SRT

Mac 用户有一个便捷的内置字幕转换工具,如下所示:

  1. FFmpeg 安装: 确保在 Mac 上安装了 FFmpeg,因为默认情况下不包括它。您可以使用以下方法安装 FFmpeg 自制啤酒 (软件包管理器),通过运行'......brew install FFmpeg' 在终端中。
  2. 打开 Automator: 您可以在应用程序文件夹中找到 Automater。
  3. 创建新的快速操作: 选择 "快速行动" 作为新文档的类型。在 Automator 窗口的右上角,将 "工作流程接收当前 "下拉菜单设置为 "文件或文件夹" 在"搜索器.”
  4. 添加操作:
  • 拖动 "获取指定的查找项" 如果你想在每次手动运行该操作时添加文件,可将该操作添加到工作流程中。或者,如果你更喜欢通过右键单击 Finder 中的文件来使用工作流程,也可以跳过此操作。
  • 拖动 "运行外壳脚本" 操作,将其置于 "获取指定的查找项 "操作(如果使用)的下方。
  • "运行外壳脚本" 动作,设置 "通过输入""作为论据"。 
  1. 粘贴以下脚本:

#!/bin/bash

for f in "$@"

    /usr/local/bin/ffmpeg -i "$f" "${f%.*}.srt"

已完成

最后,您的 Automator 将看起来像这样。

  1. 保存您的快速行动: 给快速操作保存一个合适的名称,如 "转换为 SRT"。

用 FFmpeg 将 VTT 转换为 SRT

FFmpeg 是一个多功能的多媒体工具包,也可以处理字幕转换,具体如下:

  1. 下载 FFmpeg: 以下是正确下载 FFmpeg 的步骤。
  • 访问 FFmpeg 官方网站: FFmpeg.org
  • 点击"下载"链接,并从提供的链接中选择 Windows 版本。版本号 gyan.devBtbN 建设 是很受欢迎的选择。
  • 提取文件。
  • 下载后,将 ZIP 文件解压缩到计算机上的某个位置,如 C:\FFmpeg。
  • 将 FFmpeg 添加到 Windows 路径:
  • 右键单击 "这台个人电脑""我的电脑" 并选择 "属性"
  • 点击 "高级系统设置" 然后 "环境变量"。
  • 根据 "系统变量" 找到并选择 "路径" 变量,然后点击 "编辑"
  • 点击 "新" 并在提取的 FFmpeg 文件夹中添加 bin 文件夹的路径,例如 C:\FFmpeg\bin.
  • 点击 "确定" 关闭所有对话框。
  • 打开命令提示符并键入 ffmpeg -version 来检查是否已正确安装。如果安装正确,响应将如下所示。
  1. 打开终端或命令提示符: 使用 CD 命令(更改目录)导航到 VTT 文件的目录。写入 "cd "并输入 VTT 文件的完整路径。
  2. 运行命令:

ffmpeg -i your_file.vtt your_file.srt

确保将 your_file.vtt 替换为 VTT 文件的实际名称。 

将 VTT 转换为 SRT:常见问题

以下是那些对如何将 VTT 转换为 SRT 感兴趣的人最常问到的一些问题:

您能将 VTT 转换为 SRT 吗?

是的,您可以将 VTT 转换为 SRT。这是一个普通而简单的过程。许多在线工具和软件程序都能快速、轻松地处理这种转换。

VTT 和 SRT 有什么区别?

VTT 和 SRT 都能格式化字幕,但 VTT 提供更先进的功能,如文本格式化和定位,而 SRT 则优先考虑简洁性和广泛的兼容性。SRT 被认为更易于编辑和访问,而 VTT 在软件兼容性方面受到限制。 

SRT Txt 是什么意思?

SRT 是 "SubRip 字幕文本 "的缩写。它是字幕专用的纯文本文件格式,每一行代表一个字幕片段及其定时信息。 

如何查看 SRT 文件?

大多数视频播放器都支持在视频界面中直接打开 SRT 文件。许多文本编辑器也能显示 SRT 文件,不过格式可能会受到限制。

结束语

将 VTT 转换为 SRT 可提高视频的可访问性,满足不同受众的需求。本指南提供了各种方法,从简单的文本编辑到 FFmpeg 和 Python 脚本等自动化软件。 

掌握这些技术可以确保媒体播放器和编辑平台之间的广泛兼容性,使您的内容更具包容性和吸引力,并显著改善观众的体验。如果您想吸引更多观众,将字幕文件从 VTT 转换为 SRT 就是一个很好的开始。

准确、自动转录

Sonix使用最新的人工智能,在几分钟内产生自动转录。
抄写35种以上语言的音频和视频文件。

今天就免费试用Sonix

包括30分钟的免费转录

zh_CNChinese