轨道(Tracks)

进入最终合成的每一个视听贡献都是一个平级轨道。轨道是扁平的(不嵌套),视觉层叠顺序由 SVS 里的 stack-order 决定。本页覆盖字幕、媒体、排版与音频轨道的写法。

字幕系统

字幕由「脚本产出的文档」加上「可替换的样式族」组成:文本来自 CaptionDocument 与时间线,合成完整的时间化 Cue,然后由样式负责呈现。

<import as="caption" from="@hypit/caption@1" />
<import as="caption-fine" from="@hypit/caption-fine@1" />
<import as="media" from="@hypit/media@1" />
<import as="fonts" from="@hypit/fonts-open@1" />

@hypit/caption 负责通用契约:完整的 Selection/Role 投影、样式指派与时间拼接。@hypit/caption-fine 是一个样式族,负责几何、字形/Cue/底板绘制与分层局部运动。

样式(Style)

样式是一份由包拥有的 SVS 配方解析出的渲染意图。以下是一段真实的 caption 样式片段(节选),可以看到它同时控制位置、排版、描边、阴影、卡拉 OK 高亮与进出场:

caption .primary {
  stack-order: 70;
  x: 0.5; y: 0.88;
  anchor-x: center; anchor-y: bottom;
  size: 58; line-height: 0.96; letter-spacing: -0.5;
  align: center; max-lines: 2; max-words-per-line: 4;
  fill: #FFFFFF; stroke-color: #09090B; stroke-width: 2;
  shadow-color: #000000; shadow-opacity: 0.72; shadow-y: 3; shadow-blur: 8;
  karaoke: trail; karaoke-transition: wipe; active-fill: #FFD54A;
  cue-enter: spring; cue-enter-frames: 4; active-response: pop;
}

为什么轨道是平级的

平级意味着字幕改动不会默默移动 B-roll,每一层都可以单独重跑;想调整前后关系时改 stack-order,而不是调整嵌套层级。这也是「同一个工程可以长期复用」的结构前提。

中文字幕注意三点:字体族要包含中文字形(可用 @hypit/fonts-open 或自备字体栈)、max-words-per-line 对中文建议按字数更小、卡拉 OK 高亮逐字更自然。

中文内容导航

继续阅读

常见问题

可以只用固定的一个样式吗?

可以。样式族是可替换的,先用一个样式跑通,再按版位或语言派生变体。

字幕样式支持卡拉 OK 高亮吗?

支持,通过 karaoke、active-fill、active-box 等属性逐字高亮。

媒体轨道放什么?

本地素材或生成结果,通过 source 引用并锚定到脚本 selection,实现跟着词走。