# 云映 WebVTT 区域跟读：双行滚动、锚点与提示结束时刻

语言：zh-CN
原文：[云映 WebVTT 区域跟读：双行滚动、锚点与提示结束时刻](<https://allluckly.cn/guides/icouldplay-webvtt-region-anchor-two-line-rollup/>)
中文：[中文 HTML](<https://allluckly.cn/guides/icouldplay-webvtt-region-anchor-two-line-rollup/>)
English: [English HTML](<https://allluckly.cn/en/guides/icouldplay-webvtt-region-anchor-two-line-rollup/>)
发布于: 2026-11-14T00:00:00+08:00
内容更新于: 2026-11-14T00:00:00+08:00
署名：Bison

制作两行区域的三条重叠提示，分开区域位置、可见行数与提示时间。

普通字幕位置和滚动区域不是同一层设置。本课在外部副本中制作一个窄区域，安排三条单行提示依次出现，再到自己的播放入口观察是否支持。先把标准描述、教学预期和安装版实见分开，不能因为文件写了 REGION 就宣布所有渲染器都有同样显示。

## 一、准备短片与字幕副本

选自有十二秒以上短片，保留原字幕不动，另建 UTF-8 文本副本作为 VTT 练习。先确认文件没有被系统隐藏扩展名变成 vtt.txt，再记文件名、编码、长度和所用播放入口。这里只改字幕文本，不改变影片尺寸、时长或原有音轨。没有实际影片也可完成语法与时间尺审读，把导入与显示记待执行；不能把下列三条文字称为已通过真机播放的演示素材。准备阶段就为标准预期和实际观察各留一栏。

## 二、完整保存区域声明与三条提示

把区域块放在文件头之后，保留块与提示之间的空行。区域名为 note，宽度四成、高度容纳两行；三条都引用这个相同名字，时间分别从一、三、五秒开始，且都在十秒结束。文字短到各占一行，避免自动折行把本课容量比较变成另一道题。示例没有加行位置或垂直书写设置，先保留最小条件；若自行加入额外设置，必须另外核它与区域的相容规则，不能把改变后的结果继续当原对照。

```
WEBVTT

REGION
id:note
width:40%
lines:2
regionanchor:0%,100%
viewportanchor:10%,90%
scroll:up

00:00:01.000 --> 00:00:10.000 region:note
A: first

00:00:03.000 --> 00:00:10.000 region:note
B: second

00:00:05.000 --> 00:00:10.000 region:note
C: third
```

## 三、把两个锚点画在不同矩形上

依据[W3C WebVTT区域说明](<https://www.w3.org/TR/webvtt1/>)，区域自身的锚点与视频视口的锚点是两套参照。本例区域左下角的零、百分之百，对齐视口的百分之十、百分之九十位置。纸面先画视频大框，再画宽度为其四成的小框，在两框各标自己的参照点。不能把 viewportanchor 当作单条提示的文本对齐，也不能把 regionanchor 的百分之百误当字幕要放在画面外。高度按行容量理解，不从 lines:2 推算固定像素值。

## 四、按三个时点检查行容量

在两秒记 A，在四秒记 A 与 B，在六秒检查 C 进入后两行区域怎样处理更早的一行。按这里的单行与向上滚动模型，A 可因容量而离开可见区域，即使它的结束时刻仍写十秒。把“提示时间仍有效”和“当前区域里看得见”分成两项，不用肉眼看不到就把文件的结束时刻改成五秒。实际换行、字体和渲染实现可能影响观察，若 A 本身折成两行，应先恢复短文字再比较，而不是宣布时间解析错误。

## 五、做仅改变容量的对照文件

复制字幕为三行版，只把 lines:2 改为 lines:3，其他文字、时间和锚点全部保持一致。对照六秒时的可见结果，预期差别来自可容纳行数而非更长显示时长。再查两份三条提示的结束点仍同为十秒，不能偷偷延长一份来配合预期。文件名分别标两行和三行，并保留原始文本，后续如果显示相同，能够回查究竟是选错文件、设置未被支持还是文字发生折行，而不是先改多个条件掩盖原因。

## 六、在云映记录渲染器实际行为

通过安装版现有字幕入口选择自己的副本，先核普通文字能读，再顺播观察两、四、六、十秒附近。若入口不接受外部 VTT 或不呈现区域滚动，就如实记录该路径下未呈现，不把标准示例变成应用必有功能。保留已可用的普通字幕副本作为阅读备用；文件结构审读与播放器兼容性测试分开给结论，不能因一次显示结果就声称所有 WebVTT 区域均受支持或均不支持。也不要为让画面一致而覆盖原来的字幕。

## 七、排查拼写、空行与换行

若区域未生效，先核 REGION 的大小写、note 的引用是否一致、百分号和逗号是否保留，以及区域块与提示是否有空行。若容量看起来不对，先查屏幕中文字是否一条折成多行，再核所选的是两行还是三行版。逐项修正并重开文件，不同时改字体、影片尺寸与锚点。不能从区域失效直接推断字幕本身已不存在；先确认普通提示可读，必要时用保留的普通版继续观看，并留下未验证的区域能力与实际入口名称。

## 八、退出重开并交付区域时间尺

退出播放再选同一字幕，重核文件名与六秒位置，最后恢复自己的普通字幕。交付包含完整文本、两框锚点图、三次观察、两行与三行对照和未核能力。验收应能解释一条提示为什么可能尚未到结束时刻却已经离开可见区域，也能说明本课没有测量像素高度。换设备或字幕入口需重新观察，不把标准的容量模型包装成已经完成的真机测试，更不能以结果不符为由修改影片原本的时间顺序。

## 相关教程与资料

[普通字幕位置](<https://allluckly.cn/guides/icouldplay-webvtt-position-size-cue-box-check/>)、[强调范围](<https://allluckly.cn/guides/icouldplay-webvtt-emphasis-nested-span-boundary/>)。

资料核对：2026 年 11 月 14 日，依据 [云映官方 App Store 说明](<https://apps.apple.com/cn/app/id6755653178>)与 [Apple 公开版本查询](<https://itunes.apple.com/lookup?id=6755653178&country=cn>)，当前版本 1.1.1，最低要求 iOS / iPadOS 15.0。1.1.1 的公开更新列出 Kodi、OpenList / AList 与 S3 兼容存储，并改进来源切换及跳转后的字幕显示；本文按这些公开范围与现有播放能力组织任务，具体入口以安装版本为准。自制样本、手工记录与外部文件整理不是应用新增自动功能；未声称已完成真机或私人服务器实测。

