以下示例展示了如何使用 YouTube Live Streaming API 创建和管理直播和数据流。
创建广播
调用 liveBroadcasts.insert 方法来安排新的直播活动。请求正文必须定义广播的标题、安排的开始时间和隐私状态。您还可以选择使用 snippet.categoryId 属性指定视频类别。您可以使用 videoCategories.list 方法检索类别列表。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.insert? part=snippet,status
请求正文包含 liveBroadcast 资源。在此示例中,请求正文如下所示:
{
"snippet": {
"title": "My Live Event",
"scheduledStartTime": "2026-10-30T19:00:00Z",
"categoryId": "17"
},
"status": {
"privacyStatus": "unlisted"
}
}创建数据流
调用 liveStreams.insert 方法来创建数据流,以定义视频的传输设置。您必须指定数据流的标题及其 CDN 设置(接收类型、分辨率和帧速率)。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveStreams.insert? part=snippet,cdn
请求正文包含 liveStream 资源。在此示例中,请求正文如下所示:
{
"snippet": {
"title": "My Live Stream"
},
"cdn": {
"frameRate": "30fps",
"ingestionType": "rtmp",
"resolution": "720p"
}
}将广播绑定到数据流
调用 liveBroadcasts.bind 方法,将广播与数据流相关联。将 id 参数设置为广播 ID,并将 streamId 查询参数设置为数据流 ID。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.bind? id=BROADCAST_ID &streamId=STREAM_ID &part=id,snippet
转换广播状态
调用 liveBroadcasts.transition 方法来更改广播的状态。例如,如需开始测试,请将状态转换为 testing。如需开始实际广播,请将状态转换为 live。
此示例将广播转换为 testing。将 id 参数设置为广播 ID,并将 broadcastStatus 参数设置为 testing。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.transition? broadcastStatus=testing &id=BROADCAST_ID &part=id,status
检索广播
调用 liveBroadcasts.list 方法来检索广播。您可以按 broadcastStatus(例如 active、completed、upcoming)进行过滤,也可以使用 mine 参数检索自己的广播。
此示例检索了经过身份验证的用户的即将进行的广播。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.list? part=snippet,status &broadcastStatus=upcoming &mine=true