15

有人知道如何为任何有字幕的 Youtube 视频获取 CC 吗?我知道在 API 2.0 文档中提到它仅适用于视频的所有者......但即使我不是任何视频的所有者,我也能够获得一些视频的标题......

有两个 API(或 API 链接)可以使用。他们都败给了 timpedtext API。在我提到它们之前,我们应该注意 API 需要的参数。哪个是:

  • lang: {en, fr,...}必需的。
  • v: {video ID}必需的。
  • name: 曲目名称,仅在设置时才需要。(这是我的问题。)
  • tlang: 翻译成语言。可选(如果您想将 CC 翻译成其他语言,应设置。

API链接是:

  1. http://video.google.com/timedtext?lang=fr&v=PILzP-bIeLo&name=french 请注意,如果您删除 name=French 或将其设置为其他内容,上述示例将不会返回任何内容...

  2. http://www.youtube.com/api/timedtext?v=zzfCVBSsvqA&lang=en 请注意,如果您将 name=...

  3. http://www.youtube.com/api/timedtext?v=ZdP0KM49IVk&lang=en 但实际视频有字幕。

示例 3 不返回 CC 数据。

所以我猜测示例 3 需要设置 name 参数。我的主要问题是如果设置了名称参数,我如何找到它。如果已设置,我怎么知道它是什么?

4

4 回答 4

17

[更新]:这是首选方法,直到谷歌最近停止使用它(截至 2021 年 12 月)。

您的第一个示例应该在没有 name= 部分的情况下工作。这为我完成了工作:

video.google.com/timedtext?lang={languageID}&v={videoId}

要从上一个答案中获取英文 CC 版本,它看起来像这样:

http://video.google.com/timedtext?lang=en&v=zzfCVBSsvqA
于 2015-06-02T16:42:54.433 回答
10

您可以通过http://video.google.com/timedtext?type=list&v=zzfCVBSsvqA请求获取可用字幕列表。

您的第三个视频只有自动生成的字幕,您无法轻松获取

于 2014-09-17T10:25:36.303 回答
10

这是我花了一些时间后的建议:

于 2018-05-24T18:15:47.193 回答
-1

如果video.google.com没有获取您的隐藏式字幕文件,或者您不希望您的文件采用 XML 格式,而是希望使用 SRT(参见下面的注释),请尝试:

抄送

注意:SRT 可以转换为几乎任何格式 - 或者使用免费的字幕工具,或者通过替换\n\n|\n;然后|转换为\n,例如,您将获得一个可以在电子表格中打开的 CSV 文件。

于 2017-05-01T11:26:16.780 回答