gpt4 book ai didi

youtube - 从 channel 而非特定的现场直播视频中检索YouTube live_stats并发观众

转载 作者:行者123 更新时间:2023-12-03 06:19:52 25 4
gpt4 key购买 nike

我知道可以通过以下链接获取特定直播YouTube事件的并发观众数量:https://www.youtube.com/live_stats?v= {videoid}

我想知道是否可以获取 channel 或播放列表的live_stats而不是特定的现场直播。

我想将此数据嵌入到每周都会发生多个不同实时事件的网页中。更改每个事件的视频ID将是一个负担。如果不能直接执行此操作,是否可以从 channel 获取当前直播事件的视频ID,并使用Java脚本或php替换链接中的ID?请帮我解决这个问题。

最佳答案

一段时间后,我自己弄清楚了这一点...

我创建了一个PHP脚本,该脚本检索播放列表中第一个视频的视频ID,并将其放入实时统计信息链接。我将直播 Activity 的链接放在一个播放列表中,以方便使用。

<?php
// Retrieves video info from Youtube playlist. Just update [PLAYLIST_ID] and [API_KEY]
$json_url = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=1&playlistId=[PLAYLIST_ID]&fields=items%2Fsnippet%2FresourceId%2FvideoId&key=[API_KEY]";
$json = file_get_contents($json_url);
$json=str_replace('},

]',"}

]",$json);
$data = json_decode($json, true);

$videoId = $data['items'][0]['snippet']['resourceId']['videoId'];

$viewers = file_get_contents("https://www.youtube.com/live_stats?v=$videoId");
echo $viewers;
?>

然后,我创建了一个HTML页面,其中使用jQuery动态更新数据。
<html>
<body>
<div id="status" style="color: #666; line-height: 24px; font-size: 19px; font-weight: normal; font: 19px Roboto,arial,sans-serif;"></div>
<script src="http://code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function update() {
$.ajax({
url: 'viewers.php',
dataType: 'text',
success: function(data) {
if (parseInt(data) == 0) {
$("#status").css({ display: "none" });
} else {
$("#status").text(parseInt(data) + ' watching now' );
}
}
})
}
update();
var statusIntervalId = window.setInterval(update, 5000);
</script>
</body>
</html>

这就是我走了多远。现在,我只是想知道是否有更好的方法将这些代码组合在一起以创建更少的服务器请求。每个jQuery请求每5秒发生一次,大小约为240字节。即使请求很小,它们仍可能会使页面变慢。

如果可以,请帮助我改善解决方案。先感谢您。

关于youtube - 从 channel 而非特定的现场直播视频中检索YouTube live_stats并发观众,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37478502/

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