MicroDVD字幕 (.sub)

MicroDVD 标准

MicroDVD 字幕(SUB)是一种传统的基于帧的字幕格式,它使用准确的视频帧号而不是绝对的时钟时间戳来同步对话提示。

将 SUB 转换为 SRT

免费的浏览器端 SUB 转 SRT 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 SUB 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 SUB 文件:

十六进制签名 (偏移量 0):

7B 31 7D 7B / 7B 30 7D 7B

ASCII 表示形式: {1}{ / {0}{

标准化: MicroDVD File Specification

技术规格

容器架构Frame-based text format where each line defines {start_frame}{end_frame} followed by subtitle text
压缩方式Uncompressed plain text
字节序UTF-8 or ANSI text stream
色彩空间Optional MicroDVD control codes ({y:b}, {y:i}, {c:$BBGGRR})
通道与结构Frame-synchronized subtitle text with basic formatting
最大尺寸Unbounded sequential lines
透明度None
流式传输与渐进式加载Sequential frame-by-frame streaming playback

技术对比矩阵:SUB 对比同类产品

技术属性SUB (当前)SRTVTTASS
计时机制帧号 ({start_frame}{end_frame})时间码 (HH:MM:SS,mmm)时间码 (HH:MM:SS.mmm)时间码 (H:MM:SS.cc)
帧率依赖性100% 依赖于准确的视频 FPS独立于视频帧率独立于视频帧率独立于视频帧率
现代网页支持无(需要转换)需要 JS 转换原生 HTML5 <track>需要 WebAssembly
当前用途传统 DivX/XviD 归档全球通用标准现代网页视频标准动漫与风格化字幕

常见损坏模式与十六进制恢复指南

字幕播放速度比电影音频快两倍或慢两倍。

根本原因: 帧率不匹配(例如为 29.97 fps 视频计时制作的字幕与 23.976 fps 的文件一起播放)。

恢复方法: 使用 File2File 字幕转换器转换为具有正确 FPS 的基于时间戳的 SRT。

安全分析与解析器攻击向量

MicroDVD 解析器会评估帧计算数学,其中整数溢出可能会导致缓冲区内存损坏。

已知攻击向量

  • 帧到毫秒时间戳转换过程中的整数溢出。
  • 解析未闭合的花括号标签时的缓冲区超读。
  • 通过负数或降序帧号序列进行拒绝服务攻击。

防御性最佳实践:

历史渊源与里程碑

2005在数字视频分发中逐渐被基于时间戳的 SRT 和 ASS 格式取代。
2001在早期 DivX 和 XviD 视频抓取时代变得非常流行。
1999Petr Svoboda 开发了 MicroDVD Player 并引入了 .sub 基于帧的字幕格式。

核心优势与特点

  • 保证了与视频刷新周期直接绑定的精确帧级字幕定时。
  • 极其紧凑的语法:每条提示恰好占据一行文本(例如 '{100}{250}Hello world')。
  • 受到主流传统桌面媒体播放器(VLC、MPC、GOM Player)的支持。

技术局限与劣势

  • 依赖帧率:如果视频帧率发生变化(例如从 23.976 fps 变为 25 fps),所有字幕将立即失去同步。
  • 模糊的文件扩展名:'.sub' 也用于二进制的 VobSub DVD 位图图形。
  • 现代网页浏览器或流媒体平台原生不支持。

趣味技术冷知识

  • MicroDVD SUB 文件中的每一行都以包含帧号的花括号开头:'{1200}{1280}Watch out!'。
  • 如果 SUB 文件未在第 1 行声明视频帧率,现代媒体播放器必须猜测帧率(通常会导致同步错误)。
  • 该格式专为经典的 MicroDVD Player 创建,该播放器允许在 Windows 98 上使用自定义皮肤。

常见技术问题

为什么我的 .sub 字幕与视频不同步?

因为 .sub 文件使用的是帧号而不是实际时间。如果您的视频播放帧率(例如 24 fps 对比 30 fps)与制作字幕时的帧率不同,字幕就会逐渐不同步。

如何将 .sub 转换为 .srt?

您可以直接在网络浏览器中使用 File2File.app,一键将基于帧的 .sub 文件转换为通用的、带时间码的 .srt 字幕。

文本 .sub 和 VobSub .sub 有什么区别?

文本 .sub (MicroDVD) 是带有花括号的纯文本文件。VobSub .sub 是包含直接从 DVD 提取的原始图形图像的二进制文件,并与 .idx 索引文件配对。