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 :
-
Spécifiez le type de structure de l'archive composée (voir Spécification du type de mise en page initiale et Modification dynamique du type de mise en page pendant l'archivage de la session).
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 :
- Java —
OpenTok.startArchive(sessionId, properties)(appeler lelayout()de la méthodeArchiveProperties.Builderobjet) - Noeud -
OpenTok.startArchive()(définir lelayoutde la propriétéoptions(paramètre) - PHP -
OpenTok->startArchive()(appeler leOpenTok->setArchiveLayout()méthode après le lancement de l'archivage) - Python —
opentok.start_archive()(appeler leopentok.set_archive_layout()méthode après le lancement de l'archivage) - Ruby —
Archives.create()(définir lelayoutde la propriétéoptions(hash) - .NET —
OpenTok.StartArchive()(définir lelayout(paramètre)
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 :
- Java —
OpenTok.setArchiveLayout() - Noeud -
OpenTok.setArchiveLayout() - PHP -
OpenTok->setArchiveLayout() - Python —
opentok.set_archive_layout() - Ruby —
Archives.layout()
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 »).