Personnalisation de la présentation vidéo pour les archives composées

Vous pouvez utiliser l'API REST d'OpenTok pour personnaliser la présentation des vidéos dans une archive OpenTok.

Cette fonctionnalité s'applique aux archives groupées, et non aux archives individuelles. (Pour obtenir des informations générales sur les archives OpenTok, consultez la Guide du développeur d'OpenTok Archive.)

Vue d'ensemble

Par défaut, les archives OpenTok organisent les vidéos d'une session OpenTok selon une disposition en mosaïque. Par exemple, voici à quoi ressemble la disposition lorsqu'une session comporte 1, 2, 4 ou 5 flux :

C'est ce qu'on appelle la disposition « best fit ». Vous pouvez également choisir parmi plusieurs autres dispositions prédéfinies. Pour ces autres dispositions, vous devez attribuer un nom de classe à chaque flux vidéo OpenTok afin de déterminer son affichage dans la disposition. (Voir Types de mise en page prédéfinis.)

Vous pouvez également définir vos propres mises en page personnalisées à l'aide de CSS. Voir Définition des mises en page personnalisées.

Par défaut, l'archive finale mesure 640 x 480 pixels (format SD paysage, rapport d'aspect 4:3). Les vidéos OpenTok individuelles sont disposées dans des rectangles conteneurs au sein de la vidéo d’archive. Si le format d’une vidéo de flux individuel ne correspond pas à celui du conteneur (par exemple, s’il s’agit d’une vidéo HD ou d’une vidéo de partage d’écran), elle est encadrée pour s’adapter au conteneur. Par exemple, l’illustration suivante montre une disposition optimisée avec deux vidéos SD en mode paysage (format 4:3) (1 et 4) et deux vidéos HD en mode paysage (format 16:9) (2 et 3) :

Vous pouvez également configurer une archive composite pour qu'elle utilise une résolution de 480x640 (SD portrait, format 3:4), 1 280 x 720 (HD paysage, format 16:9), 720 x 1 280 (HD portrait, format 9:16), 1920x1080 (FHD paysage, format 16:9) ou 1080x1920 (FHD portrait, format 9:16) lorsque vous appelez la méthode démarrer l'archive méthode de l'API REST OpenTok. Vous pouvez utiliser un format portrait lors de l'enregistrement d'archives qui comprennent des flux vidéo provenant d'appareils mobiles (qui utilisent souvent le format portrait).

Pour utiliser cette fonction :

Vous pouvez également définir vos propres mises en page personnalisées.

Spécification du type de mise en page initiale

Lorsque vous lancez l'archivage d'une session à l'aide de l'API REST OpenTok, vous pouvez, si vous le souhaitez, spécifier le type de structure d'archivage initial.

Définissez l'URL de la requête POST comme suit :

https://api.opentok.com/v2/project/{apiKey}/archive

Régler le Content-Type à application/json et définir le type de mise en page comme propriété des données JSON envoyées dans la requête POST :

{
  "sessionId": "2_MX44NTQ1MTF--bm1kTGQ0RjVHeGNQZE51VG5scGNzdVl0flB-",
  "layout": {
    "type": "pip"
  },
  "name" : "archive_name",
  "outputMode" : "composed"
}

Si vous utilisez une mise en page personnalisée (voir Définition des mises en page personnalisées), définir le type à la propriété "custom" et de transmettre la feuille de style en tant que propriété supplémentaire —stylesheet:

{
  "sessionId": "2_MX44NTQ1MTF--bm1kTGQ0RjVHeGNQZE51VG5scGNzdVl0flB-",
  "layout": {
    "type": "custom",
    "stylesheet": "stream.instructor {position: absolute; width: 100%;  height:50%;}"
  },
  "name" : "archive_name",
  "outputMode" : "composed"
}

Vous pouvez également spécifier un type de mise en page à utiliser lorsqu'un flux de partage d'écran est présent dans la session, en configurant le paramètre screenshareType de la propriété layout propriété (voir les dispositions de partage d'écran) :

{
  "sessionId": "2_MX44NTQ1MTF--bm1kTGQ0RjVHeGNQZE51VG5scGNzdVl0flB-",
  "layout": {
    "type": "bestFit",
    "screenshareType": "pip"
  },
  "name" : "archive_name",
  "outputMode" : "composed"
}

Authentifiez l'appel REST à l'aide d'un jeton JWT (voir API REST OpenTok authentification) :

X-OPENTOK-AUTH: <token>

La demande renvoie un code d'erreur 400 si vous spécifiez un type non valide.

Vous pouvez également spécifier le type de mise en page initiale lors du lancement d'une archive à l'aide des SDK serveur OpenTok :

Si vous ne spécifiez pas de type de mise en page initiale, l'archive composée utilise le type de mise en page « Best Fit ». Si vous spécifiez un autre type de mise en page, veillez à appliquer les classes de mise en page appropriées aux flux de la session OpenTok (voir Attribution de classes de mise en page aux flux OpenTok »).

Voir Types de mise en page prédéfinis.

Changement dynamique du type de mise en page pendant l'enregistrement d'une archive

Vous pouvez modifier dynamiquement le type de présentation en appelant la fonction /archive/layout API REST. Envoyez une requête PUT à l'URL suivante :

https://api.opentok.com/v2/project/{apiKey}/archive/{archiveId}/layout

Régler le Content-Type à "application/json" et inclure le type de mise en page en tant que propriété des données JSON dans la requête PUT :

{
  "type": "pip"
}

Si vous utilisez un personnalisé mise en page fixer le type propriété à "custom" et transmettre la feuille de style en tant que propriété supplémentaire—stylesheet:

{
  "type": "custom",
  "stylesheet": "stream.instructor {position: absolute;  width: 100%;  height:50%;}"
}

Vous pouvez également spécifier un type de mise en page à utiliser lorsqu'un flux de partage d'écran est présent dans la session, en configurant le screenshareType propriété (voir les dispositions de partage d'écran) :

{
  "type": "bestFit",
  "screenshareType": "pip"
}

Authentifiez l'appel REST à l'aide d'un jeton JWT (voir API REST OpenTok authentification) :

X-OPENTOK-AUTH: <token>

La demande renvoie un code d'erreur 400 si vous spécifiez un type non valide.

Vous pouvez également modifier le type de mise en page à l'aide des SDK serveur OpenTok :

Lorsque vous spécifiez un type de mise en page autre que le type par défaut « Best Fit », veillez à appliquer les classes de mise en page appropriées aux flux de la session OpenTok (voir Attribution de classes de mise en page aux flux OpenTok »).