我正在尝试返回并将已完成或正在进行的实时事件与现实世界的时间戳(例如,Twitter 的逐个播放)同步。我不拥有相关的实时事件。显然,这仅对可以倒带或重播的事件有用(例如许多与游戏相关的广播)
有没有办法检索现场活动的开始时间?
我尝试过以下方法:
使用player.getDuration():
如果当前播放的视频是直播事件,则 getDuration() 函数将返回自直播视频流开始以来经过的时间。具体来说,这是视频在没有重置或中断的情况下流式传输的时间量。此外,该持续时间通常比实际事件时间长,因为流式传输可能在事件开始时间之前开始。
这似乎并不总是准确的 - 如果现场活动有设定的广播持续时间,这似乎会返回安排的广播总时间。这是一个展示这种行为的随机视频:http://www.youtube.com/watch?v=e-Bb5F8Jcwg http://www.youtube.com/watch?v=e-Bb5F8Jcwg(通过发现http://www.youtube.com/live/all http://www.youtube.com/live/all)
我还尝试使用数据 api 并从代码片段中获取发布时间,但这通常看起来是在广播实际开始前几个小时或几天。
作为非内容拥有者,有什么办法可以找回这个时间吗?
Thanks!
EDIT:
进一步查看后,我发现 Developers.google.com/youtube/2.0/... 似乎在 yt:when 下为每个事件提供了此信息...所以我想我修改后的问题是 - 有没有办法检索此信息给定视频 ID,还是我总是需要通过直播活动 API 找到它?
您可以使用数据API v3 https://developers.google.com/youtube/v3为了这。
你可以做一个视频->列表 https://developers.google.com/youtube/v3/docs/videos/listid=VIDEO_ID
您可以从以下位置获取持续时间内容详细信息.持续时间 https://developers.google.com/youtube/v3/docs/videos#contentDetails.duration从响应中。
如果内容是您自己的,您可以使用 v3直播API https://developers.google.com/youtube/v3/live/为了这。
你可以做一个直播->列表 https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/listid=VIDEO_ID
您可以计算持续时间snippet.actualStartTime https://developers.google.com/youtube/v3/live/docs/liveBroadcasts#snippet.actualStartTime and snippet.actualEndTime https://developers.google.com/youtube/v3/live/docs/liveBroadcasts#snippet.actualStartTime从响应中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)