OpenTok

Contiene métodos para crear sesiones de OpenTok, generar tokens y trabajar con archivos.

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

Si configuras «api_key» con un VONAGE_APPLICATION_ID y «api_secret» con un VONAGE_PRIVATE_KEY_PATH, el SDK realizará la llamada a Vonage Video utilizando Vonage Auth en su lugar.

Asegúrate de incluir el SDK completo del servidor OpenTok en tu servidor web.

Índice

$vonage  : bool

connectAudio()  : array<string|int, mixed> : Inicia un Conector de audio Conexión WebSocket. Para enviar audio desde una sesión de la Video API de Vonage a un WebSocket.

createSession()  : 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.

deleteArchive()  : bool : Elimina un archivo de OpenTok.

dial()  : SipCall : Inicia una llamada SIP saliente.

disableForceMute()  : bool : Desactiva el estado de silencio activo de la sesión. Una vez que se llame a este método, las nuevas transmisiones publicadas en la sesión ya no tendrán el audio silenciado.

forceDisconnect()  : mixto : Desconecta a un cliente concreto de una sesión de OpenTok.

forceMuteAll()  : bool : Obliga a todas las transmisiones (excepto a una lista opcional de transmisiones) de una sesión de OpenTok a silenciar el audio publicado.

forceMuteStream()  : bool : Obliga al emisor de una transmisión concreta a silenciar el audio que está emitiendo.

generateToken()  : cadena : Crea un token para conectarse a una sesión de OpenTok.

getArchive()  : Archivo : Obtiene un objeto «Archive» correspondiente al ID de archivo indicado.

getBroadcast()  : Emisión : Obtiene información sobre una retransmisión de OpenTok.

getRender()  : Render : Recupera un renderizado existente para ver el estado. El estado puede ser uno de los siguientes: <UL> <LI><CODE>iniciando</CODE> — La plataforma Vonage Video API está conectándose a la aplicación remota en la URL proporcionada. Este es el estado inicial.</LI> <LI><CODE>started</CODE> — La plataforma de la Video API de Vonage se ha conectado correctamente al servidor de la aplicación remota y está volviendo a publicar ese contenido multimedia en la Video API de Vonage.</LI> <LI><CODE>stopped</CODE> — La reproducción se ha detenido.</LI> <LI><CODE>failed</CODE> — Se ha producido un error y la renderización no ha podido continuar. Puede ocurrir durante el inicio si el servidor de Opentok no puede conectarse al servidor de la aplicación remota o volver a publicar la transmisión. También puede ocurrir en cualquier momento durante el proceso de renderización debido a algún error en la plataforma de la Video API de Vonage.</LI> </ul>

getStream()  : Transmisión : Obtiene un objeto Stream, que proporciona información sobre un flujo determinado.

listArchives()  : Lista de archivos : Devuelve una lista de archivos de una sesión.

listRenders()  : mixto : Devuelve una lista de renderizadores de Experience Composer para un proyecto de OpenTok.

listStreams()  : Lista de reproducción : Devuelve un objeto StreamList correspondiente al ID de sesión indicado.

playDTMF()  : void : Reproduce una secuencia DTMF en una sesión o en una conexión específica

setArchiveLayout()  : void : Actualiza la estructura de la transmisión en un archivo de OpenTok.

setStreamClassLists()  : mixto : Establece la lista de clases de diseño para los flujos de una sesión.

signal()  : mixto : Envía una señal a los clientes (o a un cliente concreto) conectados a una sesión de OpenTok.

startArchive()  : Archivo : Inicia el archivado de una sesión de OpenTok.

startBroadcast()  : Emisión : Inicia una retransmisión en directo de una sesión de OpenTok.

startCaptions()  : array<string|int, mixed> : Utiliza este método para iniciar los subtítulos en tiempo real («Live Captions») en una sesión de OpenTok.

startRender()  : Render : Inicia un renderizador de Experience Composer para una sesión de OpenTok.

stopArchive()  : Archivo : Detiene una grabación de OpenTok que se está realizando.

stopBroadcast()  : Emisión : Detiene una emisión.

stopCaptions()  : mixto : Utiliza este método para detener los subtítulos en directo de una sesión.

stopRender()  : mixto : Detiene un renderizado en curso.

updateBroadcastLayout()  : void : Actualiza el diseño de la emisión.

updateStream()  : mixto : Establece la lista de clases de diseño para un flujo.

returnLegacyToken()  : cadena

Propiedades

$vonage

private bool $vonage = false

Opción de anulación para determinar si se debe enviar las solicitudes a los servidores de Vonage utilizando Vonage Auth

Métodos

connectAudio()

Inicia un Conector de audio Conexión WebSocket. Para enviar audio desde una sesión de la Video API de Vonage a un WebSocket.

public connectAudio(string $sessionId, string $token, array<string|int, mixed> $websocketOptions) : array<string|int, mixed>

