如何将 ASS 转换为 SRT

如何将 ASS 转换为 SRT - 精选图片

SRT 是字幕制作的行业标准,与所有视频编辑工具广泛兼容。这种兼容性也是 ASS.SRT 等格式的原因、 SUP,以及 VTT 通常转换为 SRT。

与此同时,ASS 是一种非常小众的字幕格式,侧重于样式和格式,主要用于动画片。

因此,如果您有 ASS 格式的字幕文件,您可能需要将其转换为 SRT 格式,以便兼容。转换后,格式的样式会消失,但编辑、上传和在视频中刻录字幕会变得简单方便。

以下是一份简单易学的指南,可解决如何将 ASS 字幕文件转换为 SRT 格式的任何问题。

什么是 ASS 至 SRT 转换?

ASS 至 SRT 转换包括将 Advanced SubStation Alpha (.ass) 字幕文件转换为更广泛支持的 SubRip (.srt) 格式。这一过程可确保您的字幕可用于各种设备和媒体播放器,从而提高受众的可访问性。

下面是《怪物史莱克 1》前几行的 ASS 字幕格式示例。

ASS 字幕文件样本

为什么要将 ASS 转换为 SRT?

虽然 ASS 文件提供了先进的样式和定位选项,但它们也有局限性,因此转换为 SRT 是一个明智的选择:

  • 兼容性: SRT 文件广泛支持各种媒体播放器、设备和平台。将 ASS 转为 SRT 可确保您的字幕能在更广泛的系统上播放。时至今日,Windows 和 MacOS 上最常用的媒体播放器 VLC Media Player 在不切换到 OpenGL 的情况下仍无法原生支持 ASS 字幕。
  • 简约:SRT 文件采用简单明了的纯文本格式,易于阅读和编辑。这种简洁性使您更容易管理和修改字幕,而无需处理复杂的格式标签。
  • 简化工作流程:将 ASS 转换为 SRT 可帮助简化字幕工作流程,尤其是在使用多个平台或与他人合作的情况下。SRT 文件更容易被普遍认可,也更容易共享。
  • 缩小文件尺寸:SRT 文件通常比 ASS 文件小,因为它们不包含大量的样式信息。这对于在线分发字幕或将字幕嵌入视频中是非常有利的。

虽然 ASS 文件在某些情况下也有其用武之地,但转换为 SRT 通常是确保字幕工作流程具有最大兼容性、简单性和高效性的最佳选择。

如何将 ASS 转换为 SRT

将 ASS 转为 SRT 是一个简单直接的过程,只需几个步骤即可完成。按照以下步骤,您就可以轻松地将 ASS 字幕文件转换成兼容更广的 SRT 格式。

如何将 ASS 转换为 SRT - 支持图像

选择合适的方法将 ASS 转换为 SRT

将 ASS 转换为 SRT 的方法主要有三种。

使用在线转换器

有大量在线转换器可以将 ASS 转为 SRT。不过,这些转换器的安全性充其量只能算差强人意,而且这些网站上还充斥着广告。由于这些网站经常受到攻击,我们将不列出此过程的步骤。

我们强烈建议避免使用这些免费网站,尤其是在为未发布的内容配字幕时。 

使用字幕编辑器

Subtitle Edit 是一款专为字幕设计的免费开源编辑环境。

使用 "字幕编辑器",您可以重新同步字幕、创建新字幕,在我们的使用案例中,还可以更改字幕格式。

使用 Python

将 ASS 转为 SRT 的最安全方法是通过自定义 Python 脚本。虽然这项功能需要一定的技术实力和对 Python 的熟悉程度,但它却是将字幕文件转换为另一种格式的最安全、最快的方法。

使用字幕编辑器进行转换

  • 从官方下载 Subtitle Edit 网站 或从其 GitHub page.
  • 启动字幕编辑。
  • 转到 "文件">"打开",选择 ASS 文件。打开后,环境将如下所示。
字幕编辑器主屏幕截图
  • 加载文件后,转到文件 > 另存为。
  • 在 "保存类型 "下拉菜单中,选择 SubRip (*.srt)。
  • 单击保存。

使用 Python 进行转换

步骤 1:安装 Python

  • 访问 Python 官方网站:https://www.python.org/
  • 单击 "下载 "部分,为您的操作系统(Windows、macOS 或 Linux)下载最新版本的 Python。
  • 运行下载的安装程序。
  • 在安装过程中,确保勾选 "将 Python 添加到 PATH "复选框。
  • 按照安装说明完成设置。

步骤 2:准备 Python 脚本

  • 打开文本编辑器(如记事本、VS Code 或其他代码编辑器)。
  • 将提供的 Python 脚本复制到编辑器中。
再输入

def ass_to_srt(ass_filename, srt_filename):

    def ass_time_to_srt_time(ass_time):

        h, m, s = ass_time.split(':')

        s, cs = s.split('.')

        ms = str(int(cs) * 10).zfill(3) # 将厘秒转换为毫秒

        return f"{h.zfill(2)}:{m.zfill(2)}:{s.zfill(2)},{ms}"

    with open(ass_filename, 'r', encoding='utf-8') as ass_file:

        lines = ass_file.readlines()

    dialogue_lines = [line for line in lines if line.startswith('Dialogue:')] (对话行中的行)

    srt_lines = []

    index = 1

    for line in dialogue_lines:

        parts = line.split(',', 9)

        start_time = ass_time_to_srt_time(parts[1].strip())

        end_time = ass_time_to_srt_time(parts[2].strip())

        text = parts[9].strip().replace('\\N', '\n').replace('\\n', '\n')

        text = re.sub(r'{.*?}', '', text) # 删除 ASS 样式标签

        srt_lines.append(f"{index}")

        srt_lines.append(f"{start_time} --> {end_time}")

        srt_lines.append(text)

        srt_lines.append("")

        index += 1

    with open(srt_filename, 'w', encoding='utf-8') as srt_file:

        srt_file.write("\n".join(srt_lines))

# 使用示例

ass_too_srt('example.ass', 'example.srt')
  • 以 .py 扩展名保存文件,例如 convert_ass_to_srt.py。
Python 代码截图

步骤 3:运行 Python 脚本

在运行脚本之前,将 ASS 文件放到与 Python 脚本相同的位置,并在代码的最后一行将 "example.ass "改为 ASS 文件的实际名称。否则,代码会出错,如下所示。

运行文件的 Python 控制台

如果要修改生成的 .SRT 文件的名称,可以修改同一行中的 "example.srt "文本。否则,保持原样将生成名称为 "example.srt "的最终文件。

  • 打开命令提示符或终端:
  • Windows:按 Win + R 键,输入 cmd,然后按 Enter。
  • macOS/Linux:打开终端应用程序

使用 cd 命令导航到保存 Python 脚本的目录。例如

cd path/to/your/script
  • 将 path/to/your/script 替换为该目录的实际路径。

步骤 4:运行脚本

  • 确保您的 .ass 文件位于同一目录下,或提供其完整路径。
  • 使用 Python 解释器运行脚本:
python convert_ass_to_srt.py
  • 脚本将把 example.ass 转换为 example.srt,并保存在同一目录下。

步骤 4:验证输出

  • 检查输出文件:
  • 找到目录中的 example.srt 文件。
  • 用文本编辑器打开,验证转换是否正确。
SRT 和 ASS 文件的并排比较

ASS 与 SRT:选择哪种格式?

在 ASS 和 SRT 格式之间做出选择取决于您的具体需求和使用字幕的环境。

  • ASS 提供更多功能: 如果您需要高级样式和定位,ASS 是您的不二之选。它非常适合字幕的视觉元素能增加观众体验的项目。
  • SRT 实现更广泛的兼容性: 如果您优先考虑的是各种平台的兼容性和简便性,SRT 是首选。它支持广泛,易于编辑。

了解每种格式的优势和局限性后,您就可以根据项目要求做出明智的决定。

结束语

将 ASS 转为 SRT 是任何希望提高视频内容的可访问性和专业性的人都必须要做的工作。字幕对于吸引更多受众(包括聋人或听力障碍者),以及让您的内容更吸引人、更易懂至关重要。 

对于寻求可靠字幕工具的用户来说,Sonix 是最佳选择。Sonix 能够以 99% 的精度转录 39 种以上的语言,确保字幕既精确又多变,从而提高视频的整体质量。 

立即尝试 Sonix 的免费试用版,并获得 30 分钟免费转录.无需信用卡。

如何将 ASS 转换为 SRT:常见问题

能否将 ASS 转换为其他格式,如 VTT?

是的,使用正确的工具可以将 ASS 转换成各种格式,包括 VTT 格式,从而满足各种项目需求。

ASS 转 SRT 是免费的吗?

虽然许多在线工具提供的免费转换功能有其局限性,但投资付费选项可以获得高级功能并支持更大规模的项目。

转换过程需要多长时间?

转换时间因文件大小和复杂程度而异,但大多数工具都能在几分钟内完成转换过程,提供快速周转时间。

准确、自动转录

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

今天就免费试用Sonix

包括30分钟的免费转录

zh_CNChinese