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 de API que usam os recursos padrão liveStream e liveBroadcast dos canais do YouTube para transmitir conteúdo ao vivo. Ele ajuda a garantir que seu aplicativo processe normalmente a descontinuação de transmissões e fluxos padrão. Ele é relevante se alguma das seguintes declarações se aplica ao seu aplicativo:

  • 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 de suspensão de uso:

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

Se o aplicativo for afetado, consulte a seção Atualizar o aplicativo, que explica as mudanças processuais que o aplicativo pode precisar fazer como resultado dessa descontinuação. Essa seção identifica etapas específicas no guia Ciclo de vida de uma transmissão que seu cliente de API talvez não siga normalmente se estiver usando 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 podia ser excluído. Da mesma forma, a transmissão padrão era considerada persistente. Ele sempre existiu, 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 vai mais criar transmissões e transmissões ao vivo padrão. Essa mudança afeta aplicativos cliente que dependem desses recursos para transmitir conteúdo ao vivo. Isso também vai afetar aplicativos em que a interface do usuário é personalizada para diferenciar entre 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 da API precisam criar e gerenciar recursos liveBroadcast e liveStream e vincular esses recursos entre si.

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 para o YouTube. Uma transmissão pode e precisa ser vinculada a exatamente um stream.

Migrar das transmissões padrão

Antes dessa descontinuação, os clientes da API podiam escolher entre usar a transmissão padrão de um canal ou criar uma transmissão específica para um evento. A transmissão padrão era um recurso persistente que podia ser reutilizado em vários eventos, enquanto um recurso de transmissão específico do evento é de uso único e 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 destas 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 só vai oferecer suporte a transmissões específicas de eventos. Isso significa que, em vez de depender da transmissão padrão, os aplicativos cliente 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 "Ciclo de vida de uma transmissão".

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

Migrar dos streams padrão

Uma transmissão permite que você transmita conteúdo audiovisual para o YouTube e define as configurações de como você faz isso. É comum que os broadcasters reutilizem a mesma transmissão para várias transmissões diferentes se elas ocorrerem em horários diferentes.

Mesmo que seu aplicativo não possa usar o stream padrão, ele pode criar um stream reutilizável 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 "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 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 da transmissão e da descrição da transmissão, que podem ser definidas ao criar uma nova transmissão. A lista mostra os valores que os fluxos 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 fluxos padrão.

Como 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 da criação.

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 descontinuação, os aplicativos cliente 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 "Ciclo de vida de uma transmissão".

  • Se você estiver usando um stream reutilizável, crie um stream uma vez e vincule todas as transmissões a ele.
  • Se você não estiver usando um fluxo reutilizável, crie uma transmissão e um fluxo e vincule os dois.

Como testar sua transmissão

Quando você não usa a transmissão padrão, é possível testar a sua. Para fazer um teste, incorpore um player que permita visualizar o vídeo da transmissão como ele apareceria para os espectadores do YouTube, mas a transmissão não fica visível para outros espectadores.

Se o cliente da API usava a transmissão e o stream padrão e você quer adicionar uma fase de teste ao processo de streaming, consulte a etapa 3 do guia "Ciclo de vida de uma transmissão".

Se você quiser testar sua transmissão, ao inserir uma transmissão ao vivo, defina 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 interrupção automáticos

A transmissão padrão era iniciada automaticamente sempre que você começava a transmitir vídeo na transmissão padrão. Da mesma forma, a transmissão padrão terminou depois que você parou de transmitir o 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, eles são opcionais e precisam ser ativados para outras transmissões. Se você quiser usar esses recursos, ao inserir uma transmissão ao vivo, 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 encerramento 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 ao vivo quando você iniciar e terminar o streaming de vídeo. No guia "Ciclo de vida de uma transmissão", consulte as etapas 4.3 e 5.2 para saber como gerenciar essas transições no início e no fim de uma transmissão.