如何解决使用 WebVTT 在 YouTube 上定位字幕
根据 YouTube 的 documentation on subtitle formats,它支持 W3C 的 WebVTT 格式的定位字幕,这似乎在野外得到了证明:我见过的大多数视频都使用定位 - 包括 this test video 和 { {3}} - 使用 WebVTT 执行此操作。
在 this music video 中,我能够使用 align:start position:100%
成功地将字幕对齐到视频视口的右侧,但是我尝试过的 align-left
或 align-end
的任何变体简单地恢复到默认(中心)对齐方式。
W3C 的 my video here 中示例 7 中的 line-left
语法指出:
“左行”或“右行”仅指应用“位置”设置的框的物理侧,其方式与提示的水平或垂直方向无关。它不影响或涉及文本本身在框内的方向或位置。
但是当我尝试使用它来明确指定左对齐时,我在上传文件时收到来自 YouTube 的错误(第 17 行指的是第 3 个提示 - 实际错误是第 18 行的 line-left
) :
WEBVTT
Kind: captions
Language: en
1
00:00:16.439 --> 00:00:20.998 align:start position:100% // Successfully aligns right
میرے کنّاں دے چمکن جھمکے
Mere kannaan de chamkan jhumke
Sparkling jewels adorn my ears
2
00:00:21.038 --> 00:00:25.037 align:left position:0% // Silently fails; falls back to centre alignment
میرے کنّاں دے چمکن جھمکے
Mere kannaan de chamkan jhumke
Sparkling jewels adorn my ears
3
00:00:25.837 --> 00:00:30.037 align:left position:0%,line-left // Fails with errors
مینوں ویکھے ہوا وی پئی گھم کے
Mainoon wekhe hawa wi pai ghum ke
Even the breeze turns around to get a glimpse of me
YouTube 根本不支持 line-left
/line-right
语法,还是我只是使用错误?如果不是,我如何强制我的字幕左对齐?
请注意,虽然我在旁遮普语中有每个提示的第一行,但视频的字幕文件本身上传为 English (United Kingdom)
,这也通过 Language: en
标签明确在文件的开头,所以这不像是从右到左的问题。
解决方法
我发布这个答案纯粹是为了记录我曾经让定位工作的内容,但我很乐意接受任何比我更擅长弄清楚规范所说和所做的人的答案所以可以准确解释 WebVTT 中的定位是如何工作的。
自从第一次写这个问题,并在大量阅读规范并针对它们进行测试之后,我设法偶然发现了解决这个问题所需的正确代码排列,但有一些警告。
大多数情况下:
align:left position:0% size:50%
用于左对齐字幕
align:right position:100% size:50%
用于将它们右对齐
...至少在我的特殊情况下。然而,这种方法似乎在较长的线上完全失败,而后者又回到了居中对齐的状态。
我也不明白为什么,但 size
指令需要在我的视频中占 50% 左右:将其设置为太低或太高的值 - 包括 100%,就像在CSS - 似乎也失败了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。