gpt4 book ai didi

javascript - 获取 YouTube 字幕

转载 作者:搜寻专家 更新时间:2023-11-01 02:23:33 58 4
gpt4 key购买 nike

如何以编程方式获取正在播放的 YouTube 视频的字幕?

最初我尝试通过 YouTube API 离线进行, 但是 as it seems YouTube 禁止获取您不是所有者的视频的字幕。

现在我正在尝试在线进行。我没找到 YouTube Player Api字幕的方法,我也尝试使用 videojs 将 YouTube 字幕作为 TextTrack |播放器 the way it could be done for usual videos ,但以下内容不起作用:

<html>
<head>
<link href="//vjs.zencdn.net/4.12/video-js.css" rel="stylesheet">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="//vjs.zencdn.net/4.12/video.js"></script>
<script type="text/javascript" src="../lib/youtube.js"></script>
</head>

<body>
<video id="myvideo"
class="video-js vjs-default-skin vjs-big-play-centered"
controls
preload="auto"
width="640"
height="360">
</video>

<script type="text/javascript">
var myvideo = videojs(
"myvideo",
{
"techOrder": ["youtube"],
"src": "https://www.youtube.com/watch?v=jNhtbmXzIaM"
},
function() {
console.log('Tracks: ' + this.textTracks().length); //zero here :(

/*var aTextTrack = this.textTracks()[0];
aTextTrack.on('loaded', function() {
console.log('here it is');
cues = aTextTrack.cues();
console.log('Ready State', aTextTrack.readyState())
console.log('Cues', cues);
});
aTextTrack.show();*/
});
</script>
</body>
</html>

我还尝试了一个丑陋的解决方案来解析 YouTube Player IFrame(其中有一个带有当前字幕行的 div),但由于来源不匹配的安全问题,它不起作用。


有什么方法可以在 java(离线解决方案)或 javascript(在线解决方案)中实现我的目标?

最佳答案

更新:来自谷歌的 URL 停止工作。此方法目前已暂停。

解决方法:我是如何设法从 youtube 视频中获取字幕的,方法是向这个 url https://video.google.com/timedtext?lang={LANG}&v={videoId} 发出一个简单的请求。

我曾尝试使用 Youtube API v3,但目前它不起作用。当您使用 Youtube API v3 对某个视频发出请求时,您需要上传视频的人批准字幕的下载,否则您将在控制台中看到 403 错误。报错是正常的,服务器没有收到认证所以返返回错。

您可以使用 Youtube API v3 从您自己的视频下载字幕。

与此类似的东西可以完成这项工作。响应将采用 XML 格式:

   $.ajax({
type: "POST",
url: "https://video.google.com/timedtext?lang=en&v=5MgBikgcWnY"
}).done(function (response) {
console.log(response);
}).fail(function (response) {
console.log();
});

关于javascript - 获取 YouTube 字幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32142656/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com