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 recursoliveBroadcast
. - Ele verifica o valor da propriedade
isDefaultStream
do recursoliveStream
. Ele chama o método
liveBroadcasts.list
e define o valor do parâmetrobroadcastType
comopersistent
. A partir da data de suspensão de uso:- Se o valor do parâmetro
broadcastType
forpersistent
, o métodoliveBroadcasts.list
não vai retornar nenhum resultado. - Se o valor do parâmetro
broadcastType
forall
, o métodoliveBroadcasts.list
não vai retornar transmissões persistentes que existiam antes desse horário.
- 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 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
comopersistent
. Essa solicitação recupera apenas a transmissão padrão. - Ele define o valor do parâmetro
broadcastType
comoall
e identifica o recursoliveBroadcast
na resposta da API em que o valor da propriedadeisDefaultBroadcast
é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.
cdn.frameRate
-variable
cdn.ingestionType
-rtmp
cdn.resolution
-variable
contentDetails.isReusable
-true
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.