Herdado de: : Object
Definido em: : lib/opentok/opentok.rb
Visão geral
Contém métodos para criar sessões do OpenTok e gerar tokens. Também inclui métodos para retornar objetos que permitem trabalhar com arquivos, lidar com transmissões ao vivo, utilizar a interconexão SIP, enviar sinais para sessões, desconectar clientes das sessões e definir as classes de layout para as transmissões.
Para criar um novo objeto OpenTok, chame o construtor do OpenTok com sua chave de API do OpenTok e o segredo da API do seu Projeto OpenTok. Não compartilhe publicamente seu segredo da API. Você o utilizará com o construtor do OpenTok (apenas no seu servidor web) para criar sessões do OpenTok.
Resumo dos métodos de instância
-
Um objeto Archives, que permite trabalhar com arquivos do OpenTok.
-
Um objeto `Broadcasts`, que permite trabalhar com transmissões ao vivo do OpenTok.
-
Um objeto Captions, que permite iniciar e interromper as legendas ao vivo em uma sessão do OpenTok.
-
Um objeto Connections, que permite desconectar clientes de uma sessão do OpenTok.
-
#create_session(opts = {}) ⇒ Sessão
Cria uma nova sessão do OpenTok e retorna o ID da sessão, que identifica a sessão de forma exclusiva.
-
#gerar_token(session_id, opções) ⇒ String
Gera um token para uma determinada sessão.
-
#inicializar(api_key, api_secret, opts = {}) ⇒ OpenTok construtor
Crie um novo objeto OpenTok.
-
Um objeto `Renders`, que permite trabalhar com as renderizações do OpenTok Experience Composer.
-
Um objeto `Signals`, que permite enviar sinais para sessões do OpenTok.
-
Um objeto Sip, que permite usar o gateway SIP do OpenTok.
-
Um objeto `Streams`, que permite trabalhar com transmissões ao vivo do OpenTok.
-
Um objeto WebSocket, que permite conectar transmissões do OpenTok a um URI do WebSocket.
Detalhes do construtor
#inicializar(api_key, api_secret, opts = {}) ⇒ OpenTok
Crie um novo objeto OpenTok.
Parâmetros:
-
api_key (String) —
A chave da API do OpenTok para o seu Projeto OpenTok.
-
api_secret (String) —
Sua chave da API do OpenTok.
-
opts (Hash) (valor padrão: {}) —
um conjunto de opções personalizáveis
Hash de opções (opts):
-
:api_url (Símbolo)
—
Não defina este parâmetro. Ele é destinado ao uso interno da Vonage.
-
:ua_addendum (Símbolo)
—
Não defina este parâmetro. Ele é destinado ao uso interno da Vonage.
-
:timeout_length (Símbolo)
—
Tempo limite personalizado em segundos. Se não for especificado, o valor padrão é de 2 segundos.
Detalhes do método de instância
#arquivos ⇒ Objeto
Um objeto Archives, que permite trabalhar com arquivos do OpenTok.
#transmissões ⇒ Objeto
Um objeto `Broadcasts`, que permite trabalhar com transmissões ao vivo do OpenTok.
#legendas ⇒ Objeto
Um objeto Captions, que permite iniciar e interromper as legendas ao vivo em uma sessão do OpenTok.
#conexões ⇒ Objeto
Um objeto Connections, que permite desconectar clientes de uma sessão do OpenTok.
#create_session(opts = {}) ⇒ Sessão
Cria uma nova sessão do OpenTok e retorna o ID da sessão, que identifica a sessão de forma exclusiva.
Por exemplo, ao usar a biblioteca JavaScript do OpenTok, utilize o ID da sessão ao chamar o método OT.initSession() (para inicializar uma sessão do OpenTok).
As sessões do OpenTok não expiram. No entanto, os tokens de autenticação expiram (consulte o método generateToken()). Observe também que as sessões não podem ser encerradas explicitamente.
Uma sequência de caracteres de ID de sessão pode ter até 255 caracteres.
A chamada a este método gera uma exceção OpenTokException em caso de erro. Verifique a mensagem de erro para obter mais detalhes.
Você também pode criar uma sessão usando a API REST do OpenTok (consulte </developer/rest/#session_id_production>) ou em seu Página da conta do OpenTok.
Parâmetros:
-
opts (Hash) (valor padrão: {}) —
(Opcional) Este hash define as opções para a sessão.
Hash de opções (opts):
-
:media_mode (Símbolo)
—
Determina se a sessão transmitirá fluxos utilizando o OpenTok Media Router (
:routed) ou não (:relayed). Por padrão, essa propriedade está definida como:relayed.Com o
media_modepropriedade definida como:relayed, a sessão tentará transmitir fluxos diretamente entre os clientes. Se os clientes não conseguirem se conectar devido a restrições do firewall, a sessão utilizará o servidor TURN da OpenTok para retransmitir os fluxos de áudio e vídeo.Com o
media_modepropriedade definida como:routed, a sessão utilizará o Roteador de mídia OpenTok. O OpenTok Media Router 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 o
media_modea propriedade está definida como:relayed, cada cliente deve enviar um fluxo de áudio e vídeo separado para cada cliente que o assina.) - 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 arquivamento recurso que permite gravar, salvar e recuperar sessões do OpenTok.
- O OpenTok Media Router pode reduzir o uso de largura de banda em sessões com vários participantes. (Quando o
-
:localização (String)
—
Um endereço IP que os servidores da OpenTok usarão para localizar a sessão em sua rede global. Se você não definir uma indicação de localização, os servidores da OpenTok se basearão no primeiro cliente que se conectar à sessão.
-
:archive_mode (Símbolo)
—
Determina se a sessão será arquivada automaticamente (
:always) ou não (:manual). Ao utilizar o arquivamento automático, a sessão deve usar o:routedmodo de mídia. -
:nome_do_arquivo (Símbolo)
—
O nome a ser usado para arquivos em sessões arquivadas automaticamente. Ao definir essa opção, a opção :archive_mode deve estar definida como :always; caso contrário, ocorrerá um erro. O comprimento do nome do arquivo pode ter até 80 caracteres. Devido a limitações de codificação, os seguintes caracteres especiais são convertidos para dois pontos (:): ~, -, _. Se você não definir um nome e a opção `archiveMode` estiver definida como `always`, o nome do arquivo ficará vazio.
-
:archive_resolution (Símbolo)
—
A resolução dos arquivos em uma sessão com arquivamento automático. Os valores válidos são “480x640”, “640x480” (padrão), “720x1280”, “1280x720”, “1080x1920” e “1920x1080”. Ao definir essa opção, a opção :archive_mode deve ser definida como :always; caso contrário, ocorrerá um erro.
-
:e2ee (verdadeiro, falso)
— padrão: Booleano, opcional —
— Se a sessão utiliza criptografia de ponta a ponta entre clientes (padrão: false). Isso não deve ser definido como ‘true’
if:media_modeis:relayed`. Consulte o / documentação para mais informações.
Devoluções:
-
(Sessão) —
O objeto Session. A propriedade session_id desse objeto é o ID da sessão.
Aumentos:
- (ArgumentError)
#gerar_token(session_id, opções) ⇒ String
Gera um token para uma determinada sessão.
Parâmetros:
-
session_id (String) —
O ID da sessão que o cliente acessará por meio do token.
-
opções (Hash) —
Um hash que define as opções para o token.
Hash de opções (options):
-
:função (Símbolo)
—
A função do token. Defina-a como um dos seguintes valores:
:subscriber– Um assinante só pode se inscrever em transmissões.:publisher– Um editor pode publicar fluxos, assinar fluxos e enviar sinais. (Esse é o valor padrão caso você não especifique uma função.):moderator– Além dos privilégios concedidos a um editor, um moderador pode desempenhar funções de moderação, como forçar clientes a se desconectarem, interromper a publicação de transmissões ou silenciar o áudio em transmissões publicadas. Consulte o / Guia do desenvolvedor sobre moderação.
-
:expire_time (inteiro)
—
O tempo de validade, em segundos desde a época UNIX. Passe o valor 0 para usar o tempo de validade padrão de 24 horas após a hora de criação do token. O tempo máximo de validade é de 30 dias após a hora de criação.
-
:data (String)
—
Uma string contendo metadados de conexão que descrevem o usuário final. Por exemplo, é possível passar o ID do usuário, o nome ou outros dados que descrevam o usuário final. O comprimento da string é limitado a 1.000 caracteres. Esses dados não podem ser atualizados depois de definidos.
-
:initial_layout_class_list (Matriz)
—
Uma matriz de nomes de classes (cadeias de caracteres) a serem usadas como classes de layout iniciais para os streams publicados pelo cliente. As classes de layout são utilizadas para personalizar o layout dos vídeos em / transmissões ao vivo e arquivos organizados.
-
:token_type (String)
—
O tipo de token a ser gerado. Deve ser “T1” ou “JWT”. O padrão é “JWT”.
Devoluções:
-
(String) —
A string do token.
#renderizações ⇒ Objeto
Um objeto `Renders`, que permite trabalhar com as renderizações do OpenTok Experience Composer.
#sinais ⇒ Objeto
Um objeto `Signals`, que permite enviar sinais para sessões do OpenTok.
#gol ⇒ Objeto
Um objeto Sip, que permite usar o gateway SIP do OpenTok.
#correntes ⇒ Objeto
Um objeto `Streams`, que permite trabalhar com transmissões ao vivo do OpenTok.
#WebSocket ⇒ Objeto
Um objeto WebSocket, que permite conectar transmissões do OpenTok a um URI do WebSocket.