如何在YouTube多直播流场景中仅获取首个直播流?
解决YouTube频道多场直播时指定首个直播流的问题
直接使用https://www.youtube.com/embed/live_stream?channel=UCtOtzF5LuR0UIcKsKSG9_aw&autoplay=1这种按频道ID嵌入的方式,没办法通过URL参数指定获取首个直播流——这个live_stream参数本身就是随机抓取频道内的活跃直播流,没有内置的过滤规则可选。
要实现只加载首个直播流(比如按发布时间排序的最新那场),得通过以下步骤操作:
借助YouTube Data API获取频道的直播列表:
调用search.list接口,设置关键参数:channelId:填入目标频道的ID(比如示例里的UCtOtzF5LuR0UIcKsKSG9_aw)eventType:设为live,只筛选正在直播的内容type:设为video,确保返回的是视频条目order:设为date,让结果按发布时间排序,最新开播的直播会排在第一位
从API返回的结果中提取第一个视频的
id.videoId用这个视频ID生成专属的embed链接:
https://www.youtube.com/embed/{获取到的视频ID}?autoplay=1
注意:使用YouTube Data API需要申请API密钥,同时要遵守API的调用配额限制。
内容的提问来源于stack exchange,提问作者user824147
相关产品推荐
相关产品推荐

