Os exemplos a seguir mostram como usar a API YouTube Live Streaming para criar e gerenciar transmissões ao vivo.
Criar uma transmissão
Chame o método liveBroadcasts.insert para programar um novo evento ao vivo. O corpo da solicitação precisa definir o título, o horário de início programado e o status de privacidade da transmissão. Também é possível especificar a categoria do vídeo usando a propriedade snippet.categoryId. Você pode recuperar uma lista de categorias usando o método videoCategories.list.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.insert? part=snippet,status
O corpo da solicitação contém um recurso liveBroadcast. Neste exemplo, o corpo da solicitação é:
{
"snippet": {
"title": "My Live Event",
"scheduledStartTime": "2026-10-30T19:00:00Z",
"categoryId": "17"
},
"status": {
"privacyStatus": "unlisted"
}
}Criar um stream
Chame o método liveStreams.insert para criar um stream que defina as configurações de transmissão do vídeo. É necessário especificar o título do stream e as configurações de CDN (tipo de ingestão, resolução e frame rate).
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveStreams.insert? part=snippet,cdn
O corpo da solicitação contém um recurso liveStream. Neste exemplo, o corpo da solicitação é:
{
"snippet": {
"title": "My Live Stream"
},
"cdn": {
"frameRate": "30fps",
"ingestionType": "rtmp",
"resolution": "720p"
}
}Vincular a transmissão ao stream
Chame o método liveBroadcasts.bind para associar a transmissão ao stream. Defina o parâmetro id como o ID da transmissão e o parâmetro de consulta streamId como o ID do stream.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.bind? id=BROADCAST_ID &streamId=STREAM_ID &part=id,snippet
Fazer a transição do status da transmissão
Chame o método liveBroadcasts.transition para mudar o estado da transmissão. Por exemplo, para começar a testar, faça a transição do status para testing. Para iniciar a transmissão real, faça a transição do status para live.
Este exemplo faz a transição da transmissão para testing. Defina o parâmetro id como o ID da transmissão e o parâmetro broadcastStatus como testing.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.transition? broadcastStatus=testing &id=BROADCAST_ID &part=id,status
Recuperar transmissões
Chame o método liveBroadcasts.list para recuperar transmissões. É possível filtrar por broadcastStatus (por exemplo, active, completed, upcoming) ou recuperar suas próprias transmissões usando o parâmetro mine.
Este exemplo recupera as próximas transmissões do usuário autenticado.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.list? part=snippet,status &broadcastStatus=upcoming &mine=true