Guia de migração para a suspensão de uso de transmissões e streams padrão

Visão geral

Este guia é destinado a 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 seu aplicativo processe normalmente a suspensão de transmissões e streams padrão. Ele é relevante se alguma das declarações a seguir se aplicar ao seu aplicativo:

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

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

Se o aplicativo for afetado, consulte a seção Atualizar o aplicativo, que explica as mudanças processuais que ele pode precisar fazer como resultado dessa suspensão. Essa seção identifica etapas específicas no guia Ciclo de vida de uma transmissão que o cliente da API pode não seguir normalmente se usar a transmissão e o stream padrão.

O que está acontecendo?

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

A partir da data de suspensão mencionada acima, o YouTube não vai mais criar streams e transmissões padrão. Essa mudança afeta aplicativos cliente que dependem desses recursos para transmitir conteúdo ao vivo. Ela também afetará aplicativos em que a interface do usuário é personalizada para diferenciar esses recursos padrão de outras transmissões e streams criados pelos proprietários do canal.

Em vez de depender dos recursos padrão, os clientes da API precisam criar e gerenciar recursos liveBroadcast e liveStream e vinculá-los.

Atualizar o aplicativo

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

Migrar de transmissões padrão

Antes dessa suspensão, os clientes da API podiam escolher entre usar a transmissão padrão de um canal ou criar uma transmissão específica do 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 do evento é um recurso de uso único que corresponde a exatamente um vídeo do YouTube.

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

  • Define o valor do broadcastType parâmetro como persistent. Essa solicitação só recupera a transmissão padrão.
  • Define o valor do broadcastType parâmetro como all e identifica o recurso liveBroadcast na resposta da API para o qual o isDefaultBroadcast valor da propriedade é true.

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

Para criar um recurso liveBroadcast, chame o liveBroadcasts.insert método. Esse processo é explicado na etapa 1.1 do guia "Ciclo de vida de uma transmissão".

Se ainda não tiver, a interface do usuário também precisa fornecer mecanismos para que os usuários distingam e selecionem entre as próximas transmissões específicas do evento.

Migrar de streams padrão

Um stream permite transmitir conteúdo de áudio e vídeo para o YouTube e define as configurações de como você transmite o conteúdo para o YouTube. É comum que os broadcasters reutilizem o mesmo stream para muitas transmissões diferentes se elas ocorrerem em horários diferentes.

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

A lista a seguir contém as quatro propriedades, além do título do stream 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ê gostaria de usar em um aplicativo cliente se estiver migrando do uso de streams padrão.

Vincular transmissões a streams

Cada recurso liveBroadcast precisa ser vinculado a exatamente um stream antes que a transmissão ao vivo no YouTube possa começar. A transmissão não está vinculada a nenhum stream no momento em que é criada.

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

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

  • Se você estiver usando um stream reutilizável, poderá criar um stream uma vez e vincular todas as transmissões 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 os dois.

Testar sua transmissão

Quando você não usa a transmissão padrão, tem a opção de testar a transmissão. Para realizar um teste, incorpore um player que permita visualizar o vídeo da transmissão como ele apareceria para os Ajuda do YouTube, mas a transmissão não fica visível para outros espectadores.

Se o cliente da API usou anteriormente a transmissão e o stream padrão e você quiser adicionar uma fase de teste ao processo de processamento de stream, consulte a fase 3 do "Ciclo de vida de uma transmissão" guide.

Se você quiser testar o stream, ao inserir uma transmissão, você precisa definir a propriedade contentDetails.monitorStream.enableMonitorStream como true e a propriedade contentDetails.enableAutoStart como false. Esses são os valores padrão para ambas as propriedades.

Usar os recursos de início e parada automáticos

A transmissão padrão era iniciada automaticamente sempre que você começava a transmitir vídeo no stream padrão. Da mesma forma, a transmissão padrão terminava depois que você parava de transmitir vídeo. Cada sessão de streaming usando esses recursos padrão se tornou um vídeo no seu canal.

Embora os recursos de início e parada automáticos fossem 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, defina os valores das propriedades contentDetails.enableAutoStart e contentDetails.enableAutoStop como true. Esses recursos são independentes, então você pode escolher usar um e não o outro.

Se você não ativar os recursos de início e parada automáticos 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ê iniciar e terminar a transmissão de vídeo. No guia "Ciclo de vida de uma transmissão" , consulte a etapa 4.3 e a etapa 5.2 para instruções sobre como gerenciar essas transições no início e no fim de uma transmissão.