Criação de sessão — PHP

Você pode usar a biblioteca PHP do OpenTok 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

A sessão de código a seguir utiliza o OpenTok Media Router:

<?php
    use OpenTok\OpenTok;

    $apiObj = new OpenTok($API_KEY, $API_SECRET);
    $session = $apiObj->createSession(array('mediaMode' => MediaMode::ROUTED));
    echo $session->getSessionId();
?>

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

Em uma página HTML que utiliza a biblioteca OpenTok.js, é possível incorporar código PHP que faça referência à chave da API, ao ID da sessão e à sequência de caracteres do token gerado, conforme mostrado a seguir:

var apiKey = <?php print $API_KEY?>;
var sessionId = '<?php print $sessionId; ?>';
var token = '<?php print $apiObj->generateToken($sessionId); ?>';

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. (Em uma sessão retransmitida, cada cliente deve enviar um fluxo de áudio e vídeo separado para cada cliente que esteja recebendo essa transmissão.)
  • 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 em PHP que cria uma nova sessão com o modo de mídia configurado para retransmissão:

<?php
use OpenTok\OpenTok;

$apiObj = new OpenTok($API_KEY, $API_SECRET);

$session = $apiObj->createSession();
echo $session->getSessionId();
?>

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 exemplo de código em PHP que cria uma sessão arquivada automaticamente:

$sessionOptions = array(
    'archiveMode' => ArchiveMode::ALWAYS,
    'mediaMode' => MediaMode::ROUTED
);
$session = $opentok->createSession($sessionOptions);

echo $session->getSessionId();

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.