LiveStreams

O recurso liveStream contém informações sobre o stream de vídeo que você está transmitindo para o YouTube. O stream fornece o conteúdo que será transmitido para os usuários do YouTube. Depois de criado, o recurso liveStream pode ser vinculado a um ou mais recursos liveBroadcast.

Métodos

A API é compatível com os seguintes métodos para recursos liveStreams:

list
Retorna uma lista de streams de vídeo que correspondem aos parâmetros de solicitação da API. Faça um teste agora.
inserir
Cria um stream de vídeo. O stream permite que você envie seu vídeo ao YouTube para que ele o transmita ao público. Faça um teste agora.
update
Atualiza um stream de vídeo. Se as propriedades que você quer alterar não puderem ser atualizadas, crie um novo stream com as configurações adequadas. Faça um teste agora.
delete
Exclui um stream de vídeo. Faça um teste agora.

Representação de recurso

A estrutura JSON a seguir mostra o formato de um recurso liveStreams:

{
  "kind": "youtube#liveStream",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "isDefaultStream": boolean
  },
  "cdn": {
    "ingestionType": string,
    "ingestionInfo": {
      "streamName": string,
      "ingestionAddress": string,
      "backupIngestionAddress": string
    },
    "resolution": string,
    "frameRate": string
  },
  "status": {
    "streamStatus": string,
    "healthStatus": {
      "status": string,
      "lastUpdateTimeSeconds": unsigned long,
      "configurationIssues": [
        {
          "type": string,
          "severity": string,
          "reason": string,
          "description": string
        }
      ]
    }
  },
  "contentDetails": {
    "closedCaptionsIngestionUrl": string,
    "isReusable": boolean
  }
}

Propriedades

A tabela a seguir define as propriedades que aparecem neste recurso:

Propriedades
kind string
Identifica o tipo do recurso da API. O valor será youtube#liveStream.
etag etag
A ETag deste recurso.
id string
O ID que o YouTube atribui para identificar a transmissão de forma exclusiva.
snippet object
O objeto snippet contém detalhes básicos sobre a transmissão, incluindo o canal, o título e a descrição.
snippet.publishedAt datetime
A data e a hora em que o stream foi criado. O valor é especificado no formato ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.channelId string
O ID que o YouTube usa para identificar de forma exclusiva o canal que está transmitindo a transmissão.
snippet.title string
O título do stream. O valor precisa ter entre 1 e 128 caracteres.
snippet.description string
A descrição do stream. O valor não pode ter mais de 10.000 caracteres.
snippet.isDefaultStream boolean
Esta propriedade será descontinuada a partir de 1o de setembro de 2020. Quando isso acontecer, o YouTube vai deixar de criar uma transmissão e uma transmissão padrão. Para mais detalhes, consulte o comunicado de descontinuação.
Esta propriedade indica se o stream é o fluxo padrão do canal.

Como funcionam as transmissões padrão

Quando um canal do YouTube está ativado para transmissão ao vivo, o YouTube cria uma transmissão e uma transmissão padrão para o canal. O stream define como o proprietário do canal envia vídeo ao vivo para o YouTube, e a transmissão é como os espectadores podem ver a transmissão padrão. O proprietário do canal pode usar os métodos liveStreams.list e liveBroadcasts.list para identificar esses recursos.

O stream padrão do canal existe por tempo indeterminado, não tem um horário de início ou término associado e não pode ser excluído. O proprietário do canal só precisa começar a enviar bits de vídeo, e a transmissão continua automaticamente.

Quando a transmissão termina, o YouTube converte a transmissão concluída em um vídeo do YouTube e atribui um ID a ele. Após a conclusão da conversão, o vídeo é incluído na lista de vídeos enviados do canal. O vídeo não estará disponível imediatamente após a conclusão da transmissão, e a duração do atraso estará relacionada à duração real da transmissão.
cdn object
O objeto cdn define as configurações da rede de fornecimento de conteúdo (CDN) da transmissão ao vivo. Essas configurações fornecem detalhes sobre a maneira como você transmite seu conteúdo para o YouTube.
cdn.format string
Essa propriedade foi descontinuada desde 18 de abril de 2016 e não terá mais suporte a partir de 17 de agosto de 2020. As solicitações que ainda usarem essa propriedade até essa data vão falhar.

Em vez disso, use as propriedades cdn.frameRate e cdn.resolution para especificar o frame rate e a resolução separadamente.
cdn.ingestionType string
O método ou protocolo usado para transmitir o stream de vídeo.

Os valores válidos para essa propriedade são:
  • dash
  • hls
  • rtmp (incluindo RTMPS)
cdn.ingestionInfo object
O objeto ingestionInfo contém informações que o YouTube fornece para transmitir o conteúdo ao YouTube.
cdn.ingestionInfo.streamName string
O nome da transmissão que o YouTube atribui à transmissão de vídeo.
cdn.ingestionInfo.ingestionAddress string
O URL de processamento principal que precisa ser usado para fazer streaming de vídeo no YouTube com RTMP, DASH ou HLS. É preciso fazer streaming de vídeo para esse URL.

