Heredan de: : Object

Definido en: : lib/opentok/opentok.rb

Visión general

Contiene métodos para crear sesiones de OpenTok y generar tokens. También incluye métodos para devolver objetos que permiten trabajar con archivos, gestionar retransmisiones en directo, utilizar la interconexión SIP, enviar señales a las sesiones, desconectar clientes de las sesiones y configurar las clases de diseño para las retransmisiones.

Para crear un nuevo objeto OpenTok, llama al constructor de OpenTok con tu clave API de OpenTok y el secreto API de tu Proyecto OpenTok. No compartas públicamente tu clave secreta de la API. La utilizarás con el constructor de OpenTok (solo en tu servidor web) para crear sesiones de OpenTok.

Resumen de los métodos de instancia

Datos del constructor

#inicializar(api_key, api_secret, opts = {}) ⇒ OpenTok

Crea un nuevo objeto OpenTok.

Parámetros:

  • api_key (Cadena) —

    La clave de la API de OpenTok para tu Proyecto OpenTok.

  • api_secret (Cadena) —

    Tu clave API de OpenTok.

  • opts (Hash) (valor por defecto: {})

    un conjunto de opciones personalizables

Hash de opciones (opts):

  • :api_url (Símbolo)

    -

    No configures este parámetro. Es para uso interno de Vonage.

  • :ua_addendum (Símbolo)

    -

    No configures este parámetro. Es para uso interno de Vonage.

  • :timeout_length (Símbolo)

    -

    Tiempo de espera personalizado en segundos. Si no se especifica, el valor por defecto es de 2 segundos.

Detalles del método de instancia

#archivos ⇒ Objeto

Un objeto «Archives», que te permite trabajar con archivos de OpenTok.

#emisiones ⇒ Objeto

Un objeto «Broadcasts», que te permite trabajar con las retransmisiones en directo de OpenTok.

#leyendas ⇒ Objeto

Un objeto «Captions», que permite activar y desactivar los subtítulos en directo en una sesión de OpenTok.

#conexiones ⇒ Objeto

Un objeto «Connections», que permite desconectar a los clientes de una sesión de OpenTok.

#create_session(opts = {}) ⇒ Sesión

Crea una nueva sesión de OpenTok y devuelve el ID de la sesión, que identifica de forma única a la sesión.

Por ejemplo, al utilizar la biblioteca JavaScript de OpenTok, utiliza el ID de sesión al llamar al método OT.initSession() (para inicializar una sesión de OpenTok).

Las sesiones de OpenTok no caducan. Sin embargo, los tokens de autenticación sí caducan (véase el método generateToken()). Ten en cuenta también que las sesiones no se pueden eliminar de forma explícita.

Una cadena de identificación de sesión puede tener una longitud máxima de 255 caracteres.

Si se produce un error al llamar a este método, se generará una excepción OpenTokException. Consulta el mensaje de error para obtener más detalles.

También puedes crear una sesión mediante la API REST de OpenTok (consulta </developer/rest/#session_id_production>) o en tu Página de la cuenta de OpenTok.

Parámetros:

  • opts (Hash) (valor por defecto: {})

    (Opcional) Este hash define las opciones de la sesión.

Hash de opciones (opts):

  • :media_mode (Símbolo)

    -

    Determina si la sesión transmitirá flujos utilizando OpenTok Media Router (:routed) o no (:relayed). Por defecto, esta propiedad está configurada en :relayed.

    Con el media_mode con el valor :relayed, la sesión intentará transmitir los flujos directamente entre los clientes. Si los clientes no pueden conectarse debido a restricciones del cortafuegos, la sesión utiliza el servidor TURN de OpenTok para retransmitir los flujos de audio y vídeo.

    Con el media_mode con el valor :routed, la sesión utilizará el OpenTok Media Router. El OpenTok Media Router ofrece las siguientes ventajas:

    • El OpenTok Media Router puede reducir el consumo de ancho de banda en sesiones con varios participantes. (Cuando el media_mode se establece en :relayedcada cliente debe enviar un flujo de audio-vídeo independiente a cada cliente que se suscriba a él).
    • El OpenTok Media Router puede mejorar la calidad de la experiencia del usuario a través de recuperación de audio y vídeo. Gracias a estas características, si la conexión de un cliente se deteriora hasta tal punto que no permite la reproducción del vídeo de una transmisión a la que está suscrito, el vídeo se interrumpe en ese cliente (sin que ello afecte a los demás clientes) y el cliente solo recibe el audio. Si la conexión del cliente mejora, el vídeo vuelve a mostrarse.
    • El OpenTok Media Router es compatible con el archivo función que te permite grabar, guardar y recuperar sesiones de OpenTok.
  • :ubicación (cadena de caracteres)

    -

    Una dirección IP que los servidores de OpenTok utilizarán para ubicar la sesión en su red global. Si no se establece una indicación de ubicación, los servidores de OpenTok se basarán en el primer cliente que se conecte a la sesión.

  • :archive_mode (Símbolo)

    -

    Determina si la sesión se archivará automáticamente (:always) o no (:manual). Al utilizar el archivado automático, la sesión debe emplear el :routed modo multimedia.

  • :nombre_del_archivo (Símbolo)

    -

    El nombre que se utilizará para los archivos en las sesiones archivadas automáticamente. Al configurar esta opción, la opción :archive_mode debe establecerse en :always; de lo contrario, se producirá un error. La longitud del nombre del archivo puede ser de hasta 80 caracteres. Debido a limitaciones de codificación, los siguientes caracteres especiales se sustituyen por dos puntos (:): ~, -, _. Si no se especifica ningún nombre y la opción `archiveMode` está configurada en `always`, el nombre del archivo quedará vacío.

  • :archive_resolution (Símbolo)

    -

    La resolución de los archivos en una sesión con archivado automático. Los valores válidos son «480x640», «640x480» (el valor por defecto), «720x1280», «1280x720», «1080x1920» y «1920x1080». Al configurar esta opción, la opción :archive_mode debe establecerse en :always; de lo contrario, se producirá un error.

  • :e2ee (verdadero, falso)

    — por defecto: Booleano, opcional —

    — Indica si la sesión utiliza cifrado de extremo a extremo entre clientes (valor predeterminado: false). No se debe establecer en «true».if:media_modeis:relayed`. Véase el / documentación para más información.

Devoluciones:

  • (Sesión) —

    El objeto «Session». La propiedad «session_id» del objeto es el identificador de sesión.

Aumentos:

  • (ArgumentError)

#generar_token(session_id, options) ⇒ cadena

Genera un token para una sesión determinada.

Parámetros:

  • session_id (Cadena) —

    El identificador de la sesión a la que el cliente debe acceder mediante el token.

  • opciones (Hash) —

    Un hash que define las opciones del token.

Hash de opciones (options):

  • :rol (Símbolo)

    -

    La función del token. Establece este valor en uno de los siguientes:

    • :subscriber – Un suscriptor solo puede suscribirse a transmisiones.
    • :publisher – Un editor puede publicar transmisiones, suscribirse a ellas y enviar señales. (Este es el valor predeterminado si no se especifica ningún rol.)
    • :moderator – Además de los privilegios concedidos a un editor, un moderador puede llevar a cabo funciones de moderación, como obligar a los clientes a desconectarse, detener la publicación de transmisiones o silenciar el audio en las transmisiones publicadas. Consulta la / Guía para desarrolladores sobre moderación.
  • :expire_time (entero)

    -

    El tiempo de caducidad, en segundos desde la época UNIX. Introduce 0 para utilizar el tiempo de caducidad predeterminado de 24 horas tras la hora de creación del token. El tiempo máximo de caducidad es de 30 días tras la hora de creación.

  • :data (Cadena)

    -

    Una cadena que contiene metadatos de conexión que describen al usuario final. Por ejemplo, puedes introducir el ID de usuario, el nombre u otros datos que describan al usuario final. La longitud de la cadena está limitada a 1.000 caracteres. Estos datos no se pueden actualizar una vez establecidos.

  • :initial_layout_class_list (Matriz)

    -

    Una matriz de nombres de clases (cadenas de caracteres) que se utilizarán como clases de diseño iniciales para las transmisiones publicadas por el cliente. Las clases de diseño se utilizan para personalizar el diseño de los vídeos en / retransmisiones en directo y archivos organizados.

  • :token_type (Cadena)

    -

    El tipo de token que se va a generar. Debe ser «T1» o «JWT». El valor predeterminado es «JWT».

Devoluciones:

  • (Cadena) —

    La cadena del token.

#renderiza ⇒ Objeto

Un objeto «Renders», que te permite trabajar con las representaciones de OpenTok Experience Composer.

#señales ⇒ Objeto

Un objeto «Signals», que te permite enviar señales a sesiones de OpenTok.

#sorbo ⇒ Objeto

Un objeto Sip, que te permite utilizar la pasarela SIP de OpenTok.

#arroyos ⇒ Objeto

Un objeto «Streams», que te permite trabajar con las retransmisiones en directo de OpenTok.

#WebSocket ⇒ Objeto

Un objeto WebSocket, que permite conectar las transmisiones de OpenTok a un URI de WebSocket.