【问题标题】:Get closed caption "cc" for Youtube video获取 Youtube 视频的隐藏式字幕“cc”
【发布时间】:2014-07-03 03:20:57
【问题描述】:

有人知道如何为任何有字幕的 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 需要设置名称参数。我的主要问题是如果设置了名称参数,我如何找到它。如果设置了,我怎么知道它是什么?

【问题讨论】:

标签: youtube-api closed-captions


【解决方案1】:

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

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

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

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

http://video.google.com/timedtext?lang=en&v=zzfCVBSsvqA

【讨论】:

【解决方案2】:

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

你的第三个视频只有自动生成的字幕,你cannot fetch easily

【讨论】:

  • 带有list 参数的请求自 2021 年 11 月起停止工作,有任何信息或可能的解决方法吗?
【解决方案3】:

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

【讨论】:

  • 有没有办法获取downsub.com的源码?
  • 另外,youtube-captions-scraper 模块也不起作用!!
【解决方案4】:

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

CC SUBS

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

【讨论】:

    猜你喜欢
    • 2018-06-15
    • 1970-01-01
    • 2012-03-25
    • 2020-11-12
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多