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
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
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
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 —