Guia de migração para descontinuação de transmissões e streams padrão

Visão geral

Este guia é para desenvolvedores de aplicativos cliente da API que usam os recursos liveStream e liveBroadcast padrão dos canais do YouTube para transmitir conteúdo ao vivo. O objetivo é ajudar você a garantir que o aplicativo lide corretamente com a descontinuação de transmissões e streams padrão. Além disso, é relevante se alguma das seguintes afirmações se aplicar ao seu app:

  • Ele verifica o valor da propriedade isDefaultBroadcast do recurso liveBroadcast.
  • Ele verifica o valor da propriedade isDefaultStream do recurso liveStream.
  • Ele chama o método liveBroadcasts.list e define o valor do parâmetro broadcastType como persistent. A partir da data da descontinuação:

    • Se o valor do parâmetro broadcastType for persistent, o método liveBroadcasts.list não retornará resultados.
    • Se o valor do parâmetro broadcastType for all, o método liveBroadcasts.list não retornará transmissões persistentes que existiam antes desse tempo.

Se o aplicativo for afetado, consulte a seção Como atualizar seu aplicativo, que explica as mudanças processuais que ele precisará fazer como resultado dessa descontinuação. Esta seção identifica etapas específicas no guia Duração de uma transmissão que seu cliente de API talvez não siga se usar a transmissão e o stream padrão.

O que está acontecendo?

Desde 2015, o YouTube cria automaticamente uma transmissão e uma transmissão padrão para um canal, quando ele é ativado para transmissões ao vivo. O stream padrão existia indefinidamente e não pôde ser excluído. Da mesma forma, a transmissão padrão foi considerada permanente. Ele sempre existia, não tinha um horário de início ou término associado e não estava vinculado a um evento específico.

A partir da data de descontinuação mencionada acima, o YouTube não criará mais transmissões e transmissões padrão. Essa mudança afeta os aplicativos cliente que dependem desses recursos para transmitir conteúdo ativo. Ele também afetará aplicativos em que a interface do usuário é personalizada para diferenciar esses recursos padrão e outras transmissões e streams que os proprietários de canais criaram.

Em vez de depender dos recursos padrão, os clientes de API precisam criar e gerenciar recursos liveBroadcast e liveStream e vincular esses recursos.

Como atualizar o aplicativo

Para analisar rapidamente a terminologia, uma transmissão representa um evento que pode ser assistido no YouTube à medida que acontece, e um stream é o mecanismo de envio do conteúdo real do vídeo para o YouTube. Uma transmissão pode ser e precisa ser vinculada a exatamente um stream.

Como migrar de transmissões padrão

Antes dessa descontinuação, os clientes de API podiam escolher entre usar uma transmissão padrão de um canal ou criar uma transmissão específica de evento. A transmissão padrão era um recurso persistente que podia ser reutilizado para vários eventos, enquanto um recurso de transmissão específico para eventos é um recurso de uso único que corresponde a exatamente um vídeo do YouTube.

O aplicativo cliente usa a transmissão padrão se ele chamar o método liveBroadcasts.list e realizar uma das seguintes ações:

  • Ele define o valor do parâmetro broadcastType como persistent. Essa solicitação recupera apenas a transmissão padrão.
  • Ele define o valor do parâmetro broadcastType como all e identifica o recurso liveBroadcast na resposta da API em que o valor da propriedade isDefaultBroadcast é true.

Após a descontinuação, o YouTube vai oferecer suporte apenas para transmissões específicas do evento. Isso significa que, em vez de depender da transmissão padrão, os aplicativos clientes precisam criar recursos liveBroadcast para cada evento de transmissão individual.

Para criar um recurso liveBroadcast, chame o método liveBroadcasts.insert. Esse processo é explicado na etapa 1.1 do guia "Life of a broadcast".

Caso ainda não faça isso, sua interface do usuário também precisará fornecer mecanismos para os usuários diferenciarem e selecionarem as próximas transmissões específicas para eventos.

