Guía de migración para la baja de las transmisiones y los streams predeterminados

Descripción general

Esta guía está dirigida a los desarrolladores de aplicaciones cliente de API que usan los recursos liveStream y liveBroadcast predeterminados de los canales de YouTube para transmitir contenido en vivo. Su objetivo es ayudarte a garantizar que tu aplicación controle correctamente la baja de las transmisiones y las emisiones predeterminadas, y es pertinente para ti si alguna de las siguientes declaraciones se aplica a tu aplicación:

  • Verifica el valor de la isDefaultBroadcast propiedad del recurso liveBroadcast.
  • Verifica el valor de la isDefaultStream propiedad del recurso liveStream.
  • Llama al liveBroadcasts.list método y establece el valor del broadcastType parámetro en persistent. A partir de la fecha de baja:

    • Si el valor del parámetro broadcastType es persistent, el método liveBroadcasts.list no mostrará ningún resultado.
    • Si el valor del parámetro broadcastType es all, el método liveBroadcasts.list no mostrará las emisiones persistentes que existían antes de ese momento.

Si tu aplicación se ve afectada, consulta la sección Actualiza tu aplicación, en la que se explican los cambios de procedimiento que tu aplicación podría necesitar realizar como resultado de esta baja. En esa sección, se identifican pasos específicos de la guía Ciclo de vida de una emisión que tu cliente de API podría no seguir normalmente si actualmente usa la emisión y la transmisión predeterminadas.

¿Qué sucede?

Desde 2015, YouTube crea automáticamente una transmisión y una emisión predeterminadas para un canal cuando se habilita la transmisión en vivo en ese canal. La transmisión predeterminada existía de forma indefinida y no se podía borrar. Del mismo modo, la emisión predeterminada se consideraba persistente. Siempre existía, no tenía una hora de inicio ni de finalización asociada y no estaba vinculada a un evento en particular.

A partir de la fecha de baja mencionada anteriormente, YouTube ya no creará transmisiones ni emisiones predeterminadas. Este cambio afecta a las aplicaciones cliente que dependen de esos recursos para transmitir contenido en vivo. También afectará a las aplicaciones en las que la interfaz de usuario esté personalizada para diferenciar entre esos recursos predeterminados y otras transmisiones y emisiones que crearon los propietarios del canal.

En lugar de depender de los recursos predeterminados, los clientes de API deben crear y administrar los recursos liveBroadcast y liveStream, y vincularlos.

Actualiza tu aplicación

Para revisar rápidamente la terminología, una emisión representa un evento que se puede mirar en YouTube mientras sucede, y una transmisión es el mecanismo para enviar el contenido de video real a YouTube. Una emisión puede y debe estar vinculada a exactamente una transmisión.

Migra desde emisiones predeterminadas

Antes de esta baja, los clientes de API podían elegir entre usar la emisión predeterminada de un canal o crear una emisión específica para un evento. La emisión predeterminada era un recurso persistente que se podía reutilizar para varios eventos, mientras que un recurso de emisión específico para un evento es un recurso de un solo uso que corresponde exactamente a un video de YouTube.

Tu aplicación cliente usa la emisión predeterminada si llama al método liveBroadcasts.list y realiza una de las siguientes acciones:

  • Establece el valor del broadcastType parámetro en persistent. Esta solicitud solo recupera la emisión predeterminada.
  • Establece el valor del parámetro broadcastType en all y, luego, identifica el recurso liveBroadcast en la respuesta de la API para el que el isDefaultBroadcast valor de la propiedad es true.

Después de la baja, YouTube solo admitirá emisiones específicas para eventos. Esto significa que, en lugar de depender de la emisión predeterminada, las aplicaciones cliente deben crear liveBroadcast recursos para cada evento de emisión individual.

Para crear un recurso liveBroadcast, llama al liveBroadcasts.insert método. Este proceso se explica en el paso 1.1 de la guía "Ciclo de vida de una emisión".

Si aún no lo hace, tu interfaz de usuario también debe proporcionar mecanismos para que los usuarios distingan y seleccionen entre las próximas emisiones específicas para eventos.

