Implementação: transmissões e streams

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