https://a.storyblok.com/f/270183/71928/9658772f80/blog_sdk-updates_1200x600-1.png

Video API da Vonage, versão 2.18: Novidades e como você pode usá-la

Publicado em May 11, 2021

Tempo de leitura: 3 minutos

A equipe da Video API da Vonage lançou recentemente uma nova versão do Client SDK do Cliente de Vídeo da Vonage — v2.18 (anteriormente conhecido como TokBox OpenTok). Esta postagem apresenta uma visão geral dos novos recursos e de como você pode utilizá-los. Abordarei o lançamento do nosso mais recente SDK para Linux, o recurso IP Proxy, atualizações nas estatísticas do WebRTC, melhorias na segurança e muito mais!

SDK do Linux

Tenho o prazer de informar que adicionamos suporte completo ao SDK de vídeo da Vonage para Linux (X86_64) no Debian 10. Esse novo SDK possui uma API em C com as mesmas primitivas dos nossos outros Client SDKs de vídeo.

O SDK do Linux abre caminho para muitos novos casos de uso, que vão desde aplicativos nativos para desktop até transmissões por meio de câmeras IP. Embora não estejamos adicionando suporte a outras arquiteturas de referência e versões do Linux no momento, disponibilizaremos as compilações do SDK não suportadas no Centro de Desenvolvedores de Video da Vonage.

Você pode encontrar os exemplos no nosso GitHub e a documentação completa da API no centro de desenvolvedores.

Proxy de IP

Para atender aos casos de uso em que os usuários finais só podem adicionar IPs e domínios específicos à sua lista de permissões, estamos lançando a API IP Proxy, que permitirá que as Applications encaminhem todo o tráfego HTTPS e WS do Vonage Video por meio de seu servidor de proxy reverso.

Para adicioná-lo ao seu aplicativo, confira o código de exemplo abaixo:

JavaScript

OT.setProxyUrl('https://mycustomproxy.com');

Swift

let settings = OTSessionSettings()
  settings.proxyUrl = "https://mycustomproxy.com"
  let session = OTSession(apiKey: apiKey, sessionId: sessionId, delegate: self, settings: settings)

Java

Session session = new Session.Builder(context, apiKey, sessionId).setProxyUrl("https://mycustomproxy.com").build();

C#

csharp var session = new Session(context, apiKey, sessionId, proxyUrl: "https://mycustomproxy.com")

C

otc_session_settings* otc_settings = otc_session_settings_new();
otc_session_settings_set_proxy_url(otc_settings, "https://mycustomproxy.com");
otc_session* session = otc_session_new_ex(apiKey, sessionId, &sessionCb, otc_settings);

No exemplo acima, estamos definindo o valor de forma estática proxyUrl; no entanto, em cenários de produção, recomendamos buscar o proxyUrl do servidor de aplicativos, da mesma forma que você busca as credenciais para conectar a sessão. Essa abordagem permitirá que você altere o proxyUrl em tempo de execução, conforme necessário.

Você pode encontrar a documentação e os guias no Centro de Desenvolvedores do Vonage Video. Observe que esse recurso está disponível como um complemento.

getRtcStatsReport

À medida que observamos cada vez mais casos de uso com nossa Video API e o WebRTC, queremos fornecer aos nossos desenvolvedores estatísticas completas do WebRTC para permitir uma análise independente da qualidade da conexão de mídia.

Tenho o prazer de informar que, com o Vonage Video JS SDK 2.18.0, agora é possível coletar as estatísticas WebRTC brutas, sem transformação, à medida que o navegador as transmite. Essas estatísticas permitirão que você identifique métricas como o tempo que leva para codificar um quadro, para que você possa usá-las para avaliar o impacto na CPU.

// Get the raw stats from the publisher in a relayed session.
async function collectStats() {
  try {
    const pubStats = await publisher.getRtcStatsReport();

    // Print publisher raw stats on the console.
    pubStats.forEach(({ subscriberId, connectionId, rtcStatsReport }) => {
      console.log(`Raw stats for subscriber ${subscriberId} with connectionId ${connectionId}`);
      rtcStatsReport.forEach(console.log);
    });
  } catch(err) {
    console.log(err);
  }
}

// Get the raw stats from the publisher in a routed session.
async function collectStats() {
  try {
    const pubStats = await publisher.getRtcStatsReport();

    // Print publisher raw stats on the console.
    pubStats.forEach(({ rtcStatsReport }) => {
      rtcStatsReport.forEach(console.log);
    });
  } catch(err) {
    console.log(err);
  }
}

// Get the raw stats from the subscriber.
async function collectStats() {
  try {
    const subStats = await subscriber.getRtcStatsReport();

    // Print subscriber raw stats on the console.
    subStats.forEach(console.log);
  } catch (error) {
    console.log(err);
  }
}

APIs de captura e liberação da câmera do SDK do Android

Na versão anterior, v2.17.0, adicionamos várias melhorias ao nosso SDK para Android a fim de torná-lo mais estável do que as versões anteriores. Com essas melhorias, recebemos alguns pedidos de nossos desenvolvedores para adicionar novas APIs que lhes permitam liberar diretamente a câmera e recuperá-la.

Para ampliar o controle sobre o SDK, adicionamos uma API que permite exatamente isso por meio dos métodos onStop e onRestart.

class PublisherKit {
    // ...

    /**
     * This method will release any resource tied to the publisher.
     * It will stop capturing and then it will release the camera.
     * Please note that after calling this method if you plan to reuse the publisher again
     * you need to call onRestart
     */
    public void onStop() {
    }

    public void onRestart() {
    }
}

Camada de vídeo HD escalável para o SDK do Windows

Vídeo escalável foi lançado pela primeira vez com o Vonage Video Windows SDK 2.14, que melhora a qualidade do vídeo em sessões com vários participantes.

Hoje, estamos lançando melhorias no nosso SDK do Windows para transmitir de forma inteligente em resolução HD ao usar o Scalable Video (onde disponível).

Segurança dos nossos SDKs

Corrigimos a vulnerabilidade do WebRTC no SCTP por meio de patches de segurança para os SDKs do iOS, Android e Windows.

Estamos aprimorando ainda mais essa proteção com a versão 2.18.0, adicionando outras camadas de proteção. Além das atualizações do cliente, também atualizamos nossos servidores para bloquear quaisquer canais de dados antes que a vulnerabilidade do WebRTC fosse divulgada.

Introdução aos novos recursos

A versão 2.18.0 já está disponível para clientes da Video API da Vonage que utilizam o ambiente padrão, e planejamos lançá-la para o Ambiente Empresarial no início de outubro.

Para saber mais e acessar os tutoriais para desenvolvedores, acesse Centro de Desenvolvedores de Video da Vonage.

Compartilhar:

https://a.storyblok.com/f/270183/384x384/63f654d765/manik.png
Manik SachdevaEx-funcionários da Vonage

Manik é engenheiro de software sênior. Ele gosta de trabalhar com desenvolvedores e criar APIs. Quando não está desenvolvendo APIs ou SDKs, é possível encontrá-lo palestrando em conferências e encontros.