Migra desde transmisiones predeterminadas

Una transmisión te permite transmitir contenido de audio y video a YouTube, y define la configuración para transmitir tu contenido a YouTube. Es común que los emisores reutilicen la misma transmisión para muchas emisiones diferentes si esas emisiones se producen en diferentes momentos.

Aunque tu aplicación no puede usar la transmisión predeterminada, puede crear una transmisión reutilizable que se pueda reutilizar para cada emisión. Para crear un recurso liveStream , llama al método liveStreams.insert y sigue las instrucciones del paso 1.2 de la guía "Ciclo de vida de una emisión". De forma predeterminada, las transmisiones creadas recientemente son reutilizables. Sin embargo, si lo prefieres, puedes establecer la contentDetails.isReusable propiedad en false para crear transmisiones de un solo uso y tener una relación uno a uno entre las emisiones y las transmisiones.

La siguiente lista contiene las cuatro propiedades, además del título y la descripción de la transmisión, que puedes establecer cuando creas una transmisión nueva. En la lista, se muestran los valores que usan las transmisiones predeterminadas para cada propiedad, que probablemente sean la configuración que quieras usar en una aplicación cliente si dejas de usar transmisiones predeterminadas.

Vincula emisiones a transmisiones

Cada recurso liveBroadcast debe estar vinculado a exactamente una transmisión antes de que la transmisión en vivo en YouTube pueda comenzar. (La emisión no está vinculada a ninguna transmisión en el momento en que se crea).

El proceso de vinculación se controlaba automáticamente para la emisión predeterminada, que estaba vinculada de forma inextricable a la transmisión predeterminada. Sin embargo, después de la fecha de baja, las aplicaciones cliente deben administrar ese proceso para todas las emisiones.

Para vincular una emisión a una transmisión, llama al liveBroadcasts.bind método como se explica en el paso 1.3 de la guía "Ciclo de vida de una emisión".

  • Si usas una transmisión reutilizable, puedes crear una transmisión una vez y, luego, vincular cada emisión a esa transmisión.
  • Si no usas una transmisión reutilizable, debes crear una emisión y una transmisión, y luego vincularlas.

Prueba tu emisión

Cuando no usas la emisión predeterminada, tienes la opción de probar tu emisión. Para realizar una prueba, incorporas un reproductor que te permite obtener una vista previa del video de la emisión tal como aparecería para los usuarios de YouTube, pero la emisión no es visible para otros usuarios.

Si tu cliente de API usó anteriormente la emisión y la transmisión predeterminadas, y tú quieres agregar una fase de prueba a tu proceso de procesamiento de transmisión, consulta la etapa 3 de la "Guía del ciclo de vida de una emisión".

Si quieres probar tu transmisión, cuando insertes una emisión, debes establecer la propiedad contentDetails.monitorStream.enableMonitorStream en true y la propiedad contentDetails.enableAutoStart en false. Estos son los valores predeterminados para ambas propiedades.

Usa las funciones de inicio y detención automáticos

La emisión predeterminada comenzaba automáticamente cada vez que comenzabas a transmitir video en la transmisión predeterminada. Del mismo modo, la emisión predeterminada finalizaba después de que dejabas de transmitir video. Cada sesión de transmisión que usaba esos recursos predeterminados se convertía en un video en tu canal.

Si bien las funciones de inicio y detención automáticos eran el comportamiento predeterminado para las emisiones predeterminadas, esas funciones son opcionales y deben habilitarse para otras emisiones. Si quieres usar estas funciones, cuando insertes una emisión, debes establecer los valores de las propiedades contentDetails.enableAutoStart y contentDetails.enableAutoStop en true. Estas funciones son independientes, por lo que puedes elegir usar una y no la otra.

Si no habilitas las funciones de inicio y detención automáticos para las emisiones nuevas, tu cliente de API debe llamar al método liveBroadcasts.transition para actualizar el estado de una emisión cuando comiences y termines de transmitir video. En la guía "Ciclo de vida de una emisión" , consulta el paso 4.3 y el paso 5.2 para obtener instrucciones sobre cómo administrar estas transiciones al principio y al final de una emisión.