Como migrar de streams padrão

Um stream permite que você transmita conteúdo de áudio e vídeo para o YouTube, além de definir as configurações de streaming do seu conteúdo para o YouTube. É comum que as emissoras reutilizem o mesmo stream para muitas transmissões diferentes, se elas ocorrerem em momentos diferentes.

Mesmo que o aplicativo não possa usar o fluxo padrão, ele pode criar um fluxo reutilizável que possa ser reutilizado para cada transmissão. Para criar um recurso liveStream, chame o método liveStreams.insert, seguindo as instruções na etapa 1.2 do guia "Vida útil de uma transmissão". Por padrão, os streams recém-criados são reutilizáveis. No entanto, se preferir, defina a propriedade contentDetails.isReusable como false para criar streams de uso único e ter uma relação de um para um entre transmissões e streams.

A lista a seguir contém as quatro propriedades, além do título e da descrição do stream, que podem ser definidas ao criar um novo stream. A lista mostra os valores que os streams padrão usam para cada propriedade, que provavelmente são as configurações que você quer usar em um aplicativo cliente se estiver migrando de fluxos padrão.

Vincular transmissões a streams

Cada recurso liveBroadcast precisa estar vinculado a exatamente um stream para que a transmissão ao vivo no YouTube possa começar. A transmissão não é vinculada a nenhum fluxo no momento da criação.

O processo de vinculação foi processado automaticamente para a transmissão padrão, que foi indissociavelmente vinculada ao stream padrão. No entanto, após a data da descontinuação, os aplicativos clientes precisam gerenciar esse processo para todas as transmissões.

Para vincular uma transmissão a um stream, chame o método liveBroadcasts.bind, conforme explicado na etapa 1.3 do guia "Life of a broadcast" .

  • Se você estiver usando um stream reutilizável, é possível criar um stream uma vez e vincular cada transmissão a ele.
  • Se você não estiver usando um stream reutilizável, será necessário criar uma transmissão e um stream e, em seguida, vincular esses dois streams.

Como testar sua transmissão

Quando você não usa a transmissão padrão, é possível testá-la. Para realizar um teste, você incorpora um player que permite visualizar o vídeo de transmissão da forma como ele apareceria para os espectadores do YouTube, mas a transmissão não fica visível para outros espectadores.

Se o cliente de API já usou a transmissão e o stream padrão e você quer adicionar uma fase de teste ao processo de streaming, consulte o estágio 3 do guia "Life of a broadcast".

Se você quiser testar seu stream, será necessário definir a propriedade contentDetails.monitorStream.enableMonitorStream como true e contentDetails.enableAutoStart como false. Esses são os valores padrão para as duas propriedades.

Como usar os recursos de início e encerramento automáticos

A transmissão padrão é iniciada automaticamente sempre que você começa a fazer streaming de vídeo na transmissão padrão. Da mesma forma, a transmissão padrão terminou depois que você interrompeu o streaming de vídeo. Cada sessão de streaming que usa esses recursos padrão se torna um vídeo no seu canal.

Embora os recursos de início e parada automáticas sejam o comportamento padrão para transmissões padrão, esses recursos são opcionais e precisam ser ativados para outras transmissões. Se você quiser usar esses recursos, ao inserir uma transmissão, vai precisar definir os valores da propriedade contentDetails.enableAutoStart e contentDetails.enableAutoStop como true. Esses recursos são independentes, portanto, você pode optar por usar um e não o outro.

Se você não ativar os recursos de início automático e parada automática para novas transmissões, o cliente da API precisará chamar o método liveBroadcasts.Transition para atualizar o status de uma transmissão quando você inicia e termina o streaming de vídeo. No guia "Vida de uma transmissão", consulte as etapas 4.3 e 5.2 para ver instruções sobre como gerenciar essas transições no início e no fim de uma transmissão.