YouTube API v3中的闭路字幕

13

我需要在我的Java网页应用程序中读取第三方公开的YouTube视频的闭路字幕文本,即我没有上传内容。

虽然YouTube数据API v2将对字幕信息的访问权限限制在上传视频的人员身上,但这似乎是一个非常奇怪的限制,因为除了这个数据之外,他们可以获得所有其他东西。我希望在API v3中看到这种限制被取消,但现在有关闭路字幕的唯一参考是一个布尔方法,用于确认视频是否附带CC。即使所有者现在也似乎无法下载它。(谷歌至少会把它添加回来吗?)

Boolean hasCaptions = video.getContentDetails().getCaption()

使用YouTube Data API v3 (使用Google Java API客户端) ,我能够找到,验证和检索YouTube资源(视频、播放列表、频道等)。 我可以做API提供的几乎所有事情,但我不能读取实际的字幕文本。
我还尝试过未发布的定时文本链接变通方法,但这很不一致,对于较新的内容无效,并且在它覆盖的内容中有许多编码错误。
我想知道是否有人知道从Java中检索YouTube视频字幕文本的方法(不是.js插件)?
[最糟糕的情况下,是否有人知道一种允许我像浏览器一样以编程方式与YouTube交互并允许我点击屏幕上的字幕按钮并从那里拉出转录的库?Prowser不允许点击交互,而JxBrowser则需要$1,300以上]
以下代码正常运行并获取所有视频数据,所以这是我需要帮助的最后一步。为了方便那些需要到达此步骤的人,我在这里将其包含在内。
// Build a YouTube resource
YouTube youtube = new YouTube.Builder(new NetHttpTransport(),
                            new JacksonFactory(), 
                            new HttpRequestInitializer())
                    .setApplicationName("caption-retrieval")
                    .build();

// Create the video list request, it should only return one
// result
YouTube.Videos.List listVideosRequest = youtube.videos().list("id, snippet, contentDetails");
listVideosRequest.setKey(API_KEY));
listVideosRequest.setId(VIDEO_ID);

// Request is executed and video list response is returned
VideoListResponse listVideosResponse = listVideosRequest.execute();

List<Video> videos = listVideosResponse.getItems();

// Since a unique video id is given, it will only return
// one video. Would check if video has been removed in 
// production code.
Video video = videos.get(0);

// Read the remaining meta information
title = video.getSnippet().getTitle().trim();
author = video.getSnippet().getChannelTitle();

captionText = ???????

任何帮助都会非常感激。
谢谢,
Greg.
2个回答

14

2
谢谢@IbrahimUlukaya。这是个好消息。你有没有大概的时间表?几周,几个月之类的? - Greg Kennedy
1
很快吗?Api v2将在一年内停用,我们希望继续上传字幕。 - Theo Belaire
2
请问Data API v3的字幕支持状态如何? 它将何时可用? - sam_dw
1
新的API将支持二进制字幕文件,并希望在几周内发布。 - Ibrahim Ulukaya
1
@ibrahim-ulukaya,看起来,在v3.0中仍存在这个奇怪的限制,是吗? “虽然YouTube数据API的v2版本将对字幕信息的访问限制在上传视频的人身上,但这似乎是一个非常奇怪的限制。” - Filipp Voronov
显示剩余5条评论

0

他们终于引入了这个功能:

https://developers.google.com/youtube/v3/docs/captions

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接