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

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_mode propriedade 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_mode propriedade 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_mode a 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.
  • :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 :routed modo 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.