【问题标题】:How to programmatically check if a live YouTube channel is streaming?如何以编程方式检查 YouTube 直播频道是否正在流式传输?
【发布时间】:2017-02-12 05:41:45
【问题描述】:

我的公司运行一个实时网络流,并已开始将其复制到 YouTube。不幸的是,工作人员不会检查它是否是实时的,并且互联网问题导致我们的网络编码器有时会停止编码。

有没有一种程序化的方式可以让我判断一个频道是否真正在流式传输?即,如果直播视频从频道中出来,而不仅仅是“频道正在直播”?

【问题讨论】:

    标签: youtube youtube-api


    【解决方案1】:

    您可以使用Search: list

    使用此请求会返回与您在 API 请求中指定的查询参数匹配的搜索结果集合。在您的请求中添加part=snippet,因为这是必需的参数。然后,您可以在 HTTP 请求中添加以下可选参数及其对应的值:

    • channelId=[channelId] - 搜索特定频道创建的资源。
    • type=video - 检索特定类型的资源
    • eventType=live - 只返回活动广播。请注意,如果您使用eventType,还要将type 参数的值设置为video

    结合所有这些参数,您可以使用以下格式发送 HTTP 请求:

    https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCXswCcAMb5bvEUIDEzXFGYg&type=video&eventType=live
    

    为了更好地过滤您的搜索,您还可以选择添加更多在支持的parameters 中列出的参数。

    最后,此相关 SO 帖子中的解决方案 - How to check if YouTube channel is streaming live 也可能有所帮助。

    【讨论】:

    • 我试过这个,如果我开始活动但不广播任何视频,结果仍然包含流。此列表基于事件是否处于活动状态而不是任何视频内容。
    • 您能分享一下您已经完成的工作以及遇到的任何错误吗?
    猜你喜欢
    • 1970-01-01
    • 2015-12-03
    • 2020-09-08
    • 2014-05-05
    • 2014-02-16
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多