Criação de sessão — Node.js

Você pode usar a biblioteca OpenTok para Node.js para gerar sessões do OpenTok. Cada sessão possui um ID de sessão exclusivo, que você pode usar em uma biblioteca cliente do OpenTok para se conectar a uma sessão do OpenTok. (Consulte “Participando de uma sessão” para Web, iOS, ou Android.)

Criação de uma sessão que utiliza o OpenTok Media Router

O código Node.js a seguir cria uma sessão que utiliza o OpenTok Media Router:

var opentok = new OpenTok(API_KEY, API_SECRET);
var sessionId;
opentok.createSession({mediaMode:"routed"}, function(error, session) {
  if (error) {
    console.log("Error creating session:", error)
  } else {
    sessionId = session.sessionId;
    console.log("Session ID: " + sessionId);
  }
});

Use o ID da sessão em uma biblioteca de cliente do OpenTok para se conectar a uma sessão do OpenTok.

Você também precisará gerar um token para cada usuário que se conectar à sessão do OpenTok. Consulte Criação de token de conexão para obter informações sobre o generateToken() método.

O Roteador de mídia OpenTok oferece os seguintes benefícios:

  • O OpenTok Media Router pode reduzir o uso de largura de banda em sessões com vários participantes. (Quando a propriedade mediaMode está definida como MediaMode.RELAYED, cada cliente deve enviar um fluxo de áudio e vídeo separado para cada cliente que o esteja recebendo.)
  • O OpenTok Media Router pode melhorar a qualidade da experiência do usuário por meio de solução alternativa para áudio e recuperação de vídeo. Com esses recursos, se a conectividade de um cliente se deteriorar a ponto de não suportar o vídeo de uma transmissão à qual ele está inscrito, o vídeo é interrompido nesse cliente (sem afetar os demais clientes), e o cliente passa a receber apenas o áudio. Se a conectividade do cliente melhorar, o vídeo é restabelecido.
  • O OpenTok Media Router é compatível com o recurso de arquivamento, que permite gravar, salvar e recuperar sessões do OpenTok.

Criação de uma sessão retransmitida

Aqui está um código de exemplo do Node.js que cria uma nova sessão com o modo de mídia configurado para retransmissão:

var opentok = new OpenTok(API_KEY, API_SECRET);
var sessionId;
opentok.createSession({mediaMode:"relayed"}, function(error, session) {
  if (error) {
    console.log("Error creating session:", error)
  } else {
    sessionId = session.sessionId;
    console.log("Session ID: " + sessionId);
  }
});

Em uma sessão retransmitida, os clientes tentarão enviar fluxos diretamente entre si. No entanto, se os clientes não conseguirem se conectar devido a restrições do firewall, a sessão utiliza o servidor TURN da OpenTok para retransmitir os fluxos de áudio e vídeo.

Importante: Alguns recursos, como o arquivamento, estão disponíveis apenas em sessões roteadas (e não retransmitidas). Consulte a seção anterior para obter instruções sobre como criar uma sessão roteada.

Criação de uma sessão arquivada automaticamente

É possível criar uma sessão que seja arquivada automaticamente. Aqui está um código de exemplo em Node que cria uma sessão arquivada automaticamente:

opentok.createSession({mediaMode:'routed', archiveMode:'always'}, function(err, session) {
  if (error) {
    console.log("Error creating session:", error)
  } else {
    sessionId = session.sessionId;
    console.log("Session ID: " + sessionId);
  }
});

Observe que as sessões arquivadas devem utilizar o modo de mídia roteada.

Para obter mais informações, consulte o arquivamento guia do desenvolvedor.

Uso de sessões em aplicativos clientes

Use o ID da sessão em um Client SDK do OpenTok para se conectar a uma sessão do OpenTok.

Você também precisará gerar um token para cada usuário que se conectar à sessão do OpenTok. Consulte Criação de token de conexão para obter informações sobre o generateToken() método.