Démarrage d'un enregistrement d'archive avec l'API Video
L'API Video de Vonage vous permet d'archiver, de sauvegarder et de récupérer des sessions.
Flux de travail de base
Important : Vous ne pouvez archiver que les sessions qui utilisent le routeur multimédia (sessions avec l'option mode média sur routé).
Flux de travail de base pour l'enregistrement
Vous pouvez créer un enregistrement d'archive pour une session à l'aide de l'une des options suivantes SDK de serveur. Lorsque vous créez une archive, l'enregistrement commence.
Vous ne pouvez créer une archive que pour les sessions auxquelles au moins un client est connecté. (Un client doit commencer à publier un flux dans la minute qui suit, sinon l'enregistrement de l'archive s'arrête).
Lorsque les clients commencent et arrêtent de publier des flux, ceux-ci sont enregistrés.
Important: Vous pouvez enregistrer jusqu'à 16 flux vidéo avec l'archivage composé, ou 50 avec l'archivage de flux individuels. (Les archives composées et individuelles peuvent inclure jusqu'à 50 flux audio). Voir Archives individuelles de flux et composées. Une fois cette limite atteinte, si des flux supplémentaires sont publiés dans la session, ils ne sont pas enregistrés. La durée maximale d'un enregistrement d'archive (durée cumulée de publication des flux dans la session) est de 4 heures (14 400 secondes). Voir durée d'enregistrement des archives pour plus de détails.
Le nombre d'archives que vous pouvez enregistrer n'est toutefois pas limité, sessions automatiquement archivées redémarre un nouvel enregistrement toutes les 4 heures jusqu'à ce que l'enregistrement s'arrête.
Les SDK du serveur comprennent des méthodes pour les éléments suivants :
- Démarrage d'un enregistrement d'archives
- Arrêt d'un enregistrement d'archives
- Lister les enregistrements d'archives
- Récupération d'informations sur l'enregistrement des archives
- Suppression d'une archive
Lorsque vous arrêtez l'enregistrement d'une archive, la plate-forme vidéo de Vonage crée un fichier MP4 ou (dans le cas d'archives de flux individuels) un fichier ZIP. (Voir Archives individuelles de flux et composées.)
Événements du client et transfert de l'interface utilisateur
Lorsqu'un enregistrement d'archive démarre et s'arrête, des événements sont émis dans les clients. Par exemple, le client OpenTok.js La bibliothèque comprend archiveStarted et archiveStopped envoyés par l'objet Session.
Archives composées ou individuelles en un coup d'œil
- Archives composées sont les règles par défaut. Vonage rend un seul MP4 (H.264/AAC) en utilisant tous les flux publiés et les règles de mise en page que vous avez configurées. Ils sont immédiatement lisibles et automatiquement utilisés pour sessions automatiquement archivées. Les archives composées enregistrent jusqu'à 16 flux vidéo simultanés (et jusqu'à 50 flux audio).
- Archives individuelles des cours d'eau produire un fichier ZIP contenant un fichier multimédia pour chaque flux (
.webmou.mkv) et un manifeste JSON. Choisissez cette option si vous envisagez de post-traiter ou de remixer les flux. Les archives individuelles peuvent capturer jusqu'à 50 flux vidéo (et jusqu'à 50 flux audio), mais elles nécessitent un traitement en aval avant la lecture et ne sont pas prises en charge pour l'archivage automatique. - Spécifiez le format en définissant
outputModeàcomposed(par défaut) ouindividuallorsque vous appelez l'API REST d'archivage ou un SDK de serveur. La comparaison ci-dessous détaille les différences.
Durée d'enregistrement des archives
La durée maximale d'un enregistrement d'archive est de 4 heures (14 400 secondes). Cette durée d'enregistrement correspond au temps cumulé pendant lequel les flux sont publiés (et enregistrés).
Pendant que les flux sont publiés (et enregistrés), l'état de l'archive est défini comme suit "started". (Voir Changement de statut des archives).
Lorsqu'une archive est en cours d'enregistrement sans qu'aucun flux n'ait été publié, le statut est défini comme suit "paused".
Le maximum total La durée d'un enregistrement d'archive, y compris les états "démarré" et "en pause", est de 12 heures (43 200 secondes). Les enregistrements s'arrêtent automatiquement au bout d'une heure (3 600 secondes) d'inactivité (lorsqu'aucun client ne publie de flux).
Notes :
- Archivage automatique des sessions donner lieu à un ou plusieurs enregistrements consécutifs, d'une durée maximale de 4 heures chacun.
- Les archives en cours se terminent pendant la rotation des serveurs (à l'exception des archives automatiques, qui redémarrent automatiquement lorsque la session migre pendant la rotation des serveurs). Vous pouvez redémarrer les archives en réponse aux événements de notification de la rotation des serveurs. Voir Rotation des serveurs et migration des sessions.
Stockage d'enregistrements d'archives
Utilisez votre Account Vonage pour spécifier une cible vers laquelle les fichiers d'enregistrement d'archives terminées seront téléchargés.
Il peut s'agir de votre propre bac Amazon S3, d'un bac d'un fournisseur de stockage compatible S3 autre qu'Amazon ou d'un conteneur Windows Azure.
Pour les fournisseurs de stockage compatibles S3 autres qu'Amazon S3, nous prenons en charge Cloudian et Google Cloud Storage (accessibles via l'API AWS S3). D'autres services compatibles S3 peuvent présenter des limitations de fonctionnalités.
Voir Utilisation du stockage S3 avec l'archivage Video API de Vonage et l'utilisation d'un conteneur Windows Azure avec l'archivage de l'API Video de Vonage.
Lorsque l'enregistrement des archives est terminé (le changement d'état de l'enregistrement des archives est fixé à "stopped"), nous essaierons de télécharger le fichier d'enregistrement de l'archive vers la cible spécifiée (par exemple un fichier Seau S3 ou Conteneur Azure) jusqu'à 72 heures après la création de l'enregistrement d'archive (ou au moins 6 heures si la fonction de repli est activée), en réessayant plusieurs fois par le biais d'une politique de planification du téléchargement distribué.
Si le téléchargement vers la cible spécifiée est réussi, l'état de l'enregistrement de l'archive est défini comme suit "uploaded".
Si vous ne définissez pas de Seau Amazon S3 ou Conteneur Azureou si le téléchargement vers le bac/conteneur spécifié échoue (après plusieurs tentatives), les archives enregistrées peuvent être téléchargées à partir du nuage de Vonage. Dans ce cas, l'état de l'enregistrement des archives est réglé sur "available". Les archives disponibles sur le nuage de Vonage peuvent être téléchargées pendant 72 heures à partir du moment où elles ont été créées. Vous recevrez également un e-mail signalant l'échec du téléchargement à l'adresse e-mail indiquée sur votre Account Vonage.
Pour empêcher le stockage de secours dans le nuage de Vonage, ouvrez une session dans votre Account VonagePour cela, allez dans Applications > Sélectionnez votre application vidéo et désactivez l'option de stockage des enregistrements d'archives.
Si le téléchargement vers la cible spécifiée échoue (après plusieurs tentatives) et que le repli vers le stockage Vonage est désactivé, l'état de l'enregistrement d'archive est défini comme suit "failed".
Vous ne pouvez pas accéder à l'enregistrement d'archive tant qu'il n'est pas téléchargé sur votre cible spécifiée ou disponible sur le stockage de Vonage.
Pour les archives stockées dans le nuage de Vonage, l'URL de téléchargement est fournie dans la section url de l'enregistrement d'archive lorsque le statut est défini sur "available".
Chaque URL de téléchargement utilisée avec le stockage de secours des enregistrements d'archives est une URL pré-signée qui utilise des informations d'identification de sécurité pour accorder une autorisation limitée dans le temps de télécharger l'archive.
Après 10 minutes, l'URL pré-signée expire et une nouvelle URL pré-signée doit être demandée à l'aide de l'API REST ou d'une méthode serveur pour récupérer l'URL de téléchargement.
Pour des raisons de sécurité, l'URL de téléchargement n'est disponible qu'à partir des appels à l'API REST ou des méthodes SDK du serveur pour archives des listes (qui nécessitent les informations d'identification de votre compte).
Archives audio et vidéo uniquement
Lorsque vous créez un enregistrement d'archive à l'aide de l'un des SDK de Vonage Video Server, vous pouvez spécifier s'il doit enregistrer l'audio, la vidéo ou les deux. (La valeur par défaut est d'enregistrer les deux).
Archives individuelles de flux et composées
Le fichier de sortie de l'enregistrement des archives peut avoir l'un des formats suivants :
| Option | Sortie | Comment demander | Limites des cours d'eau | Cas d'utilisation typiques |
|---|---|---|---|---|
| Archives composées | MP4 unique utilisant la vidéo H.264 et l'audio AAC (48 kHz, 128 Kbps) | Valeur par défaut pour toutes les archives, ou outputMode=composed | Jusqu'à 16 flux vidéo (50 audio) | Produire une vidéo prête à être visionnée, partager un fichier unique, auto-archivage |
| Archives de flux individuels | ZIP contenant des données par flux .webm/.mkv et un manifeste JSON | Set (jeu de mots) outputMode=individual lors du démarrage de l'archive | Jusqu'à 50 flux vidéo (50 audio) | Flux de travail de post-production, mixage de mises en page personnalisées, enregistrements par participant |
Choisissez l'archivage composé lorsque vous souhaitez que Vonage fournisse un MP4 lisible dès la fin de l'enregistrement. Choisissez l'archivage de flux individuels lorsque vous avez besoin de captures de flux bruts pour l'édition, la conformité ou des expériences de lecture personnalisées.
Archives composées
L'enregistrement d'archive est un fichier MP4 unique composé de tous les flux. Il s'agit du réglage par défaut. Il est également utilisé pour sessions automatiquement archivées.
Le fichier MP4 utilise la vidéo H.264 et l'audio AAC (à 128 Kbps et une fréquence d'échantillonnage de 48 Khz).
Vous pouvez personnaliser la présentation d'une archive composée, en ajustant la disposition visuelle des flux et les flux qui sont affichés. Voir aussi Personnalisation de la présentation vidéo pour les archives composées.
Par défaut, les archives composées ont une résolution de 640x480 pixels (paysage SD). Pour définir une archive composée avec une résolution de 480x640 (SD portrait), 1280x720 (HD paysage), 720x1280 (HD portrait), 1920x1080 (FHD paysage), 1080x1920 (FHD portrait), définissez l'attribut resolution à la propriété 480x640, 1280x720, 1920x1080, 720x1280ou 1080x1920 lors de l'appel de la méthode de démarrage de l'archive du SDK du serveur vidéo de Vonage. Il se peut que vous souhaitiez utiliser un format portrait lors de l'enregistrement d'archives comprenant des flux vidéo provenant d'appareils mobiles (qui utilisent souvent le format portrait).
Notez que la prise en charge des résolutions FHD, "1920x1080" et "1080x1920", est actuellement une fonctionnalité bêta.
Vous pouvez définir le débit vidéo maximal d'un enregistrement d'archive composé afin de contrôler la taille de l'archive. Régler le maxBitrate lors de l'appel de l'option créer une nouvelle archive méthode. Spécifiez un débit, en bits par seconde, compris entre 100 000 et 6 000 000. Ce paramètre ne s'applique qu'à la méthode vidéo débit binaire de l'archive. Si l'archive de sortie contient de l'audio, ces bits seront exclus de la limite. Cette option n'est disponible que pour les archives composées (pas pour les archives de flux individuels). Lorsque vous définissez le débit maximum, l'archive utilise un débit constant.
Vous pouvez définir le paramètre de quantification (QP) pour une archive composée, afin d'ajuster le compromis entre la qualité vidéo et la taille du fichier. Régler le paramètre de quantification (QP) quantizationParameter lors de l'appel de l'option créer une nouvelle archive méthode. Le réglage du paramètre de quantification permet à l'archive d'utiliser un débit variable et une quantification constante de la compression, ce qui permet d'obtenir un niveau de qualité constant lors des changements de scène. Les valeurs valides sont comprises entre 15 et 40, et 20 à 30 produisent des résultats raisonnables sans grande différence de qualité perceptive. Des valeurs QP plus faibles produisent une quantification plus fine de la compression vidéo, ce qui se traduit par une qualité vidéo accrue (en conservant plus de détails vidéo) et une taille de fichier plus importante. Des valeurs QP plus élevées produisent une quantification plus grossière de la compression vidéo, ce qui diminue la qualité vidéo et réduit la taille du fichier. Il n'est pas possible de définir à la fois l'option quantizationParameter et la propriété maxBitrate ce qui entraînerait une erreur.
Remarque : Actuellement, le réglage du paramètre de quantification n'est disponible que dans l'API REST, et non dans les SDK du serveur de l'API Video de Vonage.
Par défaut, si vous ne définissez pas quantizationParameter ou maxBitrate lors de la création d'une archive composée, l'archive utilise un encodage à débit variable avec un paramètre de quantification de 19 (très haute qualité).
Enregistrements d'archives de flux individuels
L'archive est un fichier conteneur ZIP contenant plusieurs fichiers multimédias individuels pour chaque flux, ainsi qu'un fichier de métadonnées JSON pour la synchronisation vidéo.
Vous pouvez spécifier ce format lorsque vous utilisez l'un des SDK du serveur vidéo de Vonage pour démarrer l'archive. Ce format n'est pas disponible pour sessions automatiquement archivées.
Remarque : dans une archive composée, si l'archivage est lancé et qu'aucune donnée n'est diffusée pendant la durée de l'archive (aucune publication audio ou vidéo), la taille du fichier d'archive sera de 0 octet.
Dans une archive composée, la vidéo de chaque flux inclus peut commencer légèrement après l'audio
(la vidéo apparaissant en noir jusqu'à ce qu'elle commence).
Travailler avec des enregistrements d'archives de flux individuels
Le mode d'archivage des flux individuels est destiné à être utilisé avec un outil de post-traitement, afin de produire un contenu personnalisé généré par votre application. Les développeurs doivent tenir compte de certaines considérations lorsqu'ils choisissent d'utiliser cette fonctionnalité.
Conteneurs de flux individuels
Les archives de flux individuels sont livrées sous forme d'archives ZIP, contenant des fichiers pour chaque flux audio-vidéo :
- Chaque conteneur de flux dans l'archive correspond à un flux publié sur la plate-forme vidéo de Vonage. L'ID de flux de l'éditeur correspond au nom de fichier correspondant, et chaque ID de flux est déclaré dans le fichier manifeste des archives.
Lorsqu'un flux est interrompu et repris en raison d'une reconnexion automatique ou lorsqu'un flux est ajouté et supprimé de manière répétée dans une archive manuelle du mode fluxL'archive ZIP comprendra des fichiers distincts pour chacun des segments du cours d'eau.
Les conteneurs de flux sont soit de type
.webmou.mkven fonction de la configuration de votre application. Archives pour les applications pour lesquelles VP8 est défini comme l'option codec vidéo préféré avoirwebmet les applications pour lesquelles H.264 est le codec vidéo préféré utilisent l'optionmkvformat. Voir aussi Notes sur l'archivage des vidéos VP9 pour plus de détails sur la vidéo VP9 en indiviLes conteneurs d'archives de flux individuels sont une capture de toutes les données vidéo et audio reçues par le serveur d'archives. Ce média n'est pas traité et, par conséquent, dans la plupart des cas, le conteneur n'est pas adapté à une lecture directe.
Le conteneur de flux est traité comme un flux de transport - tous les médias reçus par le serveur d'archives sont écrits directement dans le fichier, sans inspection ni post-traitement. Cette conception a des implications pour la consommation en aval des conteneurs de flux. Dans la plupart des cas, la lecture directe d'un conteneur d'archive individuel ne sera pas possible ou posera des problèmes en raison du contenu du conteneur :
Les dimensions déclarées pour l'en-tête du flux sont rarement correctes. Actuellement, les en-têtes du conteneur affichent une piste vidéo de 640x480 pixels, quelles que soient les dimensions des images vidéo encodées.
Les dimensions des images vidéo changent au fil du temps. Il peut également s'agir de modifications du rapport hauteur/largeur, en particulier dans le cas des flux de partage d'écran.
Les trames audio et vidéo peuvent ne pas arriver avec des horodatages monotones ; les fréquences d'images ne sont pas toujours cohérentes. Ceci est particulièrement important si la piste vidéo ou audio est désactivée pendant un certain temps, en utilisant l'une des méthodes suivantes
publishVideooupublishAudioles propriétés de l'éditeur.
Les horodatages de présentation des trames (PTS) sont écrits sur la base des horodatages NTP pris au moment de la capture, décalés par l'horodatage de la première trame reçue. Même si le son d'une piste est coupé, puis rétabli, le décalage de l'horodatage doit rester constant pendant toute la durée du flux. Lors du décodage en post-traitement, il y aura un écart de PTS entre les images consécutives pendant la durée de la mise en sourdine de la piste : il n'y a pas d'images "silencieuses" dans le conteneur.
Pour produire un contenu visualisable à partir de fichiers d'archivage de flux individuels, vous devez faire passer le média par un post-processeur afin de réparer les conteneurs de flux individuels ou de multiplexer/composer plusieurs conteneurs en un produit final.
Manifeste d'enregistrement de flux individuels
Les archives de flux individuelles comprennent un fichier de métadonnées JSON, qui fournit des informations sur les enregistrements de flux inclus dans l'archive. Ce fichier a le format suivant :
{
"createdAt" : 1429305105162,
"files" : [
{
"connectionData" : "connection data for this stream's connection",
"filename" : "a1475893-99f5-4f02-b697-5d69e8e30d19.webm",
"size" : 5558064,
"startTimeOffset" : 3119,
"stopTimeOffset" : 48765,
"streamId" : "a1475893-99f5-4f02-b697-5d69e8e30d19",
"videoType": "camera"
},
{
"connectionData" : "connection data for this stream's connection",
"filename" : "5ab71b7b-d998-4683-ad2b-7769d6533666.webm",
"size" : 5396527,
"startTimeOffset" : 2799,
"stopTimeOffset" : 48764,
"streamId" : "5ab71b7b-d998-4683-ad2b-7769d6533666",
"videoType": "screen"
}
],
"id" : "297b9c62-78b3-4152-9e98-7e167354c9e6",
"name" : "archive name",
"partnerId" : 123456,
"sessionId" : "2_MX4xMDB-fjE0MjkzMDQ3NzY3NTZ-WUpRUGVFUmhFSkRmVGljeU5zVnJpaXYxfn4"
}
| Nom | Description |
|---|---|
id | L'identifiant unique de cette archive. |
partnerId | L'identifiant du partenaire/de l'application de cette archive. |
sessionId | L'identifiant unique de cette archive. |
name | Le nom de cette archive. Ce champ est vide si name n'a pas été spécifié dans l'appel à l'archive de démarrage... |
createdAt | L'heure Unix en millisecondes à laquelle l'archive a démarré. |
files | Un tableau de fichiers inclus dans le conteneur ZIP. Chaque fichier possède les propriétés suivantes : |
streamId | L'identifiant de flux correspondant au flux enregistré dans ce fichier. Lorsqu'un flux est interrompu et repris en raison d'une reconnexion automatique ou lorsqu'un flux est ajouté et supprimé de manière répétée dans une archive en mode manuel, l'archive du flux individuel comprendra des fichiers distincts pour chacun des segments individuels du flux. |
filename | Le nom du fichier multimédia enregistré. Il s'agira d'un .webm pour une archive d'une session dans une application qui utilise VP8 comme codec vidéo préféré, et d'un .mkv pour une archive d'une session dans une application qui utilise H.264 comme codec vidéo préféré. Si un flux est interrompu et repris en raison d'une reconnexion automatique ou lorsqu'un flux est ajouté et supprimé à plusieurs reprises dans une archive en mode de flux manuel, plusieurs fichiers peuvent être présents pour le même flux (correspondant à chaque segment), et le nom de fichier pour chaque segment de flux sera accompagné d'un numéro d'index (tel que "1" ou "2") après l'ID du flux afin d'identifier l'ordre du segment. |
startTimeOffset | Décalage, en millisecondes, du début de l'enregistrement de ce fichier (à partir de l'heure de création (createdAt) de l'archive) - voir la note importante ci-dessous. |
stopTimeOffset | Décalage, en millisecondes, du moment où ce fichier a cessé d'enregistrer (à partir de l'heure de création (createdAt) de l'archive) - voir la note importante ci-dessous. |
connectionData | Les données de connexion pour le client de publication. |
videoType | Soit camera, screenou custom. A screen vidéo utilise le partage d'écran sur l'éditeur comme source vidéo ; une custom est publiée par un client web à l'aide d'un élément HTML VideoTrack en tant que source vidéo. Pour un flux publié à partir d'un appareil mobile, le type d'écran peut passer d'une caméra à un type de vidéo en partage d'écran. Cependant, la propriété du manifeste d'enregistrement n'indique que le type de vidéo initial. |
Important : Dans un enregistrement de flux individuelsSi, pendant une courte période, aucun flux n'est publié au cours de l'enregistrement, le système de gestion des flux de l'UE est mis à jour. startTimeOffset et stopTimeOffset peuvent être décalées d'un bit. Il s'agit d'un problème connu.
Sélection des flux à inclure dans les archives
Lorsque vous démarrez une archive, si vous avez défini l'option streamMode à manualvous pouvez choisir les flux à inclure dans l'archive.
Vous pouvez ajouter et supprimer des flux pendant l'enregistrement de l'archive. Vous pouvez également spécifier si l'enregistrement de l'archive doit inclure l'audio ou la vidéo d'un flux (ou les deux).
Dans le cas contraire, avec le streamMode fixé à auto (par défaut), tous les flux sont inclus (avec l'audio et la vidéo) dans l'archive. Voir Lancer un enregistrement d'archive et Sélectionner les flux à inclure dans une archive.
Cependant, dans une archive composée, il y a une limite de 16 flux vidéo et 50 flux audio inclus en même temps (pour les modes de flux automatique et manuel), et les flux sont inclus sur la base des critères suivants règles de hiérarchisation des cours d'eau. Pour les archives en mode flux manuel, les mises à jour de flux sont envoyées en tant que Changement de statut des archives.
Archivage automatique des sessions d'enregistrement
Vous pouvez faire en sorte qu'une session soit automatiquement archivée en le spécifiant lors de la création de la session, à l'aide de l'un des SDK du serveur vidéo de Vonage.
L'archivage d'une session archivée automatiquement commence dès qu'un client se connecte à la session.
Remarque : si l'archivage est lancé et qu'aucune donnée n'est diffusée pendant la durée de l'archive (aucune publication audio ou vidéo), la taille du fichier d'archive sera de 0 octet.
Les sessions automatiquement archivées comprennent à la fois l'audio et la vidéo, et enregistrent tous les flux dans le même fichier MP4 (composé).
Toutefois, si l'enregistrement dure plus de 4 heures (14 400 secondes), la session est enregistrée dans plusieurs fichiers MP4 consécutifs, d'une durée maximale de 4 heures chacun, jusqu'à ce que l'enregistrement soit arrêté. Les archives automatiques consécutives d'une session se chevauchent légèrement, de sorte qu'aucune donnée enregistrée n'est manquée.
Vous pouvez appeler la méthode SDK côté serveur de Vonage Video pour lister les archives et transmettre le fichier sessionID pour dresser la liste des archives correspondant à l'identifiant de session spécifié.
Vous pouvez ensuite déterminer l'ordre des différents fichiers MP4 en consultant le fichier createdAt de chaque archive répertoriée dans les données JSON renvoyées.
Vous ne pouvez pas arrêter une archive automatique à l'aide des SDK du serveur. Les archives automatiques s'arrêtent 60 secondes après que le dernier client se soit déconnecté de la session ou 60 minutes après que le dernier client ait cessé de publier un flux dans la session.
Important : Si vous prévoyez de longues périodes pendant lesquelles l'archivage sera interrompu, vous devriez envisager de démarrer et d'arrêter les archives à l'aide des méthodes de l'un des SDK de Vonage Video Server (au lieu d'archiver la session automatiquement).
Vous devez absolument éviter de réutiliser les identifiants de session si vous utilisez l'archivage automatique. La réutilisation d'un identifiant de session peut entraîner l'échec de l'archivage automatique si un précédent archivage automatique de la session a expiré.
N'utilisez pas les archives automatiques pour les sessions de courte durée, telles que celles utilisées pour les appels préalables ou les tests de connectivité. En effet, les archives automatiques s'arrêtent 60 secondes après que le dernier client s'est déconnecté de la session ou 60 minutes après que le dernier client a cessé de publier un flux dans la session (si le client reste connecté après la publication).
Note : Si vous souhaitez lisser deux enregistrements consécutifs avec une intersection de médias se chevauchant entre la fin de la première archive et le début de la seconde, vous pouvez utiliser notre outil de post-traitement d'archives composées, expliqué ci-dessous.
Post-traitement des archives composées
Les enregistrements d'archives vidéo ont une durée d'enregistrement des archives jusqu'à 4 heures et 14 400 secondes. Par conséquent, une session vidéo plus longue ne sera pas enregistrée dans un seul fichier d'archive. Pour éviter de perdre une partie de la session, utilisez la fonction sessions automatiquement archivées qui permet de générer plusieurs fichiers pour couvrir l'ensemble de la session. Il est également possible d'utiliser la fonction archives simultanées pour commencer un deuxième enregistrement avant de terminer le précédent. Dans les deux cas, ces archives sont générées avec un court chevauchement entre la fin d'un fichier et le début du suivant.
Si vous préférez avoir un seul fichier contenant l'ensemble de la session, vous pouvez utiliser l'option Post-traitement des archives composées qui fusionne des enregistrements consécutifs qui se chevauchent et tente de rendre la transition aussi fluide que possible. Vous pouvez utiliser cet outil pour générer un fichier unique mais plus long qui contient des médias provenant de plusieurs fichiers d'archive plus courts. Pour plus de détails, voir le guide du développeur Post-traitement des archives composées. L'outil est disponible à l'adresse suivante https://github.com/Vonage/archive-post-processing.
Vous pouvez également utiliser cet outil avec des enregistrements vidéo qui ne sont pas créés en tant qu'archives vidéo Vonage, à condition qu'il y ait un certain chevauchement des médias et que les enregistrements vidéo remplissent une série de caractéristiques, telles que l'utilisation des codecs H264 et AAC LC pour la vidéo et l'audio.
Enregistrements simultanés d'archives
Pour enregistrer simultanément plusieurs archives pour la même session, réglez le paramètre multiArchiveTag au démarrage de chaque archive. Vous devez définir une chaîne unique pour chaque enregistrement simultané d'une session en cours.
Vous pouvez utiliser différentes présentations et attribuer différents flux à chaque enregistrement d'archive simultané.
En sessions automatiquement archivées, fixer le multiArchiveTag pour lancer une nouvelle archive simultanée qui est archivée en même temps que les archives automatiques. Les archives automatiques démarrent et se terminent lorsque la session démarre et s'arrête d'elle-même (en suivant les règles des archives automatiques), tandis que vous arrêtez séparément les archives lancées manuellement.
Changement de l'état de l'enregistrement des archives
Vous pouvez enregistrer une URL de rappel pour recevoir une notification lorsque l'état d'une archive change. Le statut d'une archive est défini comme suit :
| Nom | Description |
|---|---|
started | Les archives ont commencé et sont en cours d'enregistrement. |
paused | Lorsqu'une archive est en pause, rien n'est enregistré. L'archive est mise en pause si aucun client ne publie de flux dans la session (dans ce cas, il y a un délai de 60 minutes, après quoi l'archive s'arrête et l'état de l'archive devient stopped) ou que tous les clients déconnectent la session (dans ce cas, l'enregistrement s'arrête au bout de 60 secondes et l'état devient stopped). Si un client reprend la publication alors que l'enregistrement se trouve dans la zone paused puis l'enregistrement reprend et l'état repasse à started. |
stopped | L'enregistrement s'est arrêté. |
uploaded | L'archive peut être téléchargée à partir de la cible de téléchargement de l'archive que vous avez spécifiée dans votre Account Vonage. Notez que pour les très petites archives, l'option uploaded peut se produire avant que le stopped Si vous avez le repli du stockage d'archives activé, nous stockerons l'archive dans le nuage de Vonage (et le statut sera "available"). |
available | L'archive peut être téléchargée à partir du nuage de Vonage. |
expired | Les archives ne peuvent plus être téléchargées à partir du nuage de Vonage. Les enregistrements sur le nuage de Vonage ne sont disponibles que pendant 72 heures à partir du moment où ils ont été créés. |
failed | L'enregistrement de l'archive a échoué (ou le téléchargement du fichier d'archive a échoué et le stockage de secours sur le nuage de Vonage est désactivé). |
streamAdded | Stream a été ajouté à l'archive. Ceci s'applique aux le repli du stockage d'archives archives uniquement. |
streamRemoved | Un flux a été retiré de l'archive. Ceci s'applique aux mode manuel archives uniquement. |
Utilisez votre Account Vonage pour spécifier une URL de rappel. Lorsqu'un statut d'archive change, le serveur envoie des requêtes HTTP POST à l'URL que vous spécifiez. L'adresse Content-Type pour la demande est application/json. Les données de la demande sont un objet JSON de la forme suivante :
{
"id" : "b40ef09b-3811-4726-b508-e41a0f96c68f",
"event": "archive",
"createdAt" : 1384221380000,
"duration" : 328,
"name" : "Foo",
"partnerId" : 123456,
"reason" : "",
"resolution" : "640x480",
"sessionId" : "2_MX40NzIwMzJ-flR1ZSBPY3QgMjkgMTI6MTM6MjMgUERUIDIwMTN-MC45NDQ2MzE2NH4",
"size" : 18023312,
"status" : "available",
"url" : "https://tokbox.com.archive2.s3.amazonaws.com/123456/b40ef09b-3811-4726-b508-e41a0f96c68f/archive.mp4"
}
L'objet JSON comprend les propriétés suivantes :
| Propriété | Description |
|---|---|
createdAt | Horodatage de l'appel au démarrage de l'archive, exprimé en millisecondes depuis l'époque Unix (1er janvier 1970, 00:00:00 UTC). Cette valeur est arrondie à la seconde la plus proche. Notez également que cette valeur diffère de la valeur createdAt dans la méthode de récupération de l'archive et la valeur createdAt dans le manifeste d'une archive de flux individuelle. Dans ces manifestes, la valeur createdAt est fixée à l'heure à laquelle l'enregistrement a effectivement commencé sur les serveurs de Vonage (et non à l'heure à laquelle l'appel pour démarrer l'enregistrement a eu lieu). Notez que même si un appel pour démarrer une archive est émis, l'enregistrement ne commencera pas effectivement sur le serveur Vonage jusqu'à ce qu'au moins un client publie un flux dans la session. |
duration | La durée de l'archive en secondes. Pour les archives en cours (dont la propriété status est définie sur started), cette valeur est fixée à 0. |
id | L'identifiant unique de l'archive. |
name | Le nom de l'archive que vous avez fourni (facultatif). |
partnerId | Votre ID d'application Vonage. |
resolution | La résolution de l'archive (soit 640x480, 480x640, 1280x720, 720x1280, 1920x1080ou 1080x1920). Cette propriété n'est définie que pour les archives composées. Vous pouvez définir la résolution d'une archive composée en appelant la méthode de démarrage de l'archive du SDK côté serveur de Vonage Video. |
reason | Chaîne de caractères décrivant la raison du changement d'état.stopped ou failedCette chaîne décrit la raison pour laquelle l'archive s'est arrêtée ou a échoué. Pour les archives ayant le statut stopped, elle peut être réglée sur maximum duration exceeded, maximum idle time exceeded, session endedou user initiated.failed, elle peut être réglée sur Internal server failure.streamRemovedil peut être défini comme la raison pour laquelle le flux a été supprimé de la session (et de l'archive) : clientDisconnected, networkDisconnected, forceDisconnected, forceUnpublished, mediaStopped. |
sessionId | L'identifiant de session de la session vidéo Vonage qui a été archivée. |
size | La taille du fichier d'archive. Pour les archives qui n'ont pas été générées, cette valeur est fixée à 0. |
status | L'état de l'archive : |
available | L'archive peut être téléchargée à partir du site de Vonage. |
expired | Les archives ne peuvent plus être téléchargées à partir du nuage de Vonage. Les enregistrements sur le nuage de Vonage ne sont disponibles que pendant 72 heures à partir du moment où ils ont été créés. |
failed | L'enregistrement de l'archive a échoué. |
paused | Lorsqu'une archive est en pause, rien n'est enregistré. L'archive est mise en pause si aucun client ne publie de flux dans la session (dans ce cas, il y a un délai de 60 minutes, après quoi l'archive s'arrête et l'état de l'archive devient stopped) ou que tous les clients déconnectent la session (dans ce cas, l'enregistrement s'arrête au bout de 60 secondes et l'état devient stopped). Si un client reprend la publication alors que l'archive se trouve dans la section paused puis l'enregistrement reprend et l'état repasse à started. |
started | Les archives ont commencé et sont en cours d'enregistrement. |
stopped | L'enregistrement s'est arrêté. |
uploaded | L'archive est disponible au téléchargement depuis le seau S3 ou le conteneur Azure que vous avez indiqué dans votre Account Vonage. Notez que pour les très petites archives, l'option uploaded peut se produire avant que le stopped événement de statut. |
streamMode | Si tous les flux sont inclus dans l'archive (auto) ou vous sélectionnez les flux à inclure dans l'archive (manual). Voir aussi Sélection des flux à inclure dans une archive. |
streams | Un tableau d'objets correspondant aux flux en cours d'archivage. Ce tableau n'est défini que pour une archive dont le statut est défini à started. Chaque objet du tableau comprend les propriétés suivantes : |
streams | L'identifiant du flux inclus dans l'archive. |
hasAudio | Indique si l'audio du flux est inclus dans l'archive. |
hasVideo | Indique si la vidéo du flux est incluse dans l'archive. |
url | L'URL de téléchargement du fichier d'archive disponible. Elle n'est définie que pour une archive dont le statut est défini sur available; pour les autres archives, (y compris les archives ayant le statut "uploaded"), cette propriété est définie comme nulle. Pour des raisons de sécurité, l'URL de téléchargement n'est disponible qu'en cas d'appel à l'API REST (ou au SDK du serveur) pour la propriété recherche d'informations dans les archives ou archives des listesou en accédant à l'URL en vous connectant à votre Video API Account en ligne (qui nécessitent tous une authentification). Au bout de 10 minutes, l'URL de téléchargement expirera et une nouvelle URL sera attribuée lors d'une nouvelle demande. |
timestamp | Pour manuel l'horodatage de l'événement, exprimé en millisecondes depuis l'époque Unix (1er janvier 1970, 00:00:00 UTC). |
stream | Pour manuel les mises à jour des flux, les propriétés :id L'identifiant du flux ajouté ou supprimé dans l'archive.connection L'objet de connexion pour le flux, qui comprend une propriété : id. Les id est l'identifiant de connexion du flux ajouté ou supprimé dans l'archive.createdAt L'horodatage du début du flux, exprimé en millisecondes depuis l'époque Unix (1er janvier 1970, 00:00:00 UTC). Cette valeur est arrondie à la seconde la plus proche. |
Vous pouvez également consulter l'état des archives dans votre Account Vonage :
- Accédez au tableau de bord de votre Account Vonage.
- Dans la liste des applications située à gauche de la page, sélectionnez l'application qui contiendra les sessions que vous archivez.
- Dans la section archivage, cliquez sur l'onglet Liste des archives. Les détails des archives de l'application sont répertoriés.
Sécurité de l'enregistrement des archives
Vous pouvez sécuriser vos archives de la manière suivante :
- Désactiver le repli du stockage de l'enregistrement des archives - Par défaut, Vonage stocke un fichier d'archive sur les serveurs Vonage s'il n'a pas pu télécharger le fichier sur le serveur S3 ou Azure spécifié. Pour empêcher ce stockage de repli (qui est activé par défaut), connectez-vous à votre Account Vonage, sélectionnez l'application et définissez l'option pour désactiver le repli du stockage des archives.
- Utiliser le cryptage Vonage - Cela vous permet de créer des archives Vonage où les données ne sont jamais au repos dans un état non crypté. Parmi les méthodes disponibles pour sécuriser vos enregistrements Vonage, c'est celle qui offre le plus haut niveau de sécurité. Cette fonction est disponible en tant que module complémentaire. Pour plus d'informations, voir la documentation sur le cryptage de Vonage.
- Utiliser le cryptage côté serveur Amazon S3 - Ce système utilise des clés de chiffrement gérées par Amazon S3 pour le chiffrement. En savoir plus sur le cryptage côté serveur d'Amazon S3 ici.
Combiner l'archivage avec Experience Composer
Il est possible de combiner l'archivage et la Compositeur d'expérience.