Implementación: Transmisiones y transmisiones

En los siguientes ejemplos, se muestra cómo usar la API de YouTube Live Streaming para crear y administrar transmisiones en vivo.

Crear una transmisión

Llama al método liveBroadcasts.insert para programar un nuevo evento en vivo. El cuerpo de la solicitud debe definir el título, la hora de inicio programada y el estado de privacidad de la transmisión. También puedes especificar de forma opcional la categoría del video con la propiedad snippet.categoryId. Puedes recuperar una lista de categorías con el método videoCategories.list.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.insert?
        part=snippet,status

El cuerpo de la solicitud contiene un recurso liveBroadcast. En este ejemplo, el cuerpo de la solicitud es el siguiente:

{
  "snippet": {
    "title": "My Live Event",
    "scheduledStartTime": "2026-10-30T19:00:00Z",
    "categoryId": "17"
  },
  "status": {
    "privacyStatus": "unlisted"
  }
}

Crea una transmisión

Llama al método liveStreams.insert para crear una transmisión que defina la configuración de transmisión de tu video. Debes especificar el título de la transmisión y su configuración de CDN (tipo de ingesta, resolución y velocidad de fotogramas).

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveStreams.insert?
        part=snippet,cdn

El cuerpo de la solicitud contiene un recurso liveStream. En este ejemplo, el cuerpo de la solicitud es el siguiente:

{
  "snippet": {
    "title": "My Live Stream"
  },
  "cdn": {
    "frameRate": "30fps",
    "ingestionType": "rtmp",
    "resolution": "720p"
  }
}

Vincular la transmisión a la transmisión

Llama al método liveBroadcasts.bind para asociar tu transmisión con tu transmisión. Establece el parámetro id en el ID de la transmisión y el parámetro de consulta streamId en el ID de la transmisión.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.bind?
        id=BROADCAST_ID
        &streamId=STREAM_ID
        &part=id,snippet

Estado de transición de la transmisión

Llama al método liveBroadcasts.transition para cambiar el estado de tu transmisión. Por ejemplo, para comenzar a probar, cambia el estado a testing. Para iniciar la transmisión real, cambia el estado a live.

En este ejemplo, la transmisión pasa a testing. Establece el parámetro id en el ID de la transmisión y el parámetro broadcastStatus en testing.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.transition?
        broadcastStatus=testing
        &id=BROADCAST_ID
        &part=id,status

Recuperar transmisiones

Llama al método liveBroadcasts.list para recuperar transmisiones. Puedes filtrar por broadcastStatus (p.ej., active, completed, upcoming) o recuperar tus propias transmisiones con el parámetro mine.

En este ejemplo, se recuperan las próximas transmisiones del usuario autenticado.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.list?
        part=snippet,status
        &broadcastStatus=upcoming
        &mine=true