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
liveBroadcastisDefaultBroadcast. - Ele verifica o valor da
isDefaultStreampropriedade do recursoliveStream. Ele chama o
liveBroadcasts.listmétodo e define o valor do parâmetrobroadcastTypecomopersistent. A partir da data de suspensão:- Se o valor do parâmetro
broadcastTypeforpersistent, o métodoliveBroadcasts.listnão retornará nenhum resultado. - Se o valor do parâmetro
broadcastTypeforall, o métodoliveBroadcasts.listnão retornará transmissões persistentes que existiam antes desse período.
- Se o valor do parâmetro
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
broadcastTypeparâmetro comopersistent. Essa solicitação só recupera a transmissão padrão. - Define o valor do
broadcastTypeparâmetro comoalle identifica o recursoliveBroadcastna resposta da API para o qual oisDefaultBroadcastvalor 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.
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
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.