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.