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

是否可以通过编程的方式判断 channel 是否正在实际流式传输?也就是说,如果直播视频从 channel 中出来,而不仅仅是“该 channel 是直播”?

最佳答案

您可以使用Search: list

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

  • channelId=[channelId]-搜索由特定 channel 创建的资源。
  • type=video-检索特定类型的资源
  • eventType=live-仅返回 Activity 广播。请注意,如果您使用eventType,请将type参数的值设置为video

  • 结合所有这些参数,您可以使用以下格式发送HTTP请求:
    https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCXswCcAMb5bvEUIDEzXFGYg&type=video&eventType=live
    

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

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

    10-08 04:54