OpenTok

Contient des méthodes permettant de créer des sessions OpenTok, de générer des jetons et de gérer les archives.

Pour créer un nouvel objet OpenTok, appelez le constructeur OpenTok() en lui passant votre clé API OpenTok et le secret API correspondant à votre Account Video API OpenTok. Ne divulguez pas votre clé secrète API. Vous l'utiliserez avec le constructeur OpenTok() (uniquement sur votre serveur web) pour créer des sessions OpenTok.

Si vous définissez `api_key` sur une valeur correspondant à `VONAGE_APPLICATION_ID` et `api_secret` sur une valeur correspondant à `VONAGE_PRIVATE_KEY_PATH`, le SDK effectuera alors l'appel vers Vonage Video en utilisant l'authentification Vonage Auth.

Veillez à installer l'intégralité du SDK du serveur OpenTok sur votre serveur web.

Table des matières

$vonage  : bool

connectAudio()  : tableau<chaîne|entier, type mixte> : Lance un Connecteur audio Connexion WebSocket. Pour envoyer du son depuis une session de la Video API Vonage vers un WebSocket.

createSession()  : Session : Crée une nouvelle session OpenTok et renvoie l'identifiant de session, qui identifie de manière unique la session.

deleteArchive()  : bool : Supprime une archive OpenTok.

dial()  : SipCall : Lance un appel SIP sortant.

disableForceMute()  : bool : Désactive l'état de sourdine actif de la session. Une fois cette méthode appelée, les nouveaux flux publiés sur la session ne seront plus en sourdine.

forceDisconnect()  : mixte : Déconnecte un client spécifique d'une session OpenTok.

forceMuteAll()  : bool : Force tous les flux (à l'exception d'une liste facultative de flux) d'une session OpenTok à couper le son de l'audio diffusé.

forceMuteStream()  : bool : Oblige l'éditeur d'un flux spécifique à couper le son de son flux audio.

generateToken()  : chaîne de caractères : Crée un jeton permettant de se connecter à une session OpenTok.

getArchive()  : Archives : Récupère un objet Archive correspondant à l'ID d'archive indiqué.

getBroadcast()  : Radiodiffusion : Récupère des informations sur une diffusion OpenTok.

getRender()  : Rendu : Récupérer un rendu existant pour afficher son état. L'état peut être l'un des suivants : <UL> <LI><CODE>démarrage</CODE> — La plateforme Vonage Video API est en train de se connecter à l'application distante à l'URL fournie. Il s'agit de l'état initial.</LI> <LI><CODE>started</CODE> — La plateforme Vonage Video API s’est connectée avec succès au serveur de l’application distante et republie ce flux multimédia sur la plateforme Vonage Video API.</LI> <LI><CODE>stopped</CODE> — Le rendu s’est arrêté.</LI> <LI><CODE>failed</CODE> — Une erreur s’est produite et le rendu n’a pas pu se poursuivre. Cela peut se produire au démarrage si le serveur Opentok ne parvient pas à se connecter au serveur de l’application distante ou à republier le flux. Cela peut également se produire à un moment donné au cours du processus de rendu en raison d’une erreur au sein de la plateforme Video API Vonage.</LI> </ul>

getStream()  : Flux : Récupère un objet Stream, fournissant des informations sur un flux donné.

listArchives()  : Liste des archives : Renvoie une liste des archives d'une session.

listRenders()  : mixte : Renvoie une liste des moteurs de rendu Experience Composer pour un projet OpenTok.

listStreams()  : Liste des flux : Renvoie un objet StreamList correspondant à l'identifiant de session indiqué.

playDTMF()  : void : Émet une chaîne DTMF dans une session ou vers une connexion spécifique

setArchiveLayout()  : void : Met à jour la structure du flux dans une archive OpenTok.

setStreamClassLists()  : mixte : Définit la liste des classes de mise en page pour les flux d'une session.

signal()  : mixte : Envoie un signal aux clients (ou à un client spécifique) connectés à une session OpenTok.

startArchive()  : Archives : Lance l'archivage d'une session OpenTok.

startBroadcast()  : Radiodiffusion : Lance la diffusion en direct d'une session OpenTok.

startCaptions()  : array<string|int, mixed> : Utilisez cette méthode pour lancer les sous-titres en temps réel (« Live Captions ») pour une session OpenTok.

startRender()  : Rendu : Lance un moteur de rendu Experience Composer pour une session OpenTok.