Parámetros

$sessionId : cadena : El identificador de sesión.

$token : cadena : El token de OpenTok que se utilizará para el conector de audio de la sesión de OpenTok. Puedes añadir datos al token para identificar que la conexión corresponde al punto final del conector de audio o para incluir otros datos identificativos.

$websocketOptions : array<string|int, mixed> : Configuración del WebSocket. Contiene las siguientes claves:

- `'uri'` (string) — A publically reachable WebSocket URI controlled by the customer for the destination of the connect call. (f.e. wss://service.com/wsendpoint)
- `'streams'` (array) — (Optional) The stream IDs of the participants' whose audio is going to be connected. If not provided, all streams in session will be selected.
- `'headers'` (array) — (Optional) An object of key/val pairs with additional properties to send to your Websocket server, with a maximum length of 512 bytes.
Valores de retorno

array<string|int, mixed> —

$response Respuesta de la API, estructurada de la siguiente manera:

  • 'id' (cadena) — Un identificador único que identifica el conector de audio WebSocket.
  • 'connectionId' (cadena) — Identificador de conexión del cliente de Opentok que se ha creado. Esta conexión se suscribirá y reenviará las transmisiones definidas en la carga útil al WebSocket; al igual que cualquier otro participante, generará un evento «connectionCreated» en la sesión.

createSession()

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

public createSession([array<string|int, mixed> $options = array() ]) : Session

Por ejemplo, al utilizar la biblioteca JavaScript de OpenTok, utiliza el ID de sesión al llamar a la OT.initSession() método (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 cerrar 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 iniciando sesión en tu Account de la Video API de OpenTok.

Parámetros

$options : array<string|int, mixed> = array() : (Opcional) Este array define las opciones de la sesión. El array incluye las siguientes claves (todas ellas opcionales):

- `'archiveMode'` (ArchiveMode) — Whether the session is automatically
  archived (`ArchiveMode::ALWAYS`) or not (`ArchiveMode::MANUAL`).
  By default, the setting is `ArchiveMode.MANUAL`, and you must call the
  `OpenTok->startArchive()` method to start archiving. To archive the session
  (either automatically or not), you must set the `mediaMode` key to
  `MediaMode::ROUTED`.
- `'e2ee'` (Boolean) — Whether to enable
  [end-to-end encryption](https://tokbox.com/developer/guides/end-to-end-encryption)
  for a routed session.
- `archiveName` (String) — Name of the archives in auto archived sessions
- `archiveResolution` (Enum) — Resolution of the archives in
  auto archived sessions. Can be one of "480x640", "640x480", "720x1280", "1280x720", "1080x1920", "1920x1080"
- `'location'` (String) — An IP address that the OpenTok servers
  will use to situate the session in its global network. If you do not set a location hint,
  the OpenTok servers will be based on the first client connecting to the session.
- `'mediaMode'` (MediaMode) — Whether the session will transmit
  streams using the OpenTok Media Router (`MediaMode.ROUTED`) or not
  (`MediaMode.RELAYED`). By default, the `mediaMode` property
  is set to `MediaMode.RELAYED`.

  With the `mediaMode` parameter set to `MediaMode.RELAYED`, the
  session will attempt to transmit streams directly between clients. If clients cannot
  connect due to firewall restrictions, the session uses the OpenTok TURN server to relay
  audio-video streams.

  The
  [OpenTok Media Router](/opentok/guides/create-session/#media-mode) provides the following benefits:

  - The OpenTok Media Router can decrease bandwidth usage in multiparty sessions.
    (When the `mediaMode` parameter is set to `MediaMode.ROUTED`,
    each client must send a separate audio-video stream to each client subscribing to
    it.)
  - The OpenTok Media Router can improve the quality of the user experience through
    recovery. With these features, if a client's connectivity degrades to a degree
    that it does not support video for a stream it's subscribing to, the video is dropped
    on that client (without affecting other clients), and the client receives audio only.
    If the client's connectivity improves, the video returns.
  - The OpenTok Media Router supports the
    [archiving](/opentok/guides/archiving)
    feature, which lets you record, save, and retrieve OpenTok sessions.
Valores de retorno

Sesión

Un objeto «Session» que representa la nueva sesión. Llama a la función getSessionId() método de este objeto para obtener el ID de sesión. Por ejemplo, al utilizar la biblioteca OpenTok.js, utiliza este ID de sesión al llamar al OT.initSession() método.

deleteArchive()

Elimina un archivo de OpenTok.

public deleteArchive(string $archiveId) : bool

Solo puedes eliminar un archivo que tenga el estado «disponible», «subido» o «eliminado». Al eliminar un archivo, se elimina su entrada de la lista de archivos. En el caso de un archivo «disponible», también se elimina el archivo propiamente dicho, por lo que ya no estará disponible para su descarga. En el caso de un archivo «eliminado», el archivo permanece eliminado.

Parámetros

$archiveId : cadena : El ID del archivo que deseas eliminar.

Etiquetas

lanza : ArchiveException

There archive status is not "available", "updated",
or "deleted".
Valores de retorno

bool —

Devuelve «true» si la operación se realiza correctamente.

dial()

Inicia una llamada SIP saliente.

public dial(string $sessionId, string $token, string $sipUri[, array<string|int, mixed> $options = [] ]) : SipCall

Para más información, consulte el Interconexión SIP de OpenTok Guía para desarrolladores.

Parámetros

$sessionId : string : El ID de la sesión de OpenTok a la que se unirá el participante al que se está llamando.

$token : cadena : El token de OpenTok que se utilizará para el participante al que se llama. Puedes añadir datos al token para identificar que el participante se encuentra en un terminal SIP o para otros datos de identificación, como números de teléfono. Genera un token utilizando el OpenTok::generateToken() o Session::generateToken() método.

$sipUri : cadena : El URI SIP que se utilizará como destino de la llamada SIP iniciada desde OpenTok hacia la plataforma SIP de terceros.

If the URI contains a transport=tlsheader, the negotiation between TokBox and
the SIP endpoint will be done securely. Note that this will only apply to the negotiation
itself, and not to the transmission of audio. To have audio transmission be encrypted,
see the "secure" property of the `options` parameter.

This is an example of secure call negotiation: "sip:access@thirparty.com;transport=tls".

This is an example of insecure call negotiation: "sip:access@thirparty.com".

$options : array<string|int, mixed> = [] : Este array define las opciones para la llamada SIP. Incluye las siguientes claves, todas ellas opcionales:

- `'headers'` (array) — Headers​: Custom Headers to be added to the
  SIP INVITE request initiated from OpenTok to the Third Party SIP Platform.
- `'auth'` (array) — Auth​: Username and Password to be used in the SIP
  INVITE request for HTTP Digest authentication in case this is required by the Third Party
  SIP Platform.
  - `'username'` (string) — The username to be used
    in the the SIP INVITE​ request for HTTP digest authentication (if one
    is required).
  - `'password'` (string) — The password to be used
    in the the SIP INVITE​ request for HTTP digest authentication.
- `'secure'` (Boolean) — Indicates whether the media
  must be transmitted encrypted (true, the default) or not (false).
- `'observeForceMute'` (Boolean) — Whether the SIP endpoint should honor
  [force mute moderation](https://tokbox.com/developer/guides/moderation/#force_mute)
  (True) or not (False, the default).
- `'from'` (string) — The number or string that will be sent to
  the final SIP number as the caller. It must be a string in the form of
  "from@example.com", where from can be a string or a number. If from is set to a number
  (for example, "14155550101@example.com"), it will show up as the incoming number
  on PSTN phones. If from is undefined or set to a string (for example, "joe@example.com"),
  +00000000 will show up as the incoming number on PSTN phones.
- `'streams'` (array) — The Stream IDs of the participants which will included in the SIP
  call. If not provided, all streams in session will be selected.
Valores de retorno

SipCall

Un objeto contiene el ID de conexión de OpenTok y el ID de transmisión de la conexión de la llamada SIP en la sesión de OpenTok. Puedes utilizar el ID de conexión para finalizar la llamada SIP, mediante el OpenTok::method_forceDisconnect() método.

disableForceMute()

Desactiva el estado de silencio activo de la sesión. Una vez que se llame a este método, las nuevas transmisiones publicadas en la sesión ya no tendrán el audio silenciado.

public disableForceMute(string $sessionId, array<string|int, string> $options) : bool

Después de llamar a la OpenTok->forceMuteAll() método Cualquier transmisión publicada tras la llamada se publicará con el audio silenciado. Llama al método `disableForceMute()` para eliminar el estado de silencio de una sesión, de modo que las nuevas transmisiones publicadas no se silencien automáticamente.

Parámetros

$sessionId : cadena : El ID de sesión de OpenTok.

$options : array<string|int, string> : Este array define las opciones e incluye las siguientes claves:

- `'excludedStreams'` (array, optional) — An array of stream IDs
  corresponding to streams that should not be muted. This is an optional property.
  If you omit this property, all streams in the session will be muted.
Valores de retorno

bool —

Si la llamada se ha realizado con éxito o ha fallado.

forceDisconnect()

Desconecta a un cliente concreto de una sesión de OpenTok.

public forceDisconnect(string $sessionId, string $connectionId) : mixed

Parámetros

$sessionId : cadena : El identificador de sesión de OpenTok al que está conectado el cliente.

$connectionId : cadena : El identificador de la conexión de la sesión.

Valores de retorno

mixto —

forceMuteAll()

Forzar a todas las transmisiones (excepto a una lista opcional de transmisiones) de una sesión de OpenTok a silenciar el audio publicado.

public forceMuteAll(string $sessionId, array<string|int, string> $options) : bool

Además de las transmisiones existentes, cualquier transmisión que se publique tras la llamada a este método se publicará con el audio silenciado. Puedes desactivar el estado de silencio de una sesión OpenTok->disableForceMute() método.

Consulta también el OpenTok->forceMuteStream() método.

Parámetros

$sessionId : cadena : El ID de sesión de OpenTok.

$options : array<string|int, string> : Este array define las opciones e incluye las siguientes claves:

- `'excludedStreams'` (array, optional) — An array of stream IDs
  corresponding to streams that should not be muted. This is an optional property.
  If you omit this property, all streams in the session will be muted.
Valores de retorno

bool —

Si la llamada se ha realizado con éxito o ha fallado.

forceMuteStream()

Obligar al emisor de una retransmisión concreta a silenciar el audio que está emitiendo.

public forceMuteStream(string $sessionId, string $streamId) : bool

Consulta también el OpenTok->forceMuteAll() método.

Parámetros

$sessionId : cadena : El identificador de sesión de OpenTok que contiene la transmisión.

$streamId : cadena : El identificador de la transmisión.

Valores de retorno

bool —

Si la llamada se ha realizado con éxito o ha fallado.

generateToken()

Crea un token para conectarse a una sesión de OpenTok.

public generateToken(string $sessionId[, array<string|int, mixed> $payload = array() ][, bool $legacy = false ]) : string

Para autenticar a un usuario que se conecta a una sesión de OpenTok, el cliente envía un token al conectarse a la sesión.

Para realizar las pruebas, puedes generar tokens o iniciar sesión en tu Account de la Video API de OpenTok.

Parámetros

$sessionId : cadena : El identificador de sesión correspondiente a la sesión a la que el usuario se conectará.

$payload : array<string|int, mixed> = array() : Este array define las opciones del token. Este array incluye las siguientes claves, todas ellas opcionales:

- `'role'` (string) — One of the constants defined in the RoleConstants
  class. The default role is publisher
- `'expireTime'` (int) — The timestamp for when the token expires,
  in milliseconds since the Unix epoch. The default expiration time is 24 hours
  after the token creation time. The maximum expiration time is 30 days after the
  token creation time.
- `'data'` (string) — A string containing connection metadata
  describing the end-user. For example, you can pass the user ID, name, or other data
  describing the end-user. The length of the string is limited to 1000 characters.
  This data cannot be updated once it is set.
- `initialLayoutClassList` (array) — An array of class names (strings)
  to be used as the initial layout classes for streams published by the client. Layout
  classes are used in customizing the layout of videos in
  [live streaming
  broadcasts](https://tokbox.com/developer/guides/broadcast/live-streaming/) and
  [composed
  archives](https://tokbox.com/developer/guides/archiving/layout-control.html).

$legacy : bool = false : Los tokens de conexión son ahora JWT firmados con SHA-256. Establece este valor en true para crear un token utilizando el formato T1 heredado.

Valores de retorno

cadena —

La cadena del token.

getArchive()

Obtiene un objeto «Archive» correspondiente al ID de archivo indicado.

public getArchive(string $archiveId) : Archive

Parámetros

$archiveId : cadena : El identificador del archivo.

Etiquetas

lanza : ArchiveException

There is no archive with the specified ID.

lanza : InvalidArgumentException

The archive ID provided is null or an empty string.
Valores de retorno

Archivo

El objeto «Archive».

getBroadcast()

Obtiene información sobre una retransmisión de OpenTok.

public getBroadcast(string $broadcastId) : Broadcast

Parámetros

$broadcastId : cadena : El ID de la emisión.

Valores de retorno

Emisión

Un objeto cuyas propiedades definen la emisión.

getRender()

Recupera una representación existente para ver el estado. El estado puede ser uno de los siguientes: <UL> <LI><CODE>iniciando</CODE> — La plataforma Vonage Video API está conectándose a la aplicación remota en la URL proporcionada. Este es el estado inicial.</LI> <LI><CODE>iniciado</CODE> — La plataforma de la Video API de Vonage se ha conectado correctamente al servidor de la aplicación remota y está volviendo a publicar ese contenido multimedia en la Video API de Vonage.</LI> <LI><CODE>detener</CODE> — La reproducción se ha detenido.</LI> <LI><CODE>fallo</CODE> — Se ha producido un error y el proceso de renderizado no ha podido continuar. Puede ocurrir durante el inicio si el servidor de Opentok no puede conectarse al servidor de la aplicación remota o volver a publicar la transmisión. También puede ocurrir en cualquier momento durante el proceso de renderizado debido a algún error en la plataforma de la Video API de Vonage.</LI> </UL>

public getRender( $renderId) : Render

Parámetros

$renderId :

Valores de retorno

Render

getStream()

Obtiene un objeto Stream, que proporciona información sobre un flujo determinado.

public getStream(string $sessionId, string $streamId) : Stream

Parámetros

$sessionId : cadena : El ID de la sesión de OpenTok que contiene la transmisión.

$streamId : cadena : El identificador de la transmisión.

Valores de retorno

Transmisión

El objeto Stream.

listArchives()

Devuelve una lista de archivos de una sesión.

public listArchives(int $offset[, int $count = null ][, string $sessionId = null ]) : ArchiveList

El items() El método de este objeto devuelve una lista de archivos finalizados y en curso, correspondientes a tu clave API.

Parámetros

$offset : int : Opcional. El desplazamiento del índice del primer archivo. 0 es el desplazamiento del archivo iniciado más recientemente. 1 es el desplazamiento del archivo que se inició antes que el archivo más reciente. Si no se especifica ningún desplazamiento, se utiliza 0.

$count : int = null : Opcional. El número de archivos que se van a devolver. El número máximo de archivos que se devuelven es 1000.

$sessionId : string = null : Opcional. El identificador de sesión de OpenTok para el que deseas recuperar los archivos. Si no se especifica ningún identificador de sesión, el método devolverá los archivos de todas las sesiones creadas con la clave API.

Valores de retorno

Lista de archivos

Un objeto ArchiveList. Llama al método items() del objeto ArchiveList para obtener una matriz de objetos Archive.

listRenders()

Devuelve una lista de renderizadores de Experience Composer para un proyecto de OpenTok.

public listRenders(int $offset[, int $count = 50 ]) : mixed

Parámetros

$offset : int

$count : int = 50

Valores de retorno

mixto —

listStreams()

Devuelve un objeto StreamList correspondiente al ID de sesión indicado.

public listStreams(string $sessionId) : StreamList

Parámetros

$sessionId : cadena : El identificador de sesión.

Valores de retorno

Lista de reproducción

Un objeto StreamList. Llama al método items() del objeto StreamList para obtener una matriz de objetos Stream.

playDTMF()

Reproduce una secuencia DTMF en una sesión o en una conexión específica

public playDTMF(string $sessionId, string $digits[, string $connectionId = null ]) : void

Parámetros

$sessionId : string : El ID de la sesión de OpenTok a la que se unirá el participante al que se está llamando.

$digits : cadena : Dígitos DTMF que se van a reproducir Los dígitos DTMF válidos son los números del 0 al 9, «p», «#» y «*». La letra «p» representa una pausa de 500 ms en caso de que se necesite un retraso durante el proceso de entrada.

$connectionId : string = null : Parámetro opcional que se utiliza para enviar los tonos DTMF a una conexión específica dentro de una sesión.

Valores de retorno

void —

setArchiveLayout()

Actualiza la disposición de la transmisión en un archivo de OpenTok.

public setArchiveLayout(string $archiveId, Layout $layoutType) : void

Parámetros

$archiveId: cadena

$layoutType : Diseño

Valores de retorno

void —

setStreamClassLists()

Establece la lista de clases de diseño para los flujos de una sesión.

public setStreamClassLists(string $sessionId[, array<string|int, mixed> $classListArray = array() ]) : mixed

Las clases de diseño se utilizan en el diseño de archivos compuestos y retransmisiones en directo. Para obtener más información, consulta Personalización del diseño de vídeo para los archivos compuestos y Configuración del diseño de vídeo para las retransmisiones en directo de OpenTok.

Parámetros

$sessionId : cadena : El identificador de la sesión a la que pertenecen las transmisiones.

$classListArray : array<string|int, mixed> = array() : El «connectionId» de la conexión en una sesión.

Valores de retorno

mixto —

signal()

Envía una señal a los clientes (o a un cliente concreto) conectados a una sesión de OpenTok.

public signal(string $sessionId, array<string|int, mixed> $payload[, string $connectionId = null ]) : mixed

Parámetros

$sessionId : cadena : El ID de sesión de OpenTok al que se enviará la señal.

$payload : array<string|int, mixed> : Este array define la carga útil de la señal. Este array incluye las siguientes claves, cuyo tipo es opcional:

- `'data'` (string) — The data string for the signal. You can send a maximum of 8kB.
- `'type'` (string) — (Optional) The type string for the signal. You can send a maximum of 128 characters, and only the following characters are allowed: A-Z, a-z, numbers (0-9), '-', '\_', and '~'.

$connectionId : string = null : Parámetro opcional que se utiliza para enviar la señal a una conexión específica dentro de una sesión.

Valores de retorno

mixto —

startArchive()

Inicia el archivado de una sesión de OpenTok.

public startArchive(string $sessionId[, array<string|int, mixed> $options = [] ]) : Archive

Los clientes deben estar conectados activamente a la sesión de OpenTok para que puedas iniciar correctamente la grabación de un archivo.

Solo puedes grabar un archivo a la vez para una sesión determinada. Solo puedes grabar archivos de sesiones que utilicen el OpenTok Media Router (sesiones con el modo multimedia (configurado en «routed»); no se pueden archivar sesiones cuyo modo de transmisión esté configurado en «relayed».

Para obtener más información sobre el archivado, consulta el Archivado de OpenTok programación guía.

Parámetros

$sessionId : cadena : El ID de la sesión de OpenTok que se va a archivar.

$options : array<string|int, mixed> = [] : (Opcional) Este array define las opciones del archivo. El array incluye las siguientes claves (todas ellas opcionales):

- `'name'` (String) — The name of the archive. You can use this name to
  identify the archive. It is a property of the Archive object, and it is a property of
  archive-related events in the OpenTok client SDKs.
- `'hasVideo'` (Boolean) — Whether the archive will record video
  (true, the default) or not (false). If you set both `hasAudio` and
  `hasVideo` to false, the call to the `startArchive()` method results
  in an error.
- `'streamMode'` (String) — Whether streams included in the archive are
  selected automatically (`StreamMode.AUTO`, the default) or manually
  (`StreamMode.MANUAL`). When streams are selected automatically
  (`StreamMode.AUTO`), all streams in the session can be included in the archive.
  When streams are selected manually (`StreamMode.MANUAL`), you specify streams
  to be included based on calls to the `Archive.addStreamToArchive()` and
  `Archive.removeStreamFromArchive()`. methods. With manual mode, you can specify
  whether a stream's audio, video, or both are included in the archive. In both automatic and
  manual modes, the archive composer includes streams based on
  [stream
  prioritization rules](https://tokbox.com/developer/guides/archive-broadcast-layout/#stream-prioritization-rules).
- `'hasAudio'` (Boolean) — Whether the archive will record audio
  (true, the default) or not (false). If you set both `hasAudio` and
  `hasVideo` to false, the call to the `startArchive()` method results
  in an error.
- `'multiArchiveTag'` (String) (Optional) — Set this to support recording multiple archives
  for the same session simultaneously. Set this to a unique string for each simultaneous archive of an ongoing
  session. You must also set this option when manually starting an archive
  that is {https://tokbox.com/developer/guides/archiving/#automatic automatically archived}.
  Note that the `multiArchiveTag` value is not included in the response for the methods to
  {https://tokbox.com/developer/rest/#listing\_archives list archives} and
  {https://tokbox.com/developer/rest/#retrieve\_archive\_info retrieve archive information}.
  If you do not specify a unique `multiArchiveTag`, you can only record one archive at a time for a given session.
  {https://tokbox.com/developer/guides/archiving/#simultaneous-archives See Simultaneous archives}.
- `'outputMode'` (OutputMode) — Whether all streams in the
  archive are recorded to a single file (`OutputMode::COMPOSED`, the default)
  or to individual files (`OutputMode::INDIVIDUAL`).
- `'resolution'` (String) — The resolution of the archive, either "640x480" (SD landscape,
  the default), "1280x720" (HD landscape), "1920x1080" (FHD landscape), "480x640" (SD portrait), "720x1280"
  (HD portrait), or "1080x1920" (FHD portrait). This property only applies to composed archives. If you set
  this property and set the outputMode property to "individual", a call to the method
  results in an error.
Valores de retorno

Archivo

El objeto «Archive», que incluye propiedades que definen el archivo, entre ellas el identificador del archivo.

startBroadcast()

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

public startBroadcast(string $sessionId[, array<string|int, mixed> $options = [] ]) : Broadcast

Parámetros

$sessionId : cadena : El ID de la sesión que se va a retransmitir.

$options : array<string|int, mixed> = [] : (Opcional) Una matriz con opciones para la emisión. Esta matriz tiene las siguientes propiedades:

- `layout` (Layout) — (Optional) An object defining the initial
  layout type of the broadcast. If you do not specify an initial layout type,
  the broadcast stream uses the Best Fit layout type. For more information, see
  [Configuring
  Video Layout for the OpenTok live streaming feature](https://tokbox.com/developer/guides/broadcast/live-streaming/#configuring-live-streaming-video-layout).
- `streamMode` (String) — Whether streams included in the broadcast
  are selected automatically (`StreamMode.AUTO`, the default) or manually
  (`StreamMode.MANUAL`). When streams are selected automatically
  (`StreamMode.AUTO`), all streams in the session can be included in the broadcast.
  When streams are selected manually (`StreamMode.MANUAL`), you specify streams
  to be included based on calls to the `Broadcast.addStreamToBroadcast()` and
  `Broadcast.removeStreamFromBroadcast()` methods. With manual mode, you can specify
  whether a stream's audio, video, or both are included in the broadcast. In both automatic and
  manual modes, the broadcast composer includes streams based on
  [stream
  prioritization rules](https://tokbox.com/developer/guides/archive-broadcast-layout/#stream-prioritization-rules).
- `multiBroadcastTag` (String) (Optional) — Set this to support multiple broadcasts for
  the same session simultaneously. Set this to a unique string for each simultaneous broadcast of an ongoing session.
  Note that the `multiBroadcastTag` value is \*not\* included in the response for the methods to
  {https://tokbox.com/developer/rest/#list\_broadcasts list live streaming broadcasts} and
  {https://tokbox.com/developer/rest/#get\_info\_broadcast get information about a live streaming broadcast}.
  {https://tokbox.com/developer/guides/broadcast/live-streaming#simultaneous-broadcasts See Simultaneous broadcasts}.
- `resolution` — The resolution of the broadcast: either "640x480" (SD landscape, the default), "1280x720" (HD landscape),
  "1920x1080" (FHD landscape), "480x640" (SD portrait), "720x1280" (HD portrait), or "1080x1920"
  (FHD portrait).
- `maxBitRate` — Max Bitrate allowed for the broadcast composing. Must be between
  400000 and 2000000.
- `outputs` (Array) —
  Defines the HLS broadcast and RTMP streams. You can provide the following keys:
  - `hls` (Array) — available with the following options:
    - `'dvr'` (Bool) — Whether to enable
      [DVR functionality](https://tokbox.com/developer/guides/broadcast/live-streaming/#dvr)
      — rewinding, pausing, and resuming — in players that support it (`true`),
      or not (`false`, the default). With DVR enabled, the HLS URL will include
      a ?DVR query string appended to the end.
    - `'lowLatency'` (Bool) — Whether to enable
      [low-latency mode](https://tokbox.com/developer/guides/broadcast/live-streaming/#low-latency)
      for the HLS stream. Some HLS players do not support low-latency mode. This feature
      is incompatible with DVR mode HLS broadcasts.
  - `rtmp` (Array) — An array of arrays defining RTMP streams to broadcast. You
    can specify up to five target RTMP streams. Each RTMP stream array has the following keys:
    - `id` (String) — The stream ID (optional)
    - `serverUrl` (String) — The RTMP server URL
    - `streamName` (String) — The stream name, such as
      the YouTube Live stream name or the Facebook stream key
Valores de retorno

Emisión

Un objeto cuyas propiedades definen la emisión.

startCaptions()

Utiliza este método para activar los subtítulos en tiempo real en una sesión de OpenTok.

public startCaptions(string $sessionId, string $token[, string $languageCode = null ][, int $maxDuration = null ][, bool $partialCaptions = null ][, string $statusCallbackUrl = null ]) : array<string|int, mixed>

La duración máxima permitida es de 4 horas; transcurrido ese tiempo, los subtítulos de audio se detendrán sin que ello afecte a la sesión de OpenTok en curso. Se enviará un evento a tu URL de devolución de llamada, si se ha facilitado al iniciar los subtítulos.

Cada sesión de OpenTok solo admite una sesión de subtitulado de audio.

Para obtener más información sobre la función «Subtítulos en directo», consulta la guía para desarrolladores de «Subtítulos en directo».

Parámetros

$sessionId : string : El ID de la sesión de OpenTok. El audio de los emisores que transmiten a esta sesión se utilizará para generar los subtítulos.

$token : cadena : Un token válido de OpenTok con el rol establecido como «Moderador».

$languageCode : cadena = null : (Opcional) El código BCP-47 de la lengua hablada utilizada en esta llamada. El valor por defecto es «en-US». Se admiten los siguientes códigos de idioma: «en-AU» (inglés, Australia), «en-GB» (inglés, Reino Unido), «en-US» (inglés, EE. UU.), «es-US» (español, EE. UU.), «zh-CN» (chino simplificado), «fr-FR» (francés), «fr-CA» (francés, Canadá), «de-DE» (alemán), «hi-IN» (hindi, India), «it-IT» (italiano), «ja-JP» (japonés), «ko-KR» (coreano), «pt-BR» (portugués, de Brasil), «th-TH» (tailandés).

$maxDuration : int = null : (Opcional) La duración máxima de los subtítulos de audio, en segundos. El valor por defecto es 14 400 segundos (4 horas), que es la duración máxima permitida.

$partialCaptions : bool = null : (Opcional) Indica si se debe habilitar esta opción para acelerar la generación de subtítulos a costa de un cierto grado de imprecisión. El valor por defecto es «true».

$statusCallbackUrl : string = null : (Opcional) Una URL de acceso público gestionada por el cliente y capaz de generar el contenido que se va a mostrar sin intervención del usuario. La longitud mínima de la URL es de 15 caracteres y la máxima, de 2048 caracteres. Para obtener más información, consulte Actualizaciones sobre el estado de los subtítulos en directo.

Valores de retorno

array<string|int, mixed> —

startRender()

Inicia un renderizador de Experience Composer para una sesión de OpenTok.

public startRender( $sessionId,  $token,  $url,  $maxDuration,  $resolution,  $properties) : Render

Para más información, consulte el Experience Composer Guía para desarrolladores.

Parámetros

$sessionId : : (cadena de caracteres) El ID de la sesión de OpenTok que incluirá la transmisión de Experience Composer.

$token : : (cadena de caracteres) Un token válido de OpenTok con el rol de «Publisher» y (opcionalmente) los datos de conexión que se asociarán a la transmisión de salida.

$url : : (cadena de caracteres) Una URL de acceso público gestionada por el cliente y capaz de generar el contenido que se va a mostrar sin intervención del usuario. La longitud mínima de la URL es de 15 caracteres y la máxima, de 2048 caracteres.

$maxDuration : : (int) (opcional) El tiempo máximo permitido para el Experience Composer, en segundos. Transcurrido este tiempo, se detendrá automáticamente si aún se está ejecutando. El valor máximo es 36 000 (10 horas), el mínimo es 60 (1 minuto) y el valor por defecto es 7 200 (2 horas). Cuando finaliza el Experience Composer, su transmisión se retira de la publicación y se envía un evento a la URL de devolución de llamada, si se ha configurado en el Portal de la cuenta.

$resolution : : (cadena de caracteres) (opcional) La resolución del Experience Composer, que puede ser «640x480» (SD horizontal), «480x640» (SD vertical), «1280x720» (HD horizontal), «720x1280» (HD vertical), «1920x1080» (FHD horizontal) o «1080x1920» (FHD vertical). Por defecto, esta resolución es «1280x720» (HD horizontal, el valor predeterminado).

$properties : : (matriz) (opcional) La configuración inicial de las propiedades del Publisher para el flujo de salida compuesto.

- `name` (String) (optional) — Serves as the name of the composed output stream which is published to the session. The name must have a minimum length of 1 and
  a maximum length of 200.
Valores de retorno

Render

El objeto de renderizado, que incluye propiedades que definen el renderizado, entre ellas el identificador del renderizado.

stopArchive()

Detiene una grabación de OpenTok que se está realizando.

public stopArchive(string $archiveId) : Archive

Los archivos dejan de grabarse automáticamente tras 120 minutos o cuando todos los clientes se han desconectado de la sesión que se está archivando.

Parámetros

$archiveId : cadena : El ID del archivo del que quieres detener la grabación.

Valores de retorno

Archivo

El objeto «Archive» correspondiente al archivo que se está deteniendo.

stopBroadcast()

Detiene una emisión.

public stopBroadcast(string $broadcastId) : Broadcast

Parámetros

$broadcastId : cadena : El ID de la emisión.

Valores de retorno

Emisión

stopCaptions()

Utiliza este método para desactivar los subtítulos en directo de una sesión.

public stopCaptions(string $captionsId) : mixed

Parámetros

$captionsId: cadena

Valores de retorno

mixto —

stopRender()

Detiene un renderizado en curso.

public stopRender( $renderId) : mixed

Parámetros

$renderId :

Valores de retorno

mixto —

updateBroadcastLayout()

Actualiza el diseño de la emisión.

public updateBroadcastLayout(string $broadcastId, Layout $layout) : void

Véase Configuración del diseño de vídeo para las retransmisiones en directo de OpenTok.

Parámetros

$broadcastId : cadena : El ID de la emisión.

$layout : Diseño : Un objeto que define el tipo de disposición de la emisión.

Valores de retorno

void —

updateStream()

Establece la lista de clases de diseño para un flujo.

public updateStream(string $sessionId, string $streamId[, array<string|int, mixed> $properties = array() ]) : mixed

Las clases de diseño se utilizan en el diseño de los archivos compuestos y las retransmisiones en directo.

Para obtener más información, consulta Personalización del diseño de vídeo para los archivos compuestos y Configuración del diseño de vídeo para las retransmisiones en directo de OpenTok.

Puedes configurar la lista inicial de clases de diseño para las transmisiones publicadas por un cliente al generar el token que utiliza el cliente para conectarse a la sesión. Consulta la OpenTok::generateToken() método.

Parámetros

$sessionId : cadena : El identificador de la sesión a la que pertenece la transmisión.

$streamId : cadena : El identificador de la transmisión.

$properties : array<string|int, mixed> = array() : Un array que contiene una propiedad: $layoutClassList. Esta propiedad es una matriz de nombres de clases (cadenas de caracteres) que se aplicarán al flujo. Establece $layoutClassList a un array vacío para borrar la lista de clases de diseño de un flujo. Por ejemplo, este código configura el flujo para que utilice dos clases:

```

$streamProperties = array(
  '$layoutClassList' => array('bottom', 'right')
);
$opentok->updateStream($sessionId, $streamId, $streamProperties);
```
Valores de retorno

mixto —

returnLegacyToken()

private returnLegacyToken(string $sessionId[, array<string|int, mixed> $options = [] ]) : string

Parámetros

$sessionId: cadena

$options : array<string|int, mixed> = []

Valores de retorno

cadena —