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 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 da descontinuação:- Se o valor do parâmetro
broadcastType
forpersistent
, o métodoliveBroadcasts.list
não retornará resultados. - Se o valor do parâmetro
broadcastType
forall
, o métodoliveBroadcasts.list
não retornará transmissões persistentes que existiam antes desse tempo.
- Se o valor do parâmetro
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
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 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.
cdn.frameRate
:variable
cdn.ingestionType
:rtmp
cdn.resolution
:variable
contentDetails.isReusable
:true
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.