stopArchive()  : Archives : Arrête l'archivage OpenTok en cours d'enregistrement.

stopBroadcast()  : Radiodiffusion : Met fin à une diffusion.

stopCaptions()  : mixte : Utilisez cette méthode pour désactiver le sous-titrage en direct d'une session.

stopRender()  : mixte : Interrompt un rendu en cours.

updateBroadcastLayout()  : void : Met à jour la mise en page de la diffusion.

updateStream()  : mixte : Définit la liste des classes de mise en page pour un flux.

returnLegacyToken()  : chaîne de caractères

Propriétés

$vonage

private bool $vonage = false

Règle de remplacement permettant de déterminer s'il faut utiliser l'authentification Vonage dans les requêtes adressées aux serveurs Vonage

Méthodes

connectAudio()

Lance un Connecteur audio Connexion WebSocket. Pour envoyer du son depuis une session de la Video API Vonage vers un WebSocket.

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

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session.

$token : chaîne de caractères : Le jeton OpenTok à utiliser pour l'Audio Connector dans le cadre de la session OpenTok. Vous pouvez ajouter des données de jeton pour indiquer que la connexion correspond au point de terminaison de l'Audio Connector ou pour fournir d'autres informations d'identification.

$websocketOptions : tableau<chaîne|entier, mixte> : Configuration du WebSocket. Contient les clés suivantes :

- `'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.
Valeurs de retour

tableau<chaîne|entier, type mixte> —

$response Réponse de l'API, structurée comme suit :

  • 'id' (chaîne de caractères) — Identifiant unique du connecteur audio WebSocket.
  • 'connectionId' (chaîne de caractères) — Identifiant de connexion (connectionId) du client Opentok qui a été créé. Cette connexion s'abonnera aux flux définis dans la charge utile et les transmettra au WebSocket ; comme tout autre participant, elle déclenchera un événement « connectionCreated » sur la session.

createSession()

Crée une nouvelle session OpenTok et renvoie l'identifiant de session, qui identifie de manière unique la session.

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

Par exemple, lorsque vous utilisez la bibliothèque JavaScript OpenTok, utilisez l'identifiant de session lorsque vous appelez la fonction OT.initSession() méthode (pour initialiser une session OpenTok).

Les sessions OpenTok n'ont pas de date d'expiration. En revanche, les jetons d'authentification ont une durée de validité limitée (voir la méthode `generateToken()`). Notez également qu'il n'est pas possible de fermer explicitement une session.

Une chaîne d'identification de session peut comporter jusqu'à 255 caractères.

L'appel de cette méthode provoque une exception OpenTokException en cas d'erreur. Consultez le message d'erreur pour plus de détails.

Vous pouvez également créer une session en vous connectant à votre Account Video API OpenTok.

Paramètres

$options : tableau<chaîne|entier, mixte> = tableau() : (Facultatif) Ce tableau définit les options de la session. Il contient les clés suivantes (toutes facultatives) :

- `'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.
Valeurs de retour

Session

Un objet Session représentant la nouvelle session. Appelez la méthode getSessionId() méthode de cet objet pour obtenir l'identifiant de session. Par exemple, lorsque vous utilisez la bibliothèque OpenTok.js, utilisez cet identifiant de session lorsque vous appelez la OT.initSession() méthode.

deleteArchive()

Supprime une archive OpenTok.

public deleteArchive(string $archiveId) : bool

Vous ne pouvez supprimer qu'une archive dont le statut est « disponible », « téléchargée » ou « supprimée ». La suppression d'une archive supprime son entrée de la liste des archives. Pour une archive « disponible », cela supprime également le fichier d'archive, le rendant ainsi indisponible au téléchargement. Pour une archive « supprimée », celle-ci reste supprimée.

Paramètres

$archiveId : chaîne de caractères : L'identifiant de l'archive que vous souhaitez supprimer.

Mots-clés

lance : ArchiveException

There archive status is not "available", "updated",
or "deleted".
Valeurs de retour

bool —

Renvoie « true » en cas de réussite.

dial()

Lance un appel SIP sortant.

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

Pour plus d'informations, voir le Interconnexion SIP OpenTok Guide du développeur.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session OpenTok à laquelle le participant appelé va se joindre.

$token : chaîne de caractères : Le jeton OpenTok à utiliser pour le participant appelé. Vous pouvez ajouter des données au jeton afin d'indiquer que le participant se trouve sur un terminal SIP ou pour d'autres données d'identification, telles que des numéros de téléphone. Générez un jeton à l'aide de la OpenTok::generateToken() ou Session::generateToken() méthode.

$sipUri : chaîne de caractères : L'URI SIP à utiliser comme destination de l'appel SIP lancé depuis OpenTok vers la plateforme SIP tierce.

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 : tableau<chaîne|entier, mixte> = [] : Ce tableau définit les options de l'appel SIP. Il comprend les clés suivantes, qui sont toutes facultatives :

- `'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.
Valeurs de retour

SipCall

Un objet contient l'identifiant de connexion OpenTok et l'identifiant de flux correspondant à la connexion de l'appel SIP dans la session OpenTok. Vous pouvez utiliser l'identifiant de connexion pour mettre fin à l'appel SIP, à l'aide de la méthode OpenTok::method_forceDisconnect() méthode.

disableForceMute()

Désactive l'état de sourdine actif de la session. Une fois cette méthode appelée, les nouveaux flux publiés sur la session ne seront plus en sourdine.

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

Une fois que vous aurez appelé le OpenTok->forceMuteAll() méthode Tous les flux publiés après l'appel le sont avec le son coupé. Appelez la méthode `disableForceMute()` pour désactiver la mise en sourdine d'une session, afin que les nouveaux flux publiés ne soient pas automatiquement mis en sourdine.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session OpenTok.

$options : tableau<chaîne|entier, chaîne> : Ce tableau définit les options et comprend les clés suivantes :

- `'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.
Valeurs de retour

bool —

Que l'appel ait abouti ou non.

forceDisconnect()

Déconnecte un client spécifique d'une session OpenTok.

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

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session OpenTok auquel le client est connecté.

$connectionId : chaîne de caractères : L'identifiant de la connexion dans la session.

Valeurs de retour

mixte —

forceMuteAll()

Forcer tous les flux (à l'exception d'une liste facultative de flux) d'une session OpenTok à couper le son de l'audio diffusé.

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

Outre les flux existants, tous les flux publiés après l'appel de cette méthode sont publiés avec le son désactivé. Vous pouvez désactiver la mise en sourdine d'une session OpenTok->disableForceMute() méthode.

Voir également le OpenTok->forceMuteStream() méthode.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session OpenTok.

$options : tableau<chaîne|entier, chaîne> : Ce tableau définit les options et comprend les clés suivantes :

- `'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.
Valeurs de retour

bool —

Que l'appel ait abouti ou non.

forceMuteStream()

Forcer l'éditeur d'un flux spécifique à couper le son de son contenu audio publié.

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

Voir également le OpenTok->forceMuteAll() méthode.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session OpenTok contenant le flux.

$streamId : chaîne de caractères : L'identifiant du flux.

Valeurs de retour

bool —

Que l'appel ait abouti ou non.

generateToken()

Crée un jeton permettant de se connecter à une session OpenTok.

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

Afin d'authentifier un utilisateur se connectant à une session OpenTok, le client transmet un jeton lors de la connexion à la session.

Pour effectuer des tests, vous pouvez générer des jetons ou vous connecter à votre Account Video API OpenTok.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session correspondant à la session à laquelle l'utilisateur va se connecter.

$payload : tableau<chaîne|entier, type mixte> = tableau() : Ce tableau définit les options du jeton. Il contient les clés suivantes, qui sont toutes facultatives :

- `'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 : Les jetons de connexion sont désormais des JWT signés avec SHA-256. Définissez cette valeur sur true pour créer un jeton au format T1 classique.

Valeurs de retour

chaîne de caractères —

La chaîne de caractères du jeton.

getArchive()

Récupère un objet Archive correspondant à l'ID d'archive indiqué.

public getArchive(string $archiveId) : Archive

Paramètres

$archiveId : chaîne de caractères : L'identifiant de l'archive.

Mots-clés

lance : ArchiveException

There is no archive with the specified ID.

lance : InvalidArgumentException

The archive ID provided is null or an empty string.
Valeurs de retour

Archives

L'objet Archive.

getBroadcast()

Récupère des informations sur une diffusion OpenTok.

public getBroadcast(string $broadcastId) : Broadcast

Paramètres

$broadcastId : chaîne de caractères : L'identifiant de la diffusion.

Valeurs de retour

Radiodiffusion

Un objet dont les propriétés définissent la diffusion.

getRender()

Récupérez un rendu existant pour afficher son état. L'état peut être l'un des suivants : <UL> <LI><CODE>starting</CODE> — La plateforme Vonage Video API est en train de se connecter à l'application distante à l'URL fournie. Il s'agit de l'état initial.</LI> <LI><CODE>started</CODE> — La plateforme Vonage Video API s’est connectée avec succès au serveur de l’application distante et est en train de republier ce flux multimédia sur la plateforme Vonage Video API.</LI> <LI><CODE>stopped</CODE> — Le rendu s’est arrêté.</LI> <LI><CODE>failed</CODE> — Une erreur s’est produite et le rendu n’a pas pu se poursuivre. Cela peut se produire au démarrage si le serveur Opentok ne parvient pas à se connecter au serveur de l’application distante ou à republier le flux. Cela peut également se produire à un moment donné au cours du processus de rendu en raison d’une erreur au sein de la plateforme Video API Vonage.</LI> </UL>

public getRender( $renderId) : Render

Paramètres

$renderId :

Valeurs de retour

Rendu

getStream()

Récupère un objet Stream, fournissant des informations sur un flux donné.

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

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session OpenTok contenant le flux.

$streamId : chaîne de caractères : L'identifiant du flux.

Valeurs de retour

Flux

L'objet Stream.

listArchives()

Renvoie une liste des archives d'une session.

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

Les items() La méthode de cet objet renvoie une liste des archives terminées et en cours, associées à votre clé API.

Paramètres

$offset : int : Facultatif. Décalage d'index de la première archive. La valeur 0 correspond au décalage de l' archive la plus récente. La valeur 1 correspond au décalage de l'archive qui a été lancée avant l' archive la plus récente. Si vous ne spécifiez pas de décalage, la valeur 0 est utilisée.

$count : int = null : Facultatif. Nombre d'archives à renvoyer. Le nombre maximal d' archives renvoyées est de 1 000.

$sessionId : string = null : Facultatif. L'identifiant de session OpenTok pour lequel vous souhaitez récupérer les archives. Si aucun identifiant de session n'est spécifié, la méthode renverra les archives de toutes les sessions créées avec la clé API.

Valeurs de retour

Liste des archives

Un objet ArchiveList. Appelez la méthode items() de l'objet ArchiveList pour renvoyer un tableau d'objets Archive.

listRenders()

Renvoie une liste des moteurs de rendu Experience Composer pour un projet OpenTok.

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

Paramètres

$offset : int

$count : int = 50

Valeurs de retour

mixte —

listStreams()

Renvoie un objet StreamList correspondant à l'identifiant de session indiqué.

public listStreams(string $sessionId) : StreamList

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session.

Valeurs de retour

Liste des flux

Un objet StreamList. Appelez la méthode items() de l'objet StreamList pour renvoyer un tableau d'objets Stream.

playDTMF()

Diffuse une séquence DTMF dans une session ou vers une connexion spécifique

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

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session OpenTok à laquelle le participant appelé va se joindre.

$digits : chaîne de caractères : Chiffres DTMF à reproduire Les chiffres DTMF valides sont les chiffres 0 à 9, ainsi que « p », « # » et « * ». Le caractère « p » correspond à une pause de 500 ms si un délai est nécessaire pendant le processus de saisie.

$connectionId : chaîne de caractères = null : Paramètre facultatif permettant d'envoyer des tonalités DTMF à une connexion spécifique au sein d'une session.

Valeurs de retour

void —

setArchiveLayout()

Met à jour la structure du flux dans une archive OpenTok.

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

Paramètres

$archiveId : chaîne de caractères

$layoutType : Mise en page

Valeurs de retour

void —

setStreamClassLists()

Définit la liste des classes de mise en page pour les flux d'une session.

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

Les classes de mise en page sont utilisées dans la mise en page des archives montées et des diffusions en direct. Pour plus d'informations, consultez Personnalisation de la mise en page vidéo pour les archives composées et Configuration de la disposition vidéo pour les diffusions en direct via OpenTok.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session à laquelle appartiennent les flux.

$classListArray : array<string|int, mixed> = array() : L'identifiant (connectionId) de la connexion au sein d'une session.

Valeurs de retour

mixte —

signal()

Envoie un signal aux clients (ou à un client spécifique) connectés à une session OpenTok.

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

Paramètres

$sessionId : chaîne de caractères : L'identifiant de session OpenTok vers lequel le signal sera envoyé.

$payload : tableau<chaîne|entier, mixte> : Ce tableau définit la charge utile du signal. Il comprend les clés suivantes, dont le type est facultatif :

- `'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 : chaîne de caractères = null : Paramètre facultatif permettant d'envoyer le signal à une connexion spécifique au sein d'une session.

Valeurs de retour

mixte —

startArchive()

Lance l'archivage d'une session OpenTok.

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

Les clients doivent être activement connectés à la session OpenTok pour que vous puissiez lancer l'enregistrement d'une archive.

Vous ne pouvez enregistrer qu'une seule archive à la fois pour une session donnée. Vous ne pouvez enregistrer que les archives des sessions qui utilisent OpenTok Media Router (les sessions avec le mode média (réglé sur « routed ») ; vous ne pouvez pas archiver les sessions dont le mode média est réglé sur « relayed ».

Pour plus d'informations sur l'archivage, consultez le Archivage OpenTok guide de programmation.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session OpenTok à archiver.

$options : tableau<chaîne|entier, mixte> = [] : (Facultatif) Ce tableau définit les options de l'archive. Il comprend les clés suivantes (toutes facultatives) :

- `'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.
Valeurs de retour

Archives

L'objet « Archive », qui comprend les propriétés définissant l'archive, notamment l'identifiant de l'archive.

startBroadcast()

Lance la diffusion en direct d'une session OpenTok.

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

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session à diffuser.

$options : tableau<chaîne|entier, mixte> = [] : (Facultatif) Un tableau contenant les options de la diffusion. Ce tableau possède les propriétés suivantes :

- `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
Valeurs de retour

Radiodiffusion

Un objet dont les propriétés définissent la diffusion.

startCaptions()

Utilisez cette méthode pour activer les sous-titres en temps réel (« Live Captions ») lors d'une session OpenTok.

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

La durée maximale autorisée est de 4 heures, après quoi le sous-titrage audio s'arrêtera sans que cela n'ait d'incidence sur la session OpenTok en cours. Un événement sera envoyé à votre URL de rappel si celle-ci a été fournie lors du lancement du sous-titrage.

Chaque session OpenTok ne prend en charge qu'une seule session de sous-titrage audio.

Pour plus d'informations sur la fonctionnalité « Live Captions », consultez le guide du développeur consacré à « Live Captions ».

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session OpenTok. Le flux audio provenant des diffuseurs qui diffusent dans cette session sera utilisé pour générer les sous-titres.

$token : chaîne de caractères : Un jeton OpenTok valide dont le rôle est défini sur « Modérateur ».

$languageCode : chaîne de caractères = null : (Facultatif) Code BCP-47 de la langue parlée utilisée lors de cet appel. La valeur par défaut est « en-US ». Les codes de langue suivants sont pris en charge : « en-AU » (anglais, Australie), « en-GB » (anglais, Royaume-Uni), « en-US » (anglais, États-Unis), « es-US » (espagnol, États-Unis), « zh-CN » (chinois simplifié), « fr-FR » (français), « fr-CA » (français, Canada), « de-DE » (allemand), « hi-IN » (hindi, Inde), « it-IT » (italien), « ja-JP » (japonais), « ko-KR » (coréen), « pt-BR » (portugais du Brésil), « th-TH » (thaï).

$maxDuration : int = null : (Facultatif) Durée maximale du sous-titrage audio, en secondes. La valeur par défaut est de 14 400 secondes (4 heures), soit la durée maximale autorisée.

$partialCaptions : bool = null : (Facultatif) Indique s'il faut activer cette option pour accélérer la création des sous-titres au prix d'un certain degré d'imprécision. La valeur par défaut est « true ».

$statusCallbackUrl : chaîne de caractères = null : (Facultatif) Une URL accessible au public, gérée par le client et capable de générer le contenu à afficher sans intervention de l'utilisateur. La longueur minimale de l'URL est de 15 caractères et sa longueur maximale est de 2 048 caractères. Pour plus d'informations, voir Mises à jour sur l'état du sous-titrage en direct.

Valeurs de retour

tableau<chaîne|entier, type mixte> —

startRender()

Lance un moteur de rendu Experience Composer pour une session OpenTok.

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

Pour plus d'informations, voir le Experience Composer Guide du développeur.

Paramètres

$sessionId : : (chaîne de caractères) L'identifiant de la session OpenTok qui intégrera le flux d'Experience Composer.

$token : : (chaîne de caractères) Un jeton OpenTok valide doté du rôle « Publisher » et (éventuellement) des données de connexion à associer au flux de sortie.

$url : : (chaîne de caractères) Une URL accessible au public, gérée par le client et capable de générer le contenu à afficher sans intervention de l'utilisateur. La longueur minimale de l'URL est de 15 caractères et sa longueur maximale est de 2 048 caractères.

$maxDuration : : (int) (facultatif) Durée maximale autorisée pour l'Experience Composer, en secondes. Passé ce délai, il est arrêté automatiquement s'il est toujours en cours d'exécution. La valeur maximale est de 36 000 (10 heures), la valeur minimale est de 60 (1 minute) et la valeur par défaut est de 7 200 (2 heures). Lorsque l’Experience Composer s’arrête, son flux est dépublié et un événement est envoyé à l’URL de rappel, si celle-ci a été configurée dans le portail d’Account.

$resolution : : (chaîne de caractères) (facultatif) Résolution de l'Experience Composer : « 640x480 » (SD paysage), « 480x640 » (SD portrait), « 1280x720 » (HD paysage), « 720x1280 » (HD portrait), « 1920x1080 » (FHD paysage) ou « 1080x1920 » (FHD portrait). Par défaut, cette résolution est « 1280x720 » (HD paysage, valeur par défaut).

$properties : : (tableau) (facultatif) Configuration initiale des propriétés du Publisher pour le flux de sortie composé.

- `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.
Valeurs de retour

Rendu

L'objet de rendu, qui comprend les propriétés définissant le rendu, notamment l'identifiant du rendu.

stopArchive()

Arrête l'archivage OpenTok en cours d'enregistrement.

public stopArchive(string $archiveId) : Archive

Les archives cessent automatiquement l'enregistrement au bout de 120 minutes ou lorsque tous les clients se sont déconnectés de la session en cours d'archivage.

Paramètres

$archiveId : chaîne de caractères : L'identifiant de l'archive dont vous souhaitez interrompre l'enregistrement.

Valeurs de retour

Archives

L'objet Archive correspondant à l'archive en cours d'arrêt.

stopBroadcast()

Interrompt une diffusion.

public stopBroadcast(string $broadcastId) : Broadcast

Paramètres

$broadcastId : chaîne de caractères : L'identifiant de la diffusion.

Valeurs de retour

Radiodiffusion

stopCaptions()

Utilisez cette méthode pour désactiver le sous-titrage en direct d'une session.

public stopCaptions(string $captionsId) : mixed

Paramètres

$captionsId : chaîne de caractères

Valeurs de retour

mixte —

stopRender()

Arrête un rendu en cours.

public stopRender( $renderId) : mixed

Paramètres

$renderId :

Valeurs de retour

mixte —

updateBroadcastLayout()

Met à jour la mise en page de l'émission.

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

Voir Configuration de la disposition vidéo pour les diffusions en direct via OpenTok.

Paramètres

$broadcastId : chaîne de caractères : L'identifiant de la diffusion.

$layout : Mise en page : Un objet définissant le type de mise en page de la diffusion.

Valeurs de retour

void —

updateStream()

Définit la liste des classes de mise en page pour un flux.

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

Les classes de mise en page sont utilisées dans la mise en page des archives montées et des diffusions en direct.

Pour plus d'informations, consultez Personnalisation de la mise en page vidéo pour les archives composées et Configuration de la disposition vidéo pour les diffusions en direct via OpenTok.

Vous pouvez définir la liste initiale des classes de mise en page pour les flux publiés par un client lors de la génération du jeton utilisé par ce dernier pour se connecter à la session. Reportez-vous à la section OpenTok::generateToken() méthode.

Paramètres

$sessionId : chaîne de caractères : L'identifiant de la session à laquelle appartient le flux.

$streamId : chaîne de caractères : L'identifiant du flux.

$properties : tableau<chaîne|entier, type mixte> = tableau() : Un tableau contenant une propriété : $layoutClassList. Cette propriété est un tableau de noms de classes (chaînes de caractères) à appliquer au flux. Définir $layoutClassList vers un tableau vide pour effacer la liste des classes de mise en page d' un flux. Par exemple, ce code configure le flux pour qu'il utilise deux classes :

```

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

mixte —

returnLegacyToken()

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

Paramètres

$sessionId : chaîne de caractères

$options : tableau <chaîne de caractères|entier, type mixte> = []

Valeurs de retour

chaîne de caractères —