OpenTok
Contém métodos para criar sessões do OpenTok, gerar tokens e trabalhar com arquivos.
Para criar um novo objeto OpenTok, chame o construtor OpenTok() com sua chave da API do OpenTok e o segredo da API do seu Account da Video API da OpenTok. Não divulgue publicamente seu segredo da API. Você o utilizará com o construtor OpenTok() (apenas no seu servidor web ) para criar sessões do OpenTok.
Se você definir `api_key` como um `VONAGE_APPLICATION_ID` e `api_secret` como um `VONAGE_PRIVATE_KEY_PATH`, o SDK fará a chamada ao Vonage Video usando o Vonage Auth.
Certifique-se de incluir todo o SDK do servidor OpenTok no seu servidor web.
Índice
$vonage : bool
connectAudio() : array<string|int, mixed> : Inicia um Conector de áudio Conexão WebSocket. Para enviar áudio de uma sessão da Video API da Vonage para um WebSocket.
createSession() : Sessão : Cria uma nova sessão do OpenTok e retorna o ID da sessão, que identifica de forma exclusiva a sessão.
deleteArchive() : bool : Exclui um arquivo do OpenTok.
dial() : SipCall : Inicia uma chamada SIP de saída.
disableForceMute() : bool : Desativa o estado de mudo ativo da sessão. Após chamar este método, os novos streams publicados na sessão não terão mais o áudio silenciado.
forceDisconnect() : misto : Desconecta um cliente específico de uma sessão do OpenTok.
forceMuteAll() : bool : Força todos os streams (exceto uma lista opcional de streams) em uma sessão do OpenTok a silenciar o áudio publicado.
forceMuteStream() : bool : Obriga o emissor de um stream específico a silenciar o áudio publicado.
generateToken() : string : Cria um token para se conectar a uma sessão do OpenTok.
getArchive() : Arquivo : Obtém um objeto Archive para o ID de arquivo fornecido.
getBroadcast() : Transmissão : Obtém informações sobre uma transmissão do OpenTok.
getRender() : Renderizar : Obter uma renderização existente para visualizar o status. O status pode ser um dos seguintes: <UL> <LI><CODE>iniciando</CODE> — A plataforma da Video API da Vonage está se conectando ao aplicativo remoto no URL fornecido. Este é o estado inicial.</LI> <LI><CODE>iniciado</CODE> — A plataforma da Video API da Vonage conectou-se com sucesso ao servidor do aplicativo remoto e está republicando essa mídia na plataforma da Video API da Vonage.</LI> <LI><CODE>parado</CODE> — A renderização foi interrompida.</LI> <LI><CODE>falha</CODE> — Ocorreu um erro e a renderização não pôde prosseguir. Isso pode ocorrer na inicialização se o servidor Opentok não conseguir se conectar ao servidor do aplicativo remoto ou republicar o stream. Também pode ocorrer em algum momento durante o processo de renderização devido a algum erro na plataforma da Video API da Vonage.</LI> </ul>
getStream() : Transmissão : Obtém um objeto Stream, fornecendo informações sobre um determinado fluxo.
listArchives() : Lista de arquivos : Retorna uma lista de arquivos de uma sessão.
listRenders() : misto : Retorna uma lista de renderizadores do Experience Composer para um projeto do OpenTok.
listStreams() : Lista de transmissões : Retorna um objeto StreamList para o ID de sessão fornecido.
playDTMF() : void : Reproduz uma sequência DTMF em uma sessão ou em uma conexão específica
setArchiveLayout() : void : Atualiza o layout do stream em um arquivo do OpenTok.
setStreamClassLists() : misto : Define a lista de classes de layout para fluxos em uma sessão.
signal() : misto : Envia um sinal aos clientes (ou a um cliente específico) conectados a uma sessão do OpenTok.
startArchive() : Arquivo : Inicia o arquivamento de uma sessão do OpenTok.
startBroadcast() : Transmissão : Inicia uma transmissão ao vivo de uma sessão do OpenTok.
startCaptions() : array<string|int, mixed> : Use este método para iniciar as legendas em tempo real (Live Captions) em uma sessão do OpenTok.
startRender() : Renderizar : Inicia um renderizador do Experience Composer para uma sessão do OpenTok.
stopArchive() : Arquivo : Interrompe um arquivo do OpenTok que está sendo gravado.
stopBroadcast() : Transmissão : Interrompe uma transmissão.
stopCaptions() : misto : Use este método para interromper as legendas em tempo real de uma sessão.
stopRender() : misto : Interrompe uma renderização em andamento.
updateBroadcastLayout() : void : Atualiza o layout da transmissão.
updateStream() : misto : Define a lista de classes de layout para um fluxo.
returnLegacyToken() : string
Propriedades
$vonage
private bool $vonage = false
Sobrescrever para determinar se as solicitações devem passar pelos servidores da Vonage com a autenticação da Vonage (Vonage Auth)
Métodos
connectAudio()
Inicia um Conector de áudio Conexão WebSocket. Para enviar áudio de uma sessão da Video API da Vonage para um WebSocket.
public connectAudio(string $sessionId, string $token, array<string|int, mixed> $websocketOptions) : array<string|int, mixed>
Parâmetros
$sessionId : string : O ID da sessão.
$token : string : O token do OpenTok a ser usado pelo Conector de Áudio para a sessão do OpenTok. É possível adicionar dados ao token para identificar que a conexão é o ponto de extremidade do Conector de Áudio ou para outros dados de identificação.
$websocketOptions : array<string|int, mixed> : Configuração do WebSocket. Contém as seguintes chaves:
- `'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 Resposta da API, estruturada da seguinte forma:
'id'(string) — Um ID exclusivo que identifica o Audio Connector WebSocket.'connectionId'(string) — ID de conexão do cliente Opentok que foi criado. Essa conexão irá assinar e encaminhar os fluxos definidos na carga útil para o WebSocket; assim como qualquer outro participante, ela gerará um evento `connectionCreated` na sessão.
createSession()
Cria uma nova sessão do OpenTok e retorna o ID da sessão, que identifica de forma exclusiva a sessão.
public createSession([array<string|int, mixed> $options = array() ]) : Session
Por exemplo, ao usar a biblioteca JavaScript do OpenTok, utilize o ID da sessão ao chamar o OT.initSession() método (para inicializar uma sessão do OpenTok).
As sessões do OpenTok não expiram. No entanto, os tokens de autenticação expiram (consulte o método generateToken()). Observe também que as sessões não podem ser encerradas explicitamente.
Uma sequência de caracteres de ID de sessão pode ter até 255 caracteres.
A chamada a este método gera uma exceção OpenTokException caso ocorra um erro. Verifique a mensagem de erro para obter mais detalhes.
Você também pode criar uma sessão fazendo login na sua Account da Video API da OpenTok.
Parâmetros
$options : array<string|int, mixed> = array() : (Opcional) Este array define as opções para a sessão. O array inclui as seguintes chaves (todas opcionais):
- `'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
Sessão —
Um objeto Session que representa a nova sessão. Chame o
getSessionId() método deste objeto para obter o ID da sessão. Por exemplo,
ao usar a biblioteca OpenTok.js, utilize esse ID de sessão ao chamar o
OT.initSession() método.
deleteArchive()
Exclui um arquivo do OpenTok.
public deleteArchive(string $archiveId) : bool
Você só pode excluir um arquivo que tenha o status “disponível”, “enviado” ou “excluído”. A exclusão de um arquivo remove seu registro da lista de arquivos. No caso de um arquivo “disponível”, também remove o arquivo em si, tornando-o indisponível para download. No caso de um arquivo “excluído”, o arquivo permanece excluído.
Parâmetros
$archiveId : string : O ID do arquivo que você deseja excluir.
Tags
lança : ArchiveException
There archive status is not "available", "updated",
or "deleted".
Valores de retorno
bool —
Retorna `true` em caso de sucesso.
dial()
Inicia uma chamada SIP de saída.
public dial(string $sessionId, string $token, string $sipUri[, array<string|int, mixed> $options = [] ]) : SipCall
Para obter mais informações, consulte o Interconexão SIP do OpenTok guia do desenvolvedor.
Parâmetros
$sessionId : string : O ID da sessão do OpenTok à qual o participante que está sendo chamado vai ingressar.
$token : string : O token do OpenTok a ser usado para o participante que está sendo chamado. É possível adicionar dados ao token para identificar se o participante está em um terminal SIP ou para outros dados de identificação, como números de telefone. Gere um token usando o OpenTok::generateToken() ou Session::generateToken() método.
$sipUri : string : O URI SIP a ser usado como destino da chamada SIP iniciada pelo OpenTok para a plataforma SIP de terceiros.
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> = [] : Esse array define as opções para a chamada SIP. Ele inclui as seguintes chaves, todas opcionais:
- `'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 —
Um objeto contém o ID de conexão do OpenTok e o ID de stream da conexão da chamada SIP na sessão do OpenTok. Você pode usar o ID de conexão para encerrar a chamada SIP, utilizando o OpenTok::method_forceDisconnect() método.
disableForceMute()
Desativa o estado de mudo ativo da sessão. Após chamar esse método, os novos streams publicados na sessão não terão mais o áudio silenciado.
public disableForceMute(string $sessionId, array<string|int, string> $options) : bool
Depois de chamar a OpenTok->forceMuteAll() método quaisquer transmissões publicadas após a chamada serão publicadas com o áudio silenciado. Chame o método disableForceMute() para remover o estado de silenciamento de uma sessão, de modo que as novas transmissões publicadas não sejam automaticamente silenciadas.
Parâmetros
$sessionId : string : O ID da sessão do OpenTok.
$options : array<string|int, string> : Esse array define opções e inclui as seguintes chaves:
- `'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 —
Se a chamada foi bem-sucedida ou falhou.
forceDisconnect()
Desconecta um cliente específico de uma sessão do OpenTok.
public forceDisconnect(string $sessionId, string $connectionId) : mixed
Parâmetros
$sessionId : string : O ID da sessão do OpenTok à qual o cliente está conectado.
$connectionId : string : O ID da conexão na sessão.
Valores de retorno
misto —
forceMuteAll()
Forçar todos os streams (exceto uma lista opcional de streams) em uma sessão do OpenTok a silenciar o áudio publicado.
public forceMuteAll(string $sessionId, array<string|int, string> $options) : bool
Além das transmissões existentes, todas as transmissões publicadas após a chamada a este método são publicadas com o áudio silenciado. É possível desativar o silenciamento de uma sessão OpenTok->disableForceMute() método.
Veja também o OpenTok->forceMuteStream() método.
Parâmetros
$sessionId : string : O ID da sessão do OpenTok.
$options : array<string|int, string> : Esse array define opções e inclui as seguintes chaves:
- `'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 —
Se a chamada foi bem-sucedida ou falhou.
forceMuteStream()
Forçar o emissor de uma transmissão específica a silenciar o áudio publicado.
public forceMuteStream(string $sessionId, string $streamId) : bool
Veja também o OpenTok->forceMuteAll() método.
Parâmetros
$sessionId : string : O ID da sessão do OpenTok que contém a transmissão.
$streamId : string : O ID do stream.
Valores de retorno
bool —
Se a chamada foi bem-sucedida ou falhou.
generateToken()
Cria um token para se conectar a uma sessão do OpenTok.
public generateToken(string $sessionId[, array<string|int, mixed> $payload = array() ][, bool $legacy = false ]) : string
Para autenticar um usuário que se conecta a uma sessão do OpenTok, o cliente envia um token ao se conectar à sessão.
Para realizar os testes, você gera tokens ou faz login na sua Account da Video API da OpenTok.
Parâmetros
$sessionId : string : O ID da sessão correspondente à sessão à qual o usuário se conectará.
$payload : array<string|int, mixed> = array() : Esse array define as opções para o token. Ele inclui as seguintes chaves, todas opcionais:
- `'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
: Os tokens de conexão agora são JWTs assinados com SHA-256.
Defina este parâmetro como true para criar um token usando o formato T1 antigo.
Valores de retorno
string —
A string do token.
getArchive()
Obtém um objeto Archive para o ID de arquivo fornecido.
public getArchive(string $archiveId) : Archive
Parâmetros
$archiveId : string : O ID do arquivo.
Tags
lança : ArchiveException
There is no archive with the specified ID.
lança : InvalidArgumentException
The archive ID provided is null or an empty string.
Valores de retorno
Arquivo —
O objeto Archive.
getBroadcast()
Obtém informações sobre uma transmissão do OpenTok.
public getBroadcast(string $broadcastId) : Broadcast
Parâmetros
$broadcastId : string : O ID da transmissão.
Valores de retorno
Um objeto com propriedades que definem a transmissão.
getRender()
Recupere uma renderização existente para visualizar o status. O status pode ser um dos seguintes: <UL> <LI><CODE>iniciando</CODE> — A plataforma da Video API da Vonage está se conectando ao aplicativo remoto no URL fornecido. Este é o estado inicial.</LI> <LI><CODE>iniciado</CODE> — A plataforma da Video API da Vonage conectou-se com sucesso ao servidor do aplicativo remoto e está republicando essa mídia na plataforma da Video API da Vonage.</LI> <LI><CODE>parado</CODE> — A renderização foi interrompida.</LI> <LI><CODE>falha</CODE> — Ocorreu um erro e a renderização não pôde prosseguir. Isso pode ocorrer na inicialização se o servidor Opentok não conseguir se conectar ao servidor do aplicativo remoto ou republicar o stream. Também pode ocorrer em algum momento durante o processo de renderização devido a algum erro na plataforma da Video API da Vonage.</LI> </UL>
public getRender( $renderId) : Render
Parâmetros
$renderId :
Valores de retorno
getStream()
Retorna um objeto Stream, fornecendo informações sobre um determinado fluxo.
public getStream(string $sessionId, string $streamId) : Stream
Parâmetros
$sessionId : string : O ID da sessão do OpenTok que contém a transmissão.
$streamId : string : O ID do stream.
Valores de retorno
O objeto Stream.
listArchives()
Retorna uma lista de arquivos de uma sessão.
public listArchives(int $offset[, int $count = null ][, string $sessionId = null ]) : ArchiveList
O items() O método deste objeto retorna uma lista de
arquivos concluídos e em andamento, para a sua chave de API.
Parâmetros
$offset : int : Opcional. O deslocamento do índice do primeiro arquivo. 0 corresponde ao deslocamento do arquivo iniciado mais recentemente. 1 corresponde ao deslocamento do arquivo iniciado antes do arquivo mais recente. Se você não especificar um deslocamento, será usado o valor 0.
$count : int = null : Opcional. O número de arquivos a serem retornados. O número máximo de arquivos retornados é 1.000.
$sessionId : string = null : Opcional. O ID da sessão do OpenTok para a qual você deseja recuperar os arquivos. Se nenhum ID de sessão for especificado, o método retornará os arquivos de todas as sessões criadas com a chave da API.
Valores de retorno
Um objeto ArchiveList. Chame o método items() do objeto ArchiveList para retornar uma matriz de objetos Archive.
listRenders()
Retorna uma lista de renderizadores do Experience Composer para um projeto do OpenTok.
public listRenders(int $offset[, int $count = 50 ]) : mixed
Parâmetros
$offset : int
$count : int = 50
Valores de retorno
misto —
listStreams()
Retorna um objeto StreamList para o ID de sessão fornecido.
public listStreams(string $sessionId) : StreamList
Parâmetros
$sessionId : string : O ID da sessão.
Valores de retorno
Um objeto StreamList. Chame o método items() do objeto StreamList para retornar uma matriz de objetos Stream.
playDTMF()
Reproduz uma sequência DTMF em uma sessão ou em uma conexão específica
public playDTMF(string $sessionId, string $digits[, string $connectionId = null ]) : void
Parâmetros
$sessionId : string : O ID da sessão do OpenTok à qual o participante que está sendo chamado vai ingressar.
$digits : string : Dígitos DTMF a serem reproduzidos Os dígitos DTMF válidos são 0-9, p, # e *. 'p' representa uma pausa de 500 ms, caso seja necessário um atraso durante o processo de entrada.
$connectionId : string = null : Um parâmetro opcional usado para enviar os tons DTMF a uma conexão específica em uma sessão.
Valores de retorno
void —
setArchiveLayout()
Atualiza o layout da transmissão em um arquivo do OpenTok.
public setArchiveLayout(string $archiveId, Layout $layoutType) : void
Parâmetros
$archiveId : string
$layoutType : Layout
Valores de retorno
void —
setStreamClassLists()
Define a lista de classes de layout para fluxos em uma sessão.
public setStreamClassLists(string $sessionId[, array<string|int, mixed> $classListArray = array() ]) : mixed
As classes de layout são utilizadas no layout de arquivos compostos e transmissões ao vivo. Para obter mais informações, consulte Personalização do layout do vídeo para arquivos compostos e Configurando o layout de vídeo para transmissões ao vivo pelo OpenTok.
Parâmetros
$sessionId : string : O ID da sessão à qual os streams pertencem.
$classListArray : array<string|int, mixed> = array() : O connectionId da conexão em uma sessão.
Valores de retorno
misto —
signal()
Envia um sinal aos clientes (ou a um cliente específico) conectados a uma sessão do OpenTok.
public signal(string $sessionId, array<string|int, mixed> $payload[, string $connectionId = null ]) : mixed
Parâmetros
$sessionId : string : O ID da sessão do OpenTok para o qual o sinal será enviado.
$payload : array<string|int, mixed> : Esse array define a carga útil do sinal. Esse array inclui as seguintes chaves, cujo tipo é 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 : Um parâmetro opcional usado para enviar o sinal a uma conexão específica em uma sessão.
Valores de retorno
misto —
startArchive()
Inicia o arquivamento de uma sessão do OpenTok.
public startArchive(string $sessionId[, array<string|int, mixed> $options = [] ]) : Archive
Os clientes devem estar ativamente conectados à sessão do OpenTok para que você consiga iniciar a gravação de um arquivo.
É possível gravar apenas um arquivo por vez para uma determinada sessão. Só é possível gravar arquivos de sessões que utilizem o OpenTok Media Router (sessões com o modo de mídia (definido como “routed”); não é possível arquivar sessões com o modo de mídia definido como “relayed”.
Para obter mais informações sobre arquivamento, consulte o Arquivamento do OpenTok guia de programação.
Parâmetros
$sessionId : string : O ID da sessão do OpenTok a ser arquivada.
$options : array<string|int, mixed> = [] : (Opcional) Este array define as opções para o arquivo. O array inclui as seguintes chaves (todas opcionais):
- `'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
Arquivo —
O objeto “Arquivo”, que inclui propriedades que definem o arquivo, incluindo o ID do arquivo.
startBroadcast()
Inicia uma transmissão ao vivo de uma sessão do OpenTok.
public startBroadcast(string $sessionId[, array<string|int, mixed> $options = [] ]) : Broadcast
Parâmetros
$sessionId : string : O ID da sessão a ser transmitida.
$options : array<string|int, mixed> = [] : (Opcional) Um array com opções para a transmissão. Esse array possui as seguintes propriedades:
- `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
Um objeto com propriedades que definem a transmissão.
startCaptions()
Use este método para ativar as legendas em tempo real (Live Captions) em uma sessão do OpenTok.
public startCaptions(string $sessionId, string $token[, string $languageCode = null ][, int $maxDuration = null ][, bool $partialCaptions = null ][, string $statusCallbackUrl = null ]) : array<string|int, mixed>
A duração máxima permitida é de 4 horas; após esse período, a legenda de áudio será interrompida sem qualquer efeito sobre a sessão do OpenTok em andamento. Um evento será enviado para sua URL de retorno de chamada, caso tenha sido fornecida ao iniciar as legendas.
Cada sessão do OpenTok suporta apenas uma sessão de legenda de áudio.
Para obter mais informações sobre o recurso “Legendas em tempo real”, consulte o guia do desenvolvedor do “Legendas em tempo real”.
Parâmetros
$sessionId : string : O ID da sessão do OpenTok. O áudio dos emissores que estão transmitindo para essa sessão será usado para gerar as legendas.
$token : string : Um token válido do OpenTok com a função definida como Moderador.
$languageCode : string = null : (Opcional) O código BCP-47 do idioma falado utilizado nesta chamada. O valor padrão é “en-US”. São suportados os seguintes códigos de idioma: “en-AU” (inglês, Austrália), “en-GB” (inglês, Reino Unido), “en-US” (inglês, EUA), “es-US” (espanhol, EUA), “zh-CN” (chinês simplificado), “fr-FR” (francês), “fr-CA” (francês, Canadá), “de-DE” (alemão), “hi-IN” (hindi, Índia), “it-IT” (italiano), “ja-JP” (japonês), “ko-KR” (coreano), "pt-BR" (português do Brasil), "th-TH" (tailandês).
$maxDuration : int = null : (Opcional) A duração máxima da legenda de áudio, em segundos. O valor padrão é 14.400 segundos (4 horas), a duração máxima permitida.
$partialCaptions : bool = null : (Opcional) Indica se essa opção deve ser ativada para agilizar a geração de legendas, em troca de um certo grau de imprecisão. O valor padrão é true.
$statusCallbackUrl : string = null : (Opcional) Uma URL acessível ao público, controlada pelo cliente e capaz de gerar o conteúdo a ser exibido sem intervenção do usuário. O comprimento mínimo da URL é de 15 caracteres e o máximo é de 2.048 caracteres. Para obter mais informações, consulte Atualizações sobre o status das legendas em tempo real.
Valores de retorno
array<string|int, mixed> —
startRender()
Inicia um renderizador do Experience Composer para uma sessão do OpenTok.
public startRender( $sessionId, $token, $url, $maxDuration, $resolution, $properties) : Render
Para obter mais informações, consulte o Experience Composer guia do desenvolvedor.
Parâmetros
$sessionId : : (string) O ID da sessão do OpenTok que incluirá a transmissão do Experience Composer.
$token : : (string) Um token válido do OpenTok com a função de Publisher e (opcionalmente) dados de conexão a serem associados ao fluxo de saída.
$url : : (string) Uma URL acessível ao público, controlada pelo cliente e capaz de gerar o conteúdo a ser exibido sem intervenção do usuário. O comprimento mínimo da URL é de 15 caracteres e o máximo é de 2.048 caracteres.
$maxDuration : : (int) (opcional) O tempo máximo permitido para o Experience Composer, em segundos. Após esse tempo, ele é interrompido automaticamente, caso ainda esteja em execução. O valor máximo é 36000 (10 horas), o valor mínimo é 60 (1 minuto) e o valor padrão é 7200 (2 horas). Quando o Experience Composer termina, sua transmissão é retirada do ar e um evento é enviado para a URL de retorno de chamada, caso esteja configurada no Portal da Conta.
$resolution : : (string) (opcional) A resolução do Experience Composer, que pode ser “640x480” (SD paisagem), “480x640” (SD retrato), “1280x720” (HD paisagem), “720x1280” (HD retrato), “1920x1080” (FHD paisagem) ou “1080x1920” (FHD retrato). Por padrão, essa resolução é “1280x720” (HD paisagem, o padrão).
$properties : : (matriz) (opcional) A configuração inicial das propriedades do Publisher para o fluxo de saída composto.
- `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
O objeto de renderização, que inclui propriedades que definem a renderização, incluindo o ID da renderização.
stopArchive()
Interrompe um arquivo do OpenTok que está sendo gravado.
public stopArchive(string $archiveId) : Archive
Os arquivos param automaticamente de gravar após 120 minutos ou quando todos os clientes se desconectarem da sessão que está sendo arquivada.
Parâmetros
$archiveId : string : O ID do arquivo cuja gravação você deseja interromper.
Valores de retorno
Arquivo —
O objeto Archive correspondente ao arquivo que está sendo interrompido.
stopBroadcast()
Interrompe uma transmissão.
public stopBroadcast(string $broadcastId) : Broadcast
Parâmetros
$broadcastId : string : O ID da transmissão.
Valores de retorno
stopCaptions()
Use este método para interromper as legendas em tempo real de uma sessão.
public stopCaptions(string $captionsId) : mixed
Parâmetros
$captionsId : string
Valores de retorno
misto —
stopRender()
Interrompe uma renderização em andamento.
public stopRender( $renderId) : mixed
Parâmetros
$renderId :
Valores de retorno
misto —
updateBroadcastLayout()
Atualiza o layout da transmissão.
public updateBroadcastLayout(string $broadcastId, Layout $layout) : void
Veja Configurando o layout de vídeo para transmissões ao vivo pelo OpenTok.
Parâmetros
$broadcastId : string : O ID da transmissão.
$layout : Layout : Um objeto que define o tipo de layout da transmissão.
Valores de retorno
void —
updateStream()
Define a lista de classes de layout para um fluxo.
public updateStream(string $sessionId, string $streamId[, array<string|int, mixed> $properties = array() ]) : mixed
As classes de layout são utilizadas no layout de arquivos compostos e transmissões ao vivo.
Para obter mais informações, consulte Personalização do layout do vídeo para arquivos compostos e Configurando o layout de vídeo para transmissões ao vivo pelo OpenTok.
É possível definir a lista inicial de classes de layout para os fluxos publicados por um cliente ao gerar o token usado pelo cliente para se conectar à sessão. Consulte o OpenTok::generateToken() método.
Parâmetros
$sessionId : string : O ID da sessão à qual o stream pertence.
$streamId : string : O ID do stream.
$properties : array<string|int, mixed> = array()
: Um array contendo uma propriedade: $layoutClassList.
Essa propriedade é uma matriz de nomes de classes (cadeias de caracteres) a serem aplicadas ao
fluxo. Defina $layoutClassList para um array vazio, a fim de limpar a lista de classes de layout de
um fluxo. Por exemplo, este código configura o fluxo para usar duas classes:
```
$streamProperties = array(
'$layoutClassList' => array('bottom', 'right')
);
$opentok->updateStream($sessionId, $streamId, $streamProperties);
```
Valores de retorno
misto —
returnLegacyToken()
private returnLegacyToken(string $sessionId[, array<string|int, mixed> $options = [] ]) : string
Parâmetros
$sessionId : string
$options : array<string|int, mixed> = []
Valores de retorno
string —