【发布时间】:2017-02-12 05:41:45
【问题描述】:
我的公司运行一个实时网络流,并已开始将其复制到 YouTube。不幸的是,工作人员不会检查它是否是实时的,并且互联网问题导致我们的网络编码器有时会停止编码。
有没有一种程序化的方式可以让我判断一个频道是否真正在流式传输?即,如果直播视频从频道中出来,而不仅仅是“频道正在直播”?
【问题讨论】:
标签: youtube youtube-api
我的公司运行一个实时网络流,并已开始将其复制到 YouTube。不幸的是,工作人员不会检查它是否是实时的,并且互联网问题导致我们的网络编码器有时会停止编码。
有没有一种程序化的方式可以让我判断一个频道是否真正在流式传输?即,如果直播视频从频道中出来,而不仅仅是“频道正在直播”?
【问题讨论】:
标签: youtube youtube-api
您可以使用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 也可能有所帮助。
【讨论】: