Heredan de: : Object

Definido en: : lib/opentok/broadcasts.rb

Visión general

Una clase para trabajar con las retransmisiones en directo de OpenTok. Véase / Retransmisiones en directo.

Resumen de los métodos de instancia

Detalles del método de instancia

#add_stream(broadcast_id, stream_id, options) ⇒ Objeto

Añade una transmisión a la emisión que se está realizando actualmente y que se inició con el parámetro `streamMode` establecido en «manual». Para obtener una descripción de esta función, consulta <https://tokbox.com/developer/rest/#selecting-broadcast-streams>.

Puedes llamar al método varias veces con `add_stream` establecido en el mismo ID de transmisión para activar o desactivar el audio o el vídeo de la transmisión. Si estableces tanto `has_audio` como `has_video` en «false», recibirás una respuesta de error.

Parámetros:

  • broadcast_id (Cadena) —

    El identificador de emisión.

  • stream_id (Cadena) —

    El ID de la transmisión que se va a añadir a la emisión

  • opts (Hash) —

    un conjunto de opciones personalizables

Aumentos:

  • (ArgumentError) —

    El parámetro «broadcast_id» está vacío.

  • (ArgumentError) —

    El parámetro «stream_id» está vacío.

  • (ArgumentError) —

    Las propiedades «has_audio» y «has_video» del parámetro «options» están ambas establecidas en «false».

#todos(options = {}) ⇒ Lista de emisiones

Devuelve una BroadcastList, que es una lista de retransmisiones finalizadas y en curso, asociadas a tu clave de API.

tokbox.com/developer/rest/#list_broadcasts

Parámetros:

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

    Un hash con claves que definen qué rango de emisiones se deben recuperar.

Hash de opciones (options):

  • :offset (entero)

    -

    Opcional. El desplazamiento de índice de la primera emisión. 0 corresponde al desplazamiento de la emisión iniciada más recientemente. 1 corresponde al desplazamiento de la emisión que se inició antes que la más reciente. Si no se especifica ningún desplazamiento, se utiliza 0.

  • :count (entero)

    -

    Opcional. El número de difusiones que se van a devolver. El número máximo de difusiones que se devuelven es 1000.

  • :session_id (Cadena)

    -

    Opcional. El identificador de sesión al que pertenecen las transmisiones.

Devoluciones:

  • (Lista de emisiones) —

    Un objeto `BroadcastList`, que es una matriz de objetos `Broadcast`.

Aumentos:

  • (ArgumentError)

#crear(session_id, options = {}) ⇒ Emisión

Inicia una retransmisión en directo de una sesión de OpenTok.

Los clientes deben estar conectados activamente a la sesión de OpenTok para que puedas iniciar correctamente una retransmisión.

Esto transmite la sesión a un flujo HLS (HTTP Live Streaming) o a flujos RTMP.

Broadcasts#find method.

Parámetros:

  • session_id (Cadena) —

    El ID de la sesión de OpenTok que se va a retransmitir.

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

    Un hash que define las opciones de la emisión.

Hash de opciones (options):

  • :layout (Hash)

    -

    Especifica esto para asignar el tipo de diseño inicial de la emisión. Se trata de un hash que contiene tres claves: :type, :stylesheet<code> and <code>:screenshare_type. Valores válidos para :type son «bestFit» (ajuste óptimo), «custom» (personalizado),

    "horizontalPresentation" (horizontal presentation),
    

    «pip» (imagen en imagen) y «verticalPresentation» (presentación vertical). Si especificas un tipo de diseño «personalizado», configura el :stylesheet clave de la hoja de estilo (CSS). (Para otros tipos de diseño, no establezcas el :stylesheet clave.) Valores válidos para :screenshare_type son «bestFit», «pip», «verticalPresentation» y «horizontalPresentation». Esta propiedad es opcional. Si se especifica, entonces el :type propiedad debe se debe establecer en «bestFit». Si no se especifica un tipo de diseño inicial, la emisión utiliza el tipo de diseño «bestFit».

  • :multiBroadcastTag (Cadena)

    — por defecto: Opcional —

    Configura este parámetro para permitir varias retransmisiones simultáneas de la misma sesión. Asigna una cadena única a cada retransmisión simultánea de una sesión en curso. Ten en cuenta que el valor de «multiBroadcastTag» es no incluidos en la respuesta sobre los métodos para Lista de retransmisiones en directo y obtener información sobre una retransmisión en directo. Ver retransmisiones simultáneas.

  • maxBitRate (int)

    -

    La tasa de bits máxima para las transmisiones, en bits por segundo. El valor mínimo es 100 000 y el máximo es 6 000 000.

  • maxDuration (int)

    -

    La duración máxima de la emisión, en segundos. La emisión se detendrá automáticamente cuando se alcance la duración máxima. Puedes establecer la duración máxima en un valor comprendido entre 60 (60 segundos) y 36 000 (10 horas). La duración máxima por defecto es de 4 horas (14 400 segundos).

  • resultados (Hash)

    — por defecto: Obligatorio —

    Este objeto define los tipos de flujos de retransmisión que deseas iniciar (tanto HLS como RTMP). Puedes incluir HLS, RTMP o ambos como flujos de retransmisión. Si incluyes la retransmisión por RTMP, puedes especificar hasta cinco flujos RTMP de destino (o solo uno).

    En el caso de múltiples transmisiones RTMP, el (:rtmp) La propiedad se establece como un [Array] de objetos Rtmp [Hash]. Para cada hash RTMP, especifica (:serverUrl) para la URL del servidor RTMP, (:streamName) como el nombre de la retransmisión en directo de YouTube o la clave de retransmisión de Facebook), y (opcionalmente) (:id), un identificador único para la transmisión. Si se especifica un identificador, se incluirá en el (broadcast_json) respuesta de la llamada al método Client#start_broadcast, y también está disponible en el (broadcast_json) respuesta del método Broadcasts#find. Vonage transmite la sesión a cada URL RTMP que especifiques. Ten en cuenta que la transmisión en directo de OpenTok es compatible con RTMP y RTMPS. Si necesitas admitir solo una URL RTMP, puedes establecer un objeto Rtmp [Hash] (en lugar de una matriz de objetos) para el (:rtmp) valor de la propiedad en el (:outputs) [Hash].

    En el caso de HLS, el (:hls) propiedad en el (:outputs) [Hash] se establece como un objeto HLS [Hash]. Este objeto incluye las siguientes propiedades opcionales:

    • (:dvr) (booleano). Si se debe habilitar Funcionalidad de grabación digital (DVR) (rebobinar, pausar y reanudar) en los reproductores que lo admiten (verdadero) o no (falso, valor por defecto). Con el DVR activado, la URL HLS incluirá una cadena de consulta «?DVR» añadida al final.
    • (:low_latency) (booleano). Si se debe habilitar modo de baja latencia para HLSstream. Algunos reproductores HLS no admiten el modo de baja latencia. Esta función es incompatible con las transmisiones HLS en modo DVR (no se pueden activar ambas al mismo tiempo). Se trata de una función en fase beta.

    La URL de HLS se incluye en el (broadcast_json) respuesta de la llamada al método Client#start_broadcast, y también está disponible en el (broadcast_json) respuesta de la

  • resolución (cadena de caracteres)

    -

    La resolución de la emisión: «640x480» (SD horizontal, la predeterminada), «1280x720» (HD horizontal), «1920x1080» (FHD horizontal), «480x640» (SD vertical), «720x1280» (HD vertical) o «1080x1920» (FHD vertical).

  • :streamMode (Cadena)

    — por defecto: Opcional —

    Si las transmisiones incluidas en la emisión se seleccionan automáticamente («auto», la opción predeterminada) o manualmente («manual»). Cuando las transmisiones se seleccionan automáticamente («auto»), todas las transmisiones de la sesión pueden incluirse en la emisión. Cuando las transmisiones se seleccionan manualmente («manual»), se especifican las transmisiones que se van a incluir mediante llamadas a la función #añadir_transmisión método. Puedes especificar si en la retransmisión se incluye el audio, el vídeo o ambos de una transmisión. Tanto en el modo automático como en el manual, el editor de retransmisiones incluye las transmisiones en función de normas de priorización de flujos. Importante: esta función solo está disponible actualmente en el entorno Estándar.

  • :hasAudio (booleano)

    -

    Si la emisión tiene audio (por defecto, «true»)

  • :hasVideo (booleano)

    -

    Si la emisión incluye vídeo (valor predeterminado: «true»)

Devoluciones:

  • (Emisión) —

    El objeto de emisión, que incluye propiedades que definen la emisión, entre ellas el identificador de la emisión.

Aumentos:

  • (OpenTokBroadcastError) —

    No se ha podido iniciar la retransmisión. La solicitud no era válida o la retransmisión ya había comenzado.

  • (OpenTokAuthenticationError) —

    Se ha producido un error de autenticación al iniciar una retransmisión. Clave API no válida.

  • (OpenTokError) —

    Error del servidor de OpenTok.

#encontrar(broadcast_id) ⇒ Emisión

Obtiene un objeto «Broadcast» para el ID de emisión indicado.

Parámetros:

  • broadcast_id (Cadena) —

    El identificador de emisión.

Devoluciones:

  • (Emisión) —

    El objeto de emisión, que incluye las propiedades que definen la emisión.

Aumentos:

#diseño(broadcast_id, options = {}) ⇒ Objeto

Modifica dinámicamente el diseño de una retransmisión de OpenTok. Para obtener más información, consulta Para obtener más información, consulta Configuración del diseño de vídeo para las retransmisiones en directo de OpenTok.

Parámetros:

  • broadcast_id (Cadena) —

    El identificador de emisión.

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

    un conjunto de opciones personalizables

Hash de opciones (options):

  • :tipo (Cadena)

    -

    El tipo de diseño. Establece este valor en «bestFit», «pip», «verticalPresentation», «horizontalPresentation», «focus» o «custom».

  • :hoja de estilo (Cadena)

    -

    La hoja de estilo para un diseño personalizado. Configura este parámetro si has establecido type a "custom". De lo contrario, déjalo sin definir.

  • :screenshare_type (Cadena)

    -

    El tipo de disposición de la pantalla compartida. Establece este valor en «bestFit», «pip», «verticalPresentation» u «horizonalPresentation». Si se define, entonces el type El parámetro debe establecerse en "bestFit".

Aumentos:

  • (OpenTokBroadcastError) —

    No se ha podido actualizar la configuración de la emisión.

  • (OpenTokAuthenticationError) —

    Error de autenticación. Clave o secreto de API no válido.

  • (OpenTokError) —

    Error del servidor de OpenTok.

  • (ArgumentError) —

    El parámetro «broadcast_id» u «options» está vacío.

  • (ArgumentError) —

    Se ha especificado el tipo «personalizado» sin ninguna opción de hoja de estilo.

  • (ArgumentError) —

    Se ha pasado una hoja de estilo para un tipo distinto de «custom». O bien se ha pasado un tipo no válido.

  • (ArgumentError) —

    Se ha introducido un tipo de diseño no válido.

#eliminar_flujo(broadcast_id, stream_id) ⇒ Objeto

Elimina una transmisión de una emisión que se está reproduciendo actualmente y que se inició con el parámetro `streamMode` establecido en «manual». Para obtener una descripción de esta función, consulta <https://tokbox.com/developer/rest/#selecting-broadcast-streams>.

Parámetros:

  • broadcast_id (Cadena) —

    El identificador de emisión.

  • stream_id (Cadena) —

    El ID de la transmisión que se va a eliminar de la emisión

Aumentos:

  • (ArgumentError) —

    El parámetro «broadcast_id» está vacío.

  • (ArgumentError) —

    El parámetro «stream_id» está vacío.

#stop(broadcast_id) ⇒ Emisión

Detiene una retransmisión de OpenTok

Ten en cuenta que las retransmisiones se detienen automáticamente tras 120 minutos.

Parámetros:

  • broadcast_id (Cadena) —

    El identificador de emisión.

Devoluciones:

  • (Emisión) —

    El objeto de emisión, que incluye las propiedades que definen la emisión.

Aumentos: