从 Youtube Live API 中获取当前流 URL
Posted
技术标签:
【中文标题】从 Youtube Live API 中获取当前流 URL【英文标题】:Get current stream URL out of Youtube Live API 【发布时间】:2015-09-21 12:57:23 【问题描述】:目前有什么方法可以从 Youtube Live API 中获取直播 URL?我可以获取 id,但似乎无法将其更改为 URL。
没关系,但我使用的是 Python youtube 客户端。
【问题讨论】:
您是如何获得 ID 的?我想你可以通过将 ID 附加到“youtube.com/watch?v=”来获取 URL,这不起作用吗?另外,你打算用这个 URL 做什么? 我试过了,根本没用。我正在使用官方的 youtube 库。这段代码几乎是逐字逐句:[link]developers.google.com/youtube/v3/live/docs/liveBroadcasts/list 你得到了什么ID? hWbNrHQHvKK6paclLp7WYw1424300727241016 【参考方案1】:[已编辑] 我相信您得到的是 stream ID
而不是 broadcast ID
。查看sample code,了解如何获取您频道的broadcast ID
。
...
print "%s (%s)" % (broadcast["sn-p"]["title"], broadcast["id"])
对
...
print "%s (%s)" % (stream["sn-p"]["title"], stream["id"])
虽然两者都获得id
值,但它们是两个不同的对象,因此它们应该为您提供两个不同的 ID。将broadcast ID
附加到我在 cmets 中提到的 URL 将为您提供流的 URL。
更新:如果您通过 YouTube 频道创建了直播活动,您只需使用 liveBroadcasts
列表即可获取 id
,这也是您可以使用的视频 ID获取网址。如果您通过 insert() 创建了直播,则还必须使用 insert() 创建直播并使用 bind() 将其绑定到直播,然后才能使用liveBroadcasts
列表获取 ID。
【讨论】:
更多直播和直播的区别,请查看here。 我链接到了错误的文档,我实际上是在使用直播API,但是id仍然无法插入url并工作。 我使用了 liveBroadcasts.list 的 API 资源管理器,并且能够成功获取我的流 ID。我验证了我的帐户,指定snippet,id,contentDetails
为“part”,true
为“mine”。然后,我可以将该 ID 附加到“youtube.com/watch?v=" 以获取我的流在直播和完成时的视频 URL。
我认为你得到的ID是流ID,而不是我之前提到的广播ID。您是否使用 insert() 创建了 liveStream?如果是这样,您接下来应该通过 insert() 创建一个 liveBroadcast,然后将它绑定到您的 liveStream,这样您就可以调用 liveBroadcast.list 来获取 ID,该 ID 与视频 ID 相同。这可用于获取流的 URL。
嘿,谢谢伙计,我把你在脑海中说的话颠倒了,但现在我已经把它理顺了,它完全有效!谢谢!以上是关于从 Youtube Live API 中获取当前流 URL的主要内容,如果未能解决你的问题,请参考以下文章
Youtube API v3 - 获取“Live Now” rtmp 和 streamkey