Dependendo do aplicativo ou da ferramenta usado para codificar seu stream de vídeo, talvez seja necessário inserir o URL e o nome do stream separadamente ou os concatenar no seguinte formato:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
O URL de processamento de backup que deve ser usado para fazer streaming de vídeo no YouTube se você usar RTMP, DASH ou HLS. Você tem a opção de transmitir simultaneamente o conteúdo que você está enviando ao ingestionAddress para esse URL.
cdn.ingestionInfo.rtmpsIngestionAddress string
O principal URL de ingestão que deve ser usado para fazer streaming de vídeo no YouTube se você usa o RTMPS. É preciso fazer streaming de vídeo para esse URL.

Dependendo do aplicativo ou da ferramenta usado para codificar o stream de vídeo, talvez seja necessário inserir o URL e o nome do stream separadamente ou as concatenar no seguinte formato:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
O URL de processamento de backup que deve ser usado para fazer streaming de vídeo no YouTube se você usa o RTMPS.
cdn.resolution string
A resolução dos dados de vídeo de entrada.

Os valores válidos para essa propriedade são:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: use esta configuração para indicar que o YouTube detectará automaticamente a resolução do vídeo transmitido. Também é necessário definir cdn.frameRate como variable.
    Consulte as configurações de codificação recomendadas na Central de Ajuda do YouTube.
cdn.frameRate string
O frame rate dos dados de vídeo de entrada.

Os valores válidos para essa propriedade são:
  • 30fps
  • 60fps
  • variable: use esta configuração para indicar que o YouTube detectará automaticamente o frame rate do vídeo transmitido. Também é necessário definir cdn.resolution como variable.
    Consulte as configurações de codificação recomendadas na Central de Ajuda do YouTube.
status object
O objeto status contém informações sobre o status da transmissão ao vivo.
status.streamStatus string
O status da transmissão.

Os valores válidos para esta propriedade são:
  • active: o stream está no estado ativo, o que significa que o usuário está recebendo dados por ele.
  • created: o stream foi criado, mas não tem configurações de CDN válidas.
  • error: há uma condição de erro no stream.
  • inactive: o stream está no estado inativo, o que significa que o usuário não está recebendo dados por ele.
  • ready: o stream tem configurações válidas de CDN.
status.healthStatus object
Esse objeto contém informações sobre o status de integridade da transmissão ao vivo, que podem ser usadas para identificar, diagnosticar e resolver problemas de streaming.
status.healthStatus.status string
O código de status desta transmissão.

Os valores válidos para esta propriedade são:
  • good: não há problemas de configuração em que a gravidade é warning ou pior.
  • ok: não há problemas de configuração em que a gravidade é error.
  • bad: há problemas em que a transmissão está error.
  • noData: os servidores de back-end de transmissão ao vivo do YouTube não têm informações sobre o status de integridade da transmissão.
status.healthStatus.lastUpdateTimeSeconds unsigned long
A última vez que o status de integridade da transmissão foi atualizado. O valor reflete um carimbo de data/hora UNIX em segundos.
status.healthStatus.configurationIssues[] list
Esse objeto contém uma lista de problemas de configuração que afetam o stream.
status.healthStatus.configurationIssues[].type string
Identifica o tipo de erro que afeta o stream.
status.healthStatus.configurationIssues[].severity string
Indica a gravidade do problema no stream.

Os valores válidos para essa propriedade são:
  • info – O vídeo é transmitido para os espectadores sem prejudicar o desempenho.
  • warning – O vídeo é transmitido para os espectadores, mas o desempenho não é o ideal.
  • error – O vídeo não pode ser transmitido para os espectadores.
status.healthStatus.configurationIssues[].reason string
Uma breve descrição do problema. O documento Problemas de configuração dos recursos de transmissão ao vivo identifica o motivo associado a cada tipo de problema de configuração.
status.healthStatus.configurationIssues[].description string
Uma descrição detalhada do problema. Quando possível, a descrição inclui informações sobre como resolver o problema. O documento Problemas de configuração dos recursos de transmissão ao vivo lista todos os tipos de problema de configuração e as descrições associadas a eles.
contentDetails object
O objeto content_details contém informações sobre o stream, incluindo o URL de processamento de legendas.
contentDetails.closedCaptionsIngestionUrl string
O URL de processamento para onde as closed captions do stream são enviadas.
contentDetails.isReusable boolean
Indica se o stream é reutilizável, o que significa que pode ser vinculado a várias transmissões. É comum que as emissoras reutilizem o mesmo stream para muitas transmissões diferentes se elas ocorrerem em momentos diferentes.

Se você definir esse valor como false, o stream não será reutilizável, o que significa que ele só pode ser vinculado a uma transmissão. Os streams não reutilizáveis têm algumas diferenças em relação aos streams reutilizáveis:
  • Um stream não reutilizável só pode ser vinculado a uma transmissão.
  • Um stream não reutilizável pode ser excluído por um processo automatizado após o término da transmissão.
  • O método liveStreams.list não lista os streams não reutilizáveis se você chamar o método e definir o parâmetro mine como true. A única maneira de usar esse método para recuperar o recurso de uma transmissão não reutilizável é usar o parâmetro id para identificar o fluxo.