YouTube视频字幕提取失效 原timedtext接口无返回 求可用新方案
YouTube 字幕接口调整说明及替代方案
旧接口调整说明
你此前使用的https://video.google.com/timedtext?lang=${lang}&v=${id}无认证公共字幕接口,已被Google于近期正式下线,官方未发布公开前置通知,下线后所有未授权请求都会返回空白响应,属于官方接口调整,非本地请求配置错误。
目前可用的字幕获取方案
- 方案1:官方YouTube Data API v3
需先在Google Cloud平台创建项目并启用YouTube Data API v3服务,获取API密钥后按以下步骤操作:- 调用
Captions.list接口,传入参数part=id,snippet、videoId=目标视频ID,查询获取对应语言的字幕轨道ID - 调用
Captions.download接口,传入上一步获取的字幕轨道ID,即可下载对应格式的字幕文件
注意:该方案需要完成身份认证,非公开视频需要视频所有者的OAuth 2.0授权,接口有配额限制,单项目每日默认配额为10000单位,单次字幕下载消耗50单位配额。
- 调用
- 方案2:无公开认证的临时调用接口
可使用YouTube内嵌播放器默认调用的字幕接口,请求格式如下:https://www.youtube.com/api/timedtext?v=${videoId}&lang=${langCode}&fmt=${outputFormat}
参数说明:${videoId}:目标YouTube视频的ID${langCode}:目标字幕对应的语言代码,例如zh代表中文、en代表英文${outputFormat}:输出字幕的格式,支持vtt、srt、xml等常用格式
调用示例:https://www.youtube.com/api/timedtext?v=rIZNQwCfeig&lang=zh&fmt=vtt
若需要获取平台自动生成的字幕,可额外添加参数kind=asr。如果视频所有者设置了禁止第三方抓取字幕,该接口同样会返回空白响应。
注意事项
所有字幕获取行为需严格遵守YouTube服务条款,禁止批量爬取、商用等违规操作,违规操作可能触发IP限流或账号权限封禁。
内容的提问来源于stack exchange,提问作者Peter Olson
相关产品推荐
相关产品推荐

