SubRip字幕 (.srt)
De 标准SubRip Subtitle (SRT) 是数字视频字幕和隐藏式字幕无可争议的全球标准,以其绝对的简洁性、人类可读性以及通用的硬件和软件兼容性而备受推崇。
将 SRT 转换为 VTT
免费的浏览器端 SRT 转 VTT 转换器。在您的设备上即时转换文件。
检查与元数据
操作系统和文件分析器通过检查开头的二进制字节序列来识别 SRT 文件:
字节级文件头签名 (Magic Bytes)
操作系统和文件分析器通过检查开头的二进制字节序列来识别 SRT 文件:
十六进制签名 (偏移量 0):
31 0D 0A 30 30 3A / 31 0A 30 30 3AASCII 表示形式: 1\r\n00: / 1\n00:
标准化: De facto global subtitle standard
技术规格
| 容器架构 | Sequential numbered subtitle cues separated by blank lines: Cue index, Start --> End timestamps (HH:MM:SS,mmm), and subtitle text |
| 压缩方式 | Uncompressed plain text |
| 字节序 | UTF-8 / Unicode text stream (BOM optional) |
| 色彩空间 | Optional basic HTML color tags (<font color=...>) |
| 通道与结构 | Timecoded dialogue text with basic inline styling (bold, italic, underline) |
| 最大尺寸 | Unbounded sequential cues |
| 透明度 | None |
| 流式传输与渐进式加载 | Sequential single-pass streaming playback |
技术对比矩阵:SRT 对比同类产品
| 技术属性 | SRT (当前) | VTT | ASS | SUB |
|---|---|---|---|---|
| 兼容范围 | 在所有媒体播放器和电视中 100% 通用 | 在所有网页浏览器中 100% 通用 | 在动漫和桌面播放器中通用 | 传统硬件 DVD 播放器 |
| 时间戳分隔符 | 逗号 (例如 00:01:23,456) | 句点 (例如 00:01:23.456) | 句点 (例如 0:01:23.45) | 帧数计数 |
| 样式灵活性 | 基础 HTML 标签 (<b>, <i>, <u>) | 完整的 CSS 提示样式与定位 | 高级覆盖标签与绘图 | 无 |
| 原生 HTML5 <track> | 需要转换为 WebVTT | 100% 原生 HTML5 标准 | 需要 WebAssembly 解码器 | 需要转换 |
常见损坏模式与十六进制恢复指南
随着电影播放,字幕与视频音频逐渐失去同步。
根本原因: 帧速率不匹配(例如为 23.976 fps 定时的字幕在 25.0 fps 视频上播放)。
恢复方法: 重新同步时间戳,或使用 File2File 字幕同步工具调整偏移量。
安全分析与解析器攻击向量
SRT 文件是纯文本,但畸形的提示计数器或 HTML 标签可能会在易受攻击的媒体播放器中触发内存漏洞。
已知攻击向量
- 媒体播放器 SRT 时间戳解析例程中的栈缓冲区溢出(例如 CVE-2011-2592)。
- 通过基于网页的字幕渲染器中未转义的 HTML 标签进行跨站脚本攻击 (XSS)。
- 通过重叠或乱序的提示索引号发起拒绝服务攻击。
防御性最佳实践:
历史渊源与里程碑
核心优势与特点
- 绝对通用的兼容性:受现存的所有媒体播放器、智能电视、视频编辑器和流媒体平台支持。
- 极其简单的语法:无需特殊软件,即可在任何基础文本编辑器中轻松阅读、键入或编辑。
- 紧凑的文本存储:整部 2 小时电影的字幕通常占用不到 100 KB。
技术局限与劣势
- 没有原生屏幕定位:传统上字幕被锁定在视频的底部中央。
- 最少的样式支持:仅限于基本的 HTML 标签(<i>, <b>, <u>),没有自定义字体或布局控件。
- 时间戳中的逗号小数分隔符('00:01:20,500')与网页标准的句点分隔符不同。
趣味技术冷知识
- SRT 最初由一位名为 'Brain' 的法国软件开发人员创建,他编写 SubRip 是为了通过 OCR 从 DVD 中提取字幕文本。
- SRT 中的时间戳使用逗号 (,) 作为毫秒分隔符,而现代 WebVTT 使用句点 (.)。
- YouTube 使用人工智能为数十亿视频自动生成可下载的 SRT 字幕。
常见技术问题
什么是 SRT 文件?
SRT 文件是一个包含视频字幕的简单文本文件,将每一行对话与确切的开始和结束时间戳相匹配。
如何将 SRT 转换为适用于网页视频的 WebVTT?
您可以直接在网络浏览器中使用 File2File.app,一键将 SRT 文件转换为现代的 HTML5 WebVTT (.vtt) 格式。
如何在电影中使用 SRT 文件?
将 .srt 文件命名为与您的视频文件完全相同的名称(例如 'movie.mp4' 和 'movie.srt')并将它们放在同一个文件夹中;像 VLC 这样的播放器会自动加载它。
相关的 SRT 转换对
将 SubRip 文本文件转换为 WebVTT 格式,可将纯文本字幕转换为适用于网页视频播放器的现代 HTML5 兼容时间轨道。
将 WebVTT 文件转换为 SubRip 文本,以便在较旧的桌面媒体播放器和传统编辑硬件上无缝播放 HTML5 视频字幕。
将 Advanced SubStation Alpha 脚本转换为 SubRip 文本文件,可剔除复杂的样式标签,以便您的字幕在基础媒体播放器上运行。
将 SRT 字幕文件转换为 TXT 转录文本,移除时间码和索引编号,只保留清晰易读的对话内容。
将基于帧数的 MicroDVD 字幕文件转换为基于时间轴的 SubRip 文本格式,以便在现代媒体播放器和网页流媒体平台上播放。