【问题标题】:Positioning subtitles on YouTube with WebVTT使用 WebVTT 在 YouTube 上定位字幕
【发布时间】:2021-05-28 01:40:40
【问题描述】:

根据 YouTube 的 documentation on subtitle formats,它支持使用 W3C 的 WebVTT 格式定位字幕,这似乎在野外得到了证明:我看过的大多数视频都使用定位 - 包括 this test videothis music video - 使用WebVTT 这样做。

我能够使用align:start position:100% 成功地将字幕对齐到视频视口的右侧,但我尝试的align-leftalign-end 的任何变体只会恢复为默认(中心)对齐方式。

W3C 的 WebVTT spec 中示例 7 中的 line-left 语法声明:

“左行”或“右行”仅指“位置”设置应用到的框的物理侧,其方式与提示的水平或垂直方向无关。它不影响或与文本本身在框中的方向或位置有关。

但是当我尝试使用它来明确指定左对齐时,我在上传文件时收到来自 YouTube 的错误(第 17 行指的是第三个提示 - 实际错误是第 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 开头的标签明确表示文件,所以这不是从右到左的问题。

【问题讨论】:

    标签: video youtube subtitle webvtt


    【解决方案1】:

    我发布这个答案纯粹是为了记录我用来使定位正常工作的内容,但我很乐意接受任何比我更擅长弄清楚规格说明和做事的人的回答所以可以准确解释 WebVTT 中的定位是如何工作的。

    自从第一次写这个问题以来,在阅读了大量规范并针对它们进行测试之后,我设法偶然发现了解决这个问题所需的正确代码排列,但有一些警告。

    在大多数情况下,您可以使用:

    <timecode> align:left position:0% size:50% 左对齐字幕

    <timecode> align:right position:100% size:50% 将它们右对齐

    <timecode> line:0% 将它们放在视频的顶部

    ...至少在我的特殊情况下。但是,这种方法似乎在较长的行上完全失败,这会退回到居中对齐。

    我也不明白为什么,但 size 指令在我的视频中总是需要保持在 50% 左右:将其设置为太低或太高的值 - 包括 100%,就像 CSS 中的情况一样- 似乎也失败了。

    【讨论】:

    • 如果我想在默认行位置上方显示一行该怎么办?
    • @geo-freak 你的意思是把它们放在视频的顶部吗?检查更新的答案。
    • 如果我在时间戳和行之间留出超过 1 个空格,它会起作用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2022-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多