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:
- Iniciar o Experience Composer
- Obtenha informações sobre o Experience Composer
- Veja a lista de compositores da Experience
- Interromper um Composer de Experiências
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:
-
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.
-
Faça com que o Experience Composer publique a página em um stream em uma nova sessão do OpenTok.
-
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:
-
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.
-
Faça com que o Experience Composer publique a página em um stream em uma nova sessão do OpenTok.
-
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:
-
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.
-
Faça com que o Experience Composer publique a página em uma nova sessão do OpenTok.
-
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.
-
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:
- A versão do SDK nativo foi atualizada para 2.29.0.
- Melhore a taxa de quadros do vídeo usando o codec VP9.
- Plataforma Respect eventos de migração de servidores parando de forma controlada e enviando uma resposta ao cliente.
- O moderador do Respect enviou desconexão forçada e retirada forçada da publicação eventos, interrompendo-os de forma controlada e enviando uma resposta ao cliente.
- Correções de segurança.
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.