Experiência com o Composer

O Experience Composer é um serviço baseado na nuvem que permite capturar qualquer site disponível publicamente e publicá-lo como um stream em uma sessão existente da API do OpenTok. Isso fluxo composto pode ser usado para gravação de arquivo, transmissão e streaming para outras sessões interativas do OpenTok, mantendo intactas as experiências ricas de UI/UX do site.

Métodos da API REST

Use a Video API REST API para realizar as seguintes ações:

O OpenTok SDKs de servidor também incluem métodos para utilizar o Experience Composer.

Casos de uso

Arquivo do Experience Composer

Você pode usar o OpenTok arquivo recurso para gravar áudio e vídeo de uma sessão do OpenTok. No entanto, o formato do vídeo no arquivo final está limitado aos formatos compatíveis opções de layout de vídeo.

Você pode usar o Experience Composer para utilizar o seu site efetivo layout para o layout do arquivo:

  1. Crie um Experience Composer, com a URL apontando para uma página da web que assine os fluxos em uma sessão, aplicando o layout adequado.

  2. Faça com que o Experience Composer publique a página em um stream em uma nova sessão do OpenTok.

  3. Use o API REST do OpenTok ou o método do SDK do servidor OpenTok para arquivar a transmissão do Experience Composer.

Defina a resolução do arquivo para que corresponda à resolução do Experience Composer (que é definida ao iniciar o Experience Composer).

Experimente o Composer Broadcast

Com o OpenTok recurso de transmissão ao vivo, é possível transmitir uma sessão do OpenTok para um stream HLS ou RTMP. No entanto, o layout do vídeo para uma transmissão ao vivo está limitado aos formatos compatíveis opções de layout de vídeo.

Você pode usar o Experience Composer para utilizar o seu site efetivo layout para a transmissão:

  1. Crie um Experience Composer, com a URL apontando para uma página da web que assine os fluxos em uma sessão, aplicando o layout adequado.

  2. Faça com que o Experience Composer publique a página em um stream em uma nova sessão do OpenTok.

  3. Use o API REST do OpenTok ou o método do SDK do servidor OpenTok para transmitir o stream do Experience Composer para um stream HLS ou RTMP.

Defina a resolução do arquivo para que corresponda à resolução do Experience Composer (que é definida ao iniciar o Experience Composer).

Ampliar as transmissões interativas ao vivo para incluir mais participantes (até milhões)

As transmissões ao vivo do OpenTok permitem que até 15.000 clientes assistam a uma sessão interativa do OpenTok. O número suportado depende do número de clientes que estão transmitindo na sessão (consulte o Transmissões interativas ao vivo (guia).

Você pode usar o Experience Composer para aumentar o número de espectadores:

  1. Crie um Experience Composer, com a URL apontando para uma página da web que assine os fluxos da sessão principal do OpenTok a ser transmitida.

  2. Faça com que o Experience Composer publique a página em uma nova sessão do OpenTok.

  3. Repita esse procedimento com várias outras instâncias do Experience Composer — cada uma delas assinando os fluxos da primeira sessão e publicando-os em uma nova sessão.

  4. Seu servidor de aplicativos enviará os IDs de sessão para o Experimente as sessões do Composer para cada um dos clientes de visualização (clientes que não estão publicando na primeira sessão). O servidor de aplicativos precisará acompanhar quantos clientes são adicionados a cada sessão do Experience Composer, de modo que não haja mais do que 15.000 conectados a qualquer uma delas.

O conjunto resultante de sessões do Experience Composer suportará até 15.000 * (15.000 - 2) usuários (224.970.000 usuários) quando houver dois editores. Para outros números de editores, consulte a tabela de clientes compatíveis no Transmissões interativas ao vivo guia, e essa técnica vai ajudar 15,000 * ([number supported from that table] - [number of publishers]) clientes.

Outros casos de uso

Você pode usar o Experience Composer para capturar qualquer página da web e enviá-la como um fluxo de áudio e vídeo para uma sessão do OpenTok, para que outras pessoas possam visualizá-la. A página pode incluir áudio e vídeo de fontes diferentes dos fluxos do OpenTok. Ou pode incluir conteúdo dinâmico com um layout de interface do usuário complexo, que os clientes conectados à sessão do OpenTok possam visualizar.

Limitações

Sem suporte para GPU

Os servidores de renderização do Experience Composer não oferecem suporte à GPU. Eles não são capazes de executar aplicações web que, normalmente, utilizariam mais de 10% da GPU ao serem executadas no Chrome em um computador desktop. Se a aplicação web que você enviar para o Experience Composer utilizar OpenGL (ou outro código que se beneficie da GPU), o desempenho e a renderização no Experience Composer poderão ser prejudicados.

São necessárias sessões roteadas

O Experience Composer é compatível apenas com sessões roteadas (sessões que utilizam o Roteador de mídia OpenTok).

Rotação de servidores

Um Experience Composer é encerrado durante a rotação de servidores da sessão que ele utiliza. É possível reiniciar um Experience Composer em resposta a eventos de notificação de rotação de servidores. Consulte Rotação de servidores e migração de sessões.

Configurando callbacks

Para configurar callbacks seguros para os webhooks do Experience Composer, consulte este guia.

Quando o status de um Experience Composer for alterado, uma solicitação HTTP POST será enviada para a URL configurada. Se nenhuma URL de retorno for configurada, nenhuma atualização de status será enviada. Os dados brutos da solicitação HTTP consistem em uma mensagem codificada em JSON com o seguinte formato:

{
  "id": "<experience-composer-id>",
  "sessionId": "<session-id>",
  "streamId": "<output-stream-id>",
  "status": "stopped",
  "reason": "Max duration exceeded."
  "event": "render"
}

O objeto JSON inclui as seguintes propriedades:

  • id — O ID exclusivo do Experience Composer.
  • sessionId — O ID da sessão do OpenTok.
  • streamId — O ID do stream composto que está sendo publicado. O streamId pode não estar disponível quando o status for “falha”.
  • status — O status do Experience Composer. Essa propriedade pode assumir um dos seguintes valores:
    • "iniciada" — A plataforma da Video API da Vonage se conectou com sucesso ao servidor de aplicativos remoto e está publicando a visualização da web em um fluxo do OpenTok.
    • "parou" — O Experience Composer foi encerrado.
    • "falha" — Ocorreu um erro e o Experience Composer não pôde prosseguir. Isso pode ocorrer na inicialização se o servidor OpenTok não conseguir se conectar ao servidor de aplicativos remoto ou republicar o stream. Também pode ocorrer a qualquer momento durante o processo devido a um erro na plataforma da Video API da Vonage.
  • motivo — Este campo só está disponível quando o status é “interrompido” ou “falha”. Se o status for “interrompido”, o campo “motivo” conterá “Duração máxima excedida” ou “Interrupção solicitada”. Se o status for “falha”, o campo de motivo conterá “Falha interna do servidor”.
  • evento — Para todos os eventos de callback do Experience Composer, esse valor é definido como “render”.

Visualização de dados

Visualização de dados na API do Insights

Você pode usar o API do Insights para visualizar os dados de uso do Experience Composer. O experienceComposer Os dados de uso mostram os minutos publicados pelo Experience Composer.

O experienceComposerArchive e experienceComposerBroadcast As propriedades de uso estão obsoletas. Anteriormente, o experienceComposer os dados de uso indicaram que não incluíam registros de períodos em que um Experience Composer estava conectado a um arquivo ou a uma transmissão. No entanto, isso não ocorre mais. (Os pacotes “Experience Composer Archive” e “Experience Composer Broadcast” não estão mais disponíveis.)

Atualizações

12 de março de 2026

Foram adicionadas as seguintes melhorias:

8 de agosto de 2025

Foram adicionadas as seguintes melhorias:

  • Maior escalabilidade e confiabilidade, com melhorias para absorver melhor os picos repentinos de tráfego.

8 de julho de 2025

Foram adicionadas as seguintes melhorias:

  • Maior escalabilidade e confiabilidade, com balanceamento de carga aprimorado e failover regional, permitindo uma resposta mais rápida a picos de tráfego.

  • Reduzimos a versão do navegador para M126 e a versão do SDK nativo para 2.27.1 devido a problemas de instabilidade.

  • Correções de segurança.

  • Correções de bugs.

3 de junho de 2025

Foram adicionadas as seguintes melhorias:

  • A versão do SDK nativo foi atualizada para 2.29.1.

  • O serviço é interrompido automaticamente ao ocorrer um erro interno, e um evento é enviado para a URL de retorno de chamada registrada.

  • Atualizações de segurança aplicadas.

26 de maio de 2025

Foram adicionadas as seguintes melhorias:

  • Atualizamos a versão do navegador para a M133, melhorando a segurança.

  • Correções de bugs.

3 de outubro de 2024

Foram adicionadas as seguintes melhorias:

  • Otimizações do mecanismo de controle de taxa para transmissões de vídeo complexas e de alta qualidade.

  • Otimizações do codificador para transmissões de vídeo complexas e de alta qualidade.

  • Atualização da versão da libwebrtc, resultando em melhor desempenho e estabilidade.