如何将 SRT 转换为 SMI(SAMI)字幕
将 SRT 字幕转换为 SMI/SAMI 格式,以便用于 Windows Media Player 和多语言字幕。
SMI(SAMI,Synchronized Accessible Media Interchange)是微软为 Windows Media Player 开发的字幕格式。它至今仍常见于韩文字幕社区,以及需要在单个文件中包含多种语言轨道的工作流。如果你需要为旧版 Windows 媒体处理流程或多语言字幕方案准备字幕,可能需要将 SRT 转换为 SMI。本指南解释了 SAMI 的工作原理以及转换涉及的内容。
SAMI 与众不同之处
SAMI 本质上是一个 HTML 文档。字幕位于 <SYNC Start=ms> 元素中,其中开始时间是整数毫秒数。由于基于 HTML,SAMI 支持 CSS 样式,更重要的是,支持通过 CSS 类选择的多种语言轨道。一个 SMI 文件就能同时容纳多种语言的字幕。
相比之下,SRT 是纯文本,没有样式、没有定位,每个文件只有一种语言。将 SRT 转换为 SAMI 会把字幕包裹在 HTML/SYNC 结构中,为你提供一个可以进一步设置样式或扩展更多语言的基础。
一个 SMI 文件可以承载多种语言。SRT 只能承载一种。
转换的工作原理
每条 SRT 字幕都会变成一个 <SYNC> 元素。转换器读取 SRT 的开始时间,将其转换为毫秒,并设为 Start 属性。字幕文本放入 <P Class=...> 元素中,换行则变为 <br> 标签。最终得到一个完整的 SAMI 文档,包含必需的 <SAMI>、<HEAD> 和 <STYLE> 部分。
时间会被精确保留,因为 SRT 和 SAMI 都以毫秒为单位工作。不会有任何舍入。
如何将 SRT 转换为 SMI
使用我们免费的 SRT 转 SMI 转换器。上传一个 SRT 文件,该工具就会生成一个有效的 SAMI 文档。要添加第二种语言,请转换另一个 SRT 文件,并将 SYNC 元素合并到不同的 CSS 语言类下。
常见问题
SAMI 的时间与 SRT 完全一致吗?
是的。SAMI 的开始时间以毫秒为单位,与 SRT 使用的单位相同,因此时间被保留,没有舍入。
一个 SMI 文件能容纳多种语言吗?
可以。这正是 SAMI 的主要优势之一。每种语言都是一个 CSS 类,播放器允许观众在它们之间切换。你可以通过合并多个已转换的文件来实现。
现代播放器能读取 SMI 文件吗?
大多数现代 HTML5 播放器不能。SMI 最适合 Windows Media Player 和旧系统。对于网络视频,请改用将 SRT 转换为 VTT。