【问题标题】:Get current stream URL out of Youtube Live API从 Youtube Live API 中获取当前流 URL
【发布时间】: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

标签: python youtube-api youtube-data-api youtube-livestreaming-api


【解决方案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。
  • 嘿,谢谢伙计,我把你在脑海中说的话颠倒了,但现在我已经把它理顺了,它完全有效!谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-01-10
  • 2012-09-08
  • 2016-03-19
  • 2018-02-15
  • 2016-02-21
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多