Tableau de bord et API de Video Insights
L'API Video Insights de Vonage est un outil de gestion de l'information. API GraphQL. Vous pouvez utiliser le tableau de bord et l'API Video Insights pour obtenir des informations sur vos applications et sessions Vonage Video.
Tableau de bord Video Insights
Remarque : Veuillez cliquer sur ici pour obtenir des informations sur la conservation des données et la latence.
Le tableau de bord Insights fournit des données au niveau des Applications. Vous pouvez y accéder en vous connectant à votre compte Compte Video API de VonagePour cela, allez dans la section Video Analytics et sélectionnez une application vidéo spécifique de Vonage.
API Insights, URL de base et authentification
L'API Insights est une API GraphQL qui vous permet d'explorer les métadonnées de vos sessions au niveau des applications et des sessions. GraphQL est une alternative à l'approche REST typique d'accès aux données via HTTP. Il a été développé par Facebook en 2012 et ouvert à tous en 2015. À consulter Guide de démarrage de GraphQL pour en savoir plus.
L'URL de base de l'API est la suivante :
Toutes les demandes sont formulées en tant que HTTP POST.
Explorer le schéma de l'API avec GraphiQL
Naviguer vers https://tools.vonage.com/video/insights-api/ à l'aide de votre navigateur vous amène à l'instance Insights de GraphiQLLe logiciel GraphQL API est un outil qui vous permet d'explorer le schéma de l'API GraphQL. Comme l'outil peut effectuer des demandes d'API, vous devez être connecté pour l'utiliser.
Cet outil comporte cinq fenêtres :
- Dans le coin supérieur droit de l'outil, vous verrez apparaître une icône Docs . En cliquant sur ce bouton, vous ouvrez un volet contenant la documentation du schéma. En cliquant dessus, vous ouvrez un volet contenant la documentation du schéma. Chaque champ et type d'objet de la documentation contient une description. Cliquez dessus pour explorer le schéma.
- Sur le côté gauche de la page se trouve le Demande de renseignements . Dans ce volet, vous pouvez construire des requêtes à exécuter contre l'API. Les allers-retours entre le volet Docs et le volet Demande de renseignements vous permet de construire la requête précise dont vous avez besoin pour obtenir uniquement les informations dont vous avez besoin. Comme vous êtes connecté, l'authentification pour effectuer des requêtes est prise en charge pour vous.
- En dessous de la Demande de renseignements est le volet Variables d'interrogation (panneau de commande). Bien que cela ne soit pas obligatoire, vous pouvez l'utiliser pour spécifier des variables pour votre requête. Par exemple, vous pouvez définir les variables suivantes dans ce volet :
{
"APPLICATION_ID": "23456ab-12ab-1234-23bc-123456789abc",
"START_TIME": "2025-01-01T08:00:00.000Z"
}
Ensuite, dans le volet Requête, faites référence à toutes les variables déclarées :
query ($APPLICATION_ID: String!, $START_TIME: Date!) {
application(applicationId: $APPLICATION_ID) {
applicationData(
start: $START_TIME,
interval: AUTO,
sdkType: [JS, IOS, ANDROID],
groupBy: [SDK_TYPE]
) {
resources {
sdkType
intervalStart
intervalEnd
usage {
participantMinutes {
from1To25Publishers
from26To35Publishers
from36PlusPublishers
}
}
}
}
}
}
- A droite de la Demande de renseignements est le volet Réponse . En cliquant sur le bouton Exécuter dans l'outil, la requête sera exécutée dans le volet Demande de renseignements et le volet Réponse affiche les résultats. Il s'agit de la même réponse que celle que vous obtiendriez si vous faisiez la requête par programme.
- Enfin, cliquez sur le bouton L'histoire au-dessus du volet d'interrogation pour afficher l'historique de vos dernières requêtes. En cliquant sur l'un des éléments affichés, vous remplirez le champ Demande de renseignements et le volet Variables d'interrogation avec ces données.
Obtention des données d'application
Les applicationData de l'objet de l'application renvoie le champ ApplicationData qui fournit des données de rapport agrégées au niveau de l'application.
Vous devez inclure un start date de la requête. Cette valeur peut être une chaîne de format ISO-8601 (telle que "2025-01-15T23:43:34.023Z") ou une valeur Int représentant un horodatage d'époque. Les nombres entiers de 10 chiffres ou moins représentent des secondes d'époque. Les nombres entiers de plus de 10 chiffres représentent des millisecondes d'époque.
Les ApplicationData comprend un objet resources qui est un tableau de Metric objets. Vous avez la possibilité de filtrer et de regrouper les données en fonction du type de SDK, de la version du SDK, du pays, de la région, du navigateur ou de la version du navigateur. En outre, vous avez la possibilité de modifier l'attribut Interval dans lequel vous souhaitez segmenter les données (soit DAILY, WEEKLYou MONTHLY). Notez que si vous définissez l'option Intervalvous ne verrez que les intervalles de temps qui contiennent des données.
Note : Les données Insights au niveau de l'application sont généralement disponibles dans un délai de 36 à 48 heures.
Remarque : Le filtrage par région, SDK et navigateur n'est pas disponible pour les procès-verbaux des participants et des archives.
Les Metric comprend des informations sur le pays, la région (État américain, le cas échéant), le type et la version de Vonage Video SDK, ainsi que le navigateur et la version du navigateur (le cas échéant) pour les résultats. L'objet Metric comprend également les propriétés suivantes :
usage- Informations sur les minutes de flux publiées, les minutes de flux souscrites, l'utilisation des archives, l'utilisation de la diffusion, l'utilisation SIP et l'utilisation séparée par niveaux d'éditeur.quality- Informations sur la qualité vidéoerrors- Les taux d'échec pour la connexion aux sessions, la publication et l'abonnement
La requête suivante demande des résultats ApplicationData qui incluent les minutes des participants pour les clients utilisant les SDK JavaScript, Android et iOS de Vonage Video :
{
application(applicationId: "23456ab-12ab-1234-23bc-123456789abc") {
applicationData(
start: "2025-01-01T07:00:00.000Z",
interval: MONTHLY,
sdkType: [JS, ANDROID, IOS],
groupBy: SDK_TYPE
) {
resources {
intervalStart,
intervalEnd,
usage {
participantMinutes {
from1To25Publishers
from26To35Publishers
from36PlusPublishers
}
}
}
}
}
}
Il convient de noter qu'en définissant le start à 0, vous demanderez les résultats en commençant par les premiers enregistrements disponibles.
Problème connu : Les données relatives au nom et à la version du navigateur sont null ou vide dans certains résultats quotidiens avant le 14 septembre 2023. Les valeurs sont incluses à partir du 14 septembre 2023.
Obtention des données de session (Advanced Insights)
Remarque : Veuillez cliquer sur ici pour obtenir des informations sur la conservation des données et la latence.
Important : Les requêtes de données de session sont disponibles pour Clients d'Advanced Insights seulement.
Les sessionData du champ application renvoie l'objet SessionData objet. Cet objet comprend deux champs : sessions et sessionSummaries.
Informations détaillées sur la session
Les sessions renvoie un champ Sessions objet. Transmettez les identifiants de session en tant qu'éléments de l'objet sessionIds (un tableau de chaînes de caractères correspondantes). L'argument Sessions comprend un objet resources qui est un tableau de Session objets. Les Session possède les propriétés suivantes :
mediaMode- Le mode média de la session. Il s'agit de"routed"pour les sessions acheminées par le routeur vidéo de Vonage ou le routeur vidéo de Vonage."relayed"pour la diffusion directe en continu d'un poste à l'autre.publisherMinutes- Le nombre total de minutes diffusées pour tous les éditeurs de la session. Notez que l'inclusion de ce champ ralentira les résultats de la requête.subscriberMinutes- Nombre total de minutes de diffusion pour tous les abonnés de la session. Notez que l'inclusion de ce champ ralentira les résultats de la requête.participantMinutes- Le nombre total de minutes séparées par tranches d'éditeurs pour toutes les réunions de la session.meetings- Un tableau deMeetingUne session Vonage Video peut avoir plusieurs objets. réunions. Lorsque le premier client se connecte à la session, la première réunion commence. La réunion se termine lorsqu'il n'y a plus de connexions dans la session pendant au moins 10 minutes. Lorsqu'un client se connecte à nouveau, une nouvelle réunion commence. Chaque objet Réunion comprend les propriétés suivantes :subscriberMinutes- Le nombre total de minutes de l'abonné dans la réunion.publisherMinutes- Le nombre total de minutes de l'éditeur dans la réunion.participantMinutes- Le nombre total de minutes séparées par les niveaux d'éditeurs dans la réunion.connections- Un tableau d'objets Connexion définissant chaque client connecté à la session (pendant la réunion). Les propriétés de l'objet Connexion comprennent des informations sur le Client SDK Vonage Client utilisé, le navigateur utilisé (pour les clients Web), des informations sur les éditeurs et les abonnés, etc.publishers- Un tableau d'objets Publisher. Les propriétés de l'objet Publisher comprennent des informations sur le flux de l'éditeur, les abonnés au flux, les statistiques du flux, etc. (Les statistiques de flux sont incluses dans le module complémentaire Advanced Insights. Voir Obtenir des statistiques sur les flux.)subscribers- Tableau d'objets Subscriber, fournissant des détails sur chaque abonné. Les propriétés de l'objet Abonné comprennent des informations sur le flux de l'abonné, des statistiques sur le flux, etc. (Les statistiques de flux sont incluses dans le module complémentaire Advanced Insights. Voir Obtenir des statistiques sur les flux.)createdAtetdestroyedAt- Horodatage du début et de la fin de la réunion.
Remarque : Si tous les utilisateurs sont déconnectés d'une réunion et qu'une nouvelle connexion à la session est établie dans les 10 minutes, une nouvelle réunion sera créée avec le même identifiant que la première. Toutefois, si la nouvelle connexion est établie après 10 minutes, la nouvelle réunion recevra un numéro d'identification unique.
Exemple de requête détaillée de session
La requête suivante demande des informations sur l'éditeur de deux sessions Vonage Video :
{
application(applicationId: "23456ab-12ab-1234-23bc-123456789abc") {
sessionData {
sessions(sessionIds: [
"1_MX4xMDB-fjE1Mzg4NzA0MjExNDd-VjRuSWhpn4",
"2_MX4xMDB-fjE1Mzg4NzA0OTQzOTN-RFFxeXfcn4"
]) {
resources {
sessionId
meetings {
totalCount
resources {
createdAt
publisherMinutes
destroyedAt
publishers {
resources {
createdAt
destroyedAt
connectionId
stream {
streamId
}
}
}
}
}
}
}
}
}
}
Obtenir des statistiques sur les flux
Remarque : Les statistiques sur les flux sont disponibles pour Clients d'Advanced Insights seulement.
Les resources de l'objet MeetingPublishers est un tableau d'objets Publisher. L'objet Publisher inclut l'objet PublisherStreamStatsCollection. Cet objet est une collection de ressources, et sa propriété resources est un tableau d'objets PublisherStats. Chaque objet PublisherStats contient des statistiques de flux pour l'éditeur, prises périodiquement (toutes les 30 secondes) au cours de la diffusion en continu de l'éditeur. Ces statistiques comprennent des données sur la latence audio et vidéo, le débit binaire audio et vidéo, le taux de perte de paquets audio et vidéo, la résolution vidéo, les codecs audio et vidéo, et si le flux comprenait de l'audio et de la vidéo au moment de l'instantané des statistiques du flux.
La requête suivante demande les statistiques périodiques de débit audio et vidéo pour les éditeurs dans une session vidéo Vonage :
{
application(applicationId: "23456ab-12ab-1234-23bc-123456789abc") {
sessionData {
sessions(sessionIds: [
"1_MX4xMDB-fjE1Mzg4NzA0MjExNDd-VjRuSWhpn4",
]) {
resources {
sessionId
meetings {
resources {
createdAt
publishers {
resources {
createdAt
connectionId
stream {
streamId
}
streamStatsCollection {
resources {
createdAt
audioBitrateKbps
videoBitrateKbps
}
}
}
}
}
}
}
}
}
}
}
De même, le resources de l'objet MeetingSubscribers est un tableau d'objets Subscriber, et chacun d'entre eux comprend une collection de ressources SubscriberStreamStatsCollection, qui inclut des statistiques de flux similaires pour un abonné.
Résumé de la session
Remarque : Le résumé de la session est disponible pour Clients d'Advanced Insights seulement.
Les sessionSummaries est un tableau de SessionSummary (un pour chaque session correspondant à la requête). L'objet SessionSummary comprend un resources qui est un tableau de MeetingSummary (un pour chaque réunion de la session). Les objets MeetingSummary comprend des informations sur le nombre de flux, de connexions et d'abonnés totaux et simultanés dans la réunion.
Les deux SessionSummary et MeetingSummary Les objets comprennent publisherMinutes, subscriberMinuteset participantMinutes propriétés. Celles-ci indiquent le nombre total de minutes diffusées pour tous les éditeurs et abonnés de la session ou de la réunion. Y compris participantMinutes les comptes-rendus séparés par niveau d'éditeur dans la session ou la réunion. Il est à noter que l'inclusion de publisherMinutes, subscriberMinutesou participantMinutes dans une requête ralentira les résultats.
La requête suivante demande des informations partielles SessionSummary les résultats :
{
application(applicationId: "23456ab-12ab-1234-23bc-123456789abc") {
sessionData {
sessionSummaries (
start: "2025-01-01T07:00:00.000Z",
) {
resources {
sessionId
meetings {
resources {
maxConcurrentStreams
maxConcurrentStreams
maxConcurrentSubscribers
totalStreams
totalConnections
}
}
}
}
}
}
}
Mesures de transcription après appel
Remarque : Mesures de transcription après appel sont disponibles pour Clients d'Advanced Insights seulement.
La requête suivante demande postCallTranscriptions données : est-elle activée, et nombre total de minutes passées par elle.
{
project(projectId: 12345678) {
sessionData {
sessions(sessionIds: ["1_MX4xMDB-fjE1Mzg4NzA0MjExNDd-VjRuSWhpn4"]) {
resources {
sessionId
meetings(meetingId: '23456ab-12ab-1234-23bc-123456789abc', first: 1) {
resources {
meetingId
postCallTranscriptions {
hasEnabled
totalMinutes
}
}
}
}
}
}
}
}
Mesures de la qualité SIP
La requête suivante ne fournit que les statistiques minimales de qualité SIP :
project(projectId: 12345678) {
sessionData {
sessions(sessionIds: [
"1_MX4xMDB-fjE1Mzg4NzA0MjExNDd-VjRuSWhpn4"
]) {
resources {
meetings {
resources {
connections {
resources {
sipCalls(first: 1) {
resources {
sipCallStatsCollection {
totalCount
resources {
audioCodec
audioLatencyMs
videoCodec
videoLatencyMs
}
}
}
}
}
}
}
}
}
}
}
}
Cette requête fournit des informations de base sur le protocole SIP sans statistiques :
project(projectId: 12345678) {
sessionData {
sessions(sessionIds: [
"1_MX4xMDB-fjE1Mzg4NzA0MjExNDd-VjRuSWhpn4"
]) {
resources {
meetings {
resources {
connections {
resources {
sipCalls(first: 10) {
resources {
sipCallId
connectionId
conferenceId
createdAt
}
}
}
}
}
}
}
}
}
}
Pour récupérer les statistiques complètes sur la qualité SIP, utilisez la requête suivante :
{
project(projectId: 12345678) {
sessionData {
sessions(sessionIds: [
"1_MX4xMDB-fjE1Mzg4NzA0MjExNDd-VjRuSWhpn4"
]) {
resources {
meetings {
resources {
connections {
resources {
sipCalls(first: 1) {
resources {
sipCallId
connectionId
conferenceId
createdAt
sipCallStatsCollection {
totalCount
resources {
audioCodec
audioLatencyMs
audioSentBitrateKbps
audioSentPacketLoss
videoCodec
videoLatencyMs
videoSentBitrateKbps
videoSentPacketLoss
}
}
}
}
}
}
}
}
}
}
}
}
Effectuer des requêtes POST à l'API GraphQL de Video Insights
Toutes les requêtes GraphQL de Video Insights sont adressées à https://tools.vonage.com/video/insights-api/graphql.
Régler le Content-Type à l'en-tête application/json.
Régler le Authorization à l'en-tête Bearer <JWT>où le JWT est généré pour votre application Vonage Video (à l'aide de sa clé privée) comme décrit dans la section Authentification Video API.
Le corps du message POST contient un objet JSON avec un seul élément query dont la valeur est la chaîne GraphQL.
Exemple de requête cURL pour obtenir les minutes souscrites en streaming :
Remplacer YOUR_VIDEO_JWT avec un JWT valide généré pour votre application vidéo Vonage (après avoir activé les capacités vidéo et signé avec la clé privée de l'application), APPLICATION_ID avec l'identifiant (UUID) de cette application, et START_DATE avec un horodatage ISO-8601 ou une valeur d'époque.
Objets de réponse
Les objets de réponse respectent le schéma GraphQL et sont formatés en JSON, mais ils n'incluent que les champs que vous avez spécifiés dans vos demandes. Les objets curl ci-dessus produira un objet de réponse semblable à celui qui suit :
{
"data":{
"application":{
"applicationData":{
"resources":[
{
"usage":{
"streamedSubscribedMinutes":3189
}
}
]
}
}
}
}
La façon la plus simple d'avoir un aperçu de ce qui vous attend est d'ajouter différents filtres, groupes et champs à la base de données des Insights GraphiQL Exploreret observer la réponse.
Utilisation de la pagination dans les requêtes
Les deux applicationData() et sessionData() Les API acceptent les options de pagination pour toutes les méthodes qui renvoient des listes (tableaux). Toutes ces méthodes mettent en œuvre une fonction ResourceCollection qui contiennent les propriétés optionnelles suivantes :
first(facultatif) - Le nombre d'entrées à renvoyer par page. La limite est de 10 pour les réunions et de 1000 pour toutes les autres collections de ressources. Le nombre d'entrées renvoyées par défaut est de 10 pour les réunions et de 50 pour toutes les autres collections de ressources.endCursor(facultatif) - Curseur de chaîne de caractères utilisé pour spécifier la page actuelle (décalage). La valeur de ce curseur est obtenue à partir de l'élémentpageInfopour chaque liste renvoyée. Si vous ne spécifiez pas deendCursorune requête renvoie la première page de résultats correspondante (le début de la liste).Les
pageInfo(renvoyé pour chaque liste) comprend les propriétés suivantes :hasNextPage- Propriété booléenne qui indique s'il y a plus de pages disponibles.endCursor- La chaîne à passer pour obtenir la page suivante.
Par exemple, la requête suivante renvoie des informations sur la pagination ainsi que les 10 premiers résultats.
applicationDataressources :
{
application(applicationId: "23456ab-12ab-1234-23bc-123456789abc") {
applicationData(
start: "2025-01-01T07:00:00.000Z",
first: 10,
interval: MONTHLY,
) {
pageInfo {
hasNextPage
endCursor
}
resources {
participantMinutes {
from1To25Publishers
from26To35Publishers
from36PlusPublishers
}
}
}
}
}
La réponse contient des informations sur la pagination :
{
"data": {
"application": {
"applicationData": {
"pageInfo": {
"hasNextPage": true,
"endCursor": "aW5zaWdodHMtcmVzb3VyY2U6MTA=="
},
"resources": [
{
"usage": {
"participantMinutes": {
"from1To25Publishers": 22,
"from26To35Publishers": 20,
"from36PlusPublishers": 10,
}
},
...
Utiliser le endCursor de cette réponse ("aW5zaWdodHMtcmVzb3VyY2U6MTA==") en tant que endCursor utilisée dans la requête pour obtenir la page suivante d'enregistrements correspondants :
{
application(applicationId: "23456ab-12ab-1234-23bc-123456789abc") {
applicationData(
start: 0,
first: 10,
interval: MONTHLY,
endCursor: "aW5zaWdodHMtcmVzb3VyY2U6MTA=="
) {
pageInfo {
hasNextPage
endCursor
}
resources {
usage {
participantMinutes {
from1To25Publishers
from26To35Publishers
from36PlusPublishers
}
}
}
}
}
Conservation des données et temps de latence
Aperçus / Tableau de bord des aperçus
Conservation des données :
- Agrégation quotidienne : 90 jours
- Agrégation mensuelle : 12 mois
Notes :
- Les données d'agrégation quotidiennes sont calculées sur la base de 00:00 - 23:59 PST/PDT.
- La période de conservation de l'agrégation quotidienne pour Insights API et Insights Dashboard a été mise à jour à 90 jours (au lieu de 60 jours) à compter du 12 août 2021. Les données agrégées quotidiennement pour les sessions vidéo après cette date seront disponibles pendant 90 jours.
Temps de latence prévu : 36 - 48 heures
Perspectives avancées
Conservation des données : 21 jours
Remarque : La période de conservation est basée sur l'heure de création d'une réunion au sein de la session.
Temps de latence prévu : 5 minutes
Remarque : Une session unique peut avoir plusieurs réunions. Une nouvelle réunion est définie lorsque la session n'est pas utilisée pendant 10 minutes. Veuillez vous référer à notre documentation sur Sessions ou réunions pour plus d'informations.
Codes d'erreur
Les erreurs sont incluses dans la réponse, dans un fichier errors comme dans le cas suivant :
"errors": [
{
"message": "You must provide a valid application ID.",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"application"
],
"errorCode": 1008
}
]
Le tableau suivant répertorie les codes d'erreur et leurs descriptions. Voir le message de l'erreur pour plus de détails.
| Code d'erreur | Description de l'erreur |
|---|---|
| 1000 | L'identifiant de l'application fourni n'est pas valide. |
| 1001 | Aucune authentification valide n'a été fournie. |
| 1002 | Plage de dates non valide. |
| 1003 | Paramètre non valide. Un seul intervalle de dates est autorisé. |
| 1004 | Paramètres non valides. |
| 1005 | Paramètre non valide. |
| 1006 | Paramètre non valide. La valeur doit être un entier. |
| 1007 | Paramètre non valide pour spécifier un numéro de version du SDK vidéo de Vonage. Le format requis est 0.0.0. |
| 1008 | Vous devez fournir une pièce d'identité valide pour la demande. |
| 1009 | Paramètre non valide. |
| 1010 | Le paramètre transmis n'est pas valide. Le paramètre n'accepte qu'une seule valeur. |
| 1011 | Jeton non valide. |
| 1012 | Erreur de serveur interne. |
| 1013 | Un paramètre obligatoire est manquant. |
| 1014 | La requête spécifiée nécessite l'utilisation de l'option Perspectives avancées complémentaire. |
| 1015 | L'identifiant de l'application spécifiée n'a pas été trouvé. |
| 1016 | La session a expiré. |
| 1017 | La session spécifiée n'a pas été trouvée. |
| 1018 | Vous devez fournir au moins un identifiant de session dans le tableau d'entrée. |
| 1019 | Le jeton ne correspond pas à l'identifiant de l'application. |
| 1020 | Impossible de valider le jeton. |
| 1021 | Vous n'êtes pas autorisé à consulter les données de cette application. |
| 1022 | Erreur de type. Voir les détails dans le message chaîne de caractères. |
Questions supplémentaires
Vous pouvez rechercher un identifiant de session sans inclure un identifiant de projet dans une requête :
{
project(sessionIds: "2_MX4xMDB-fjE3MTMyMTMwNDQ1NDV-Z29CLzhyejNha1N2M2RaV255Sno1RTZNfn5-") {
sessionData {
sessions {
resources {
mediaMode
sessionId
meetings {
totalCount
pageInfo {
hasNextPage
endCursor
}
resources {
meetingId
createdAt
destroyedAt
}
}
}
}
}
}
}
Vous pouvez utiliser le not opérateur pour projectData:
{
project(projectId: 12345678) {
projectData(
start: "2024-04-10T11:37:06.147Z"
interval: AUTO
not: {
sdkType:ANDROID
}
) {
resources {
intervalStart
intervalEnd
sdkType
sdkVersion
browser
usage {
streamedPublishedMinutes
streamedSubscribedMinutes
}
}
}
}
}
Vous pouvez filtrer les connexions en fonction de la localisation et du navigateur :
{
project(sessionIds: "2_MX4xMDB-fjE3MTMyMTMwNDQ1NDV-Z29CLzhyejNha1N2M2RaV255Sno1RTZNfn5-") {
sessionData {
sessions {
resources {
meetings {
resources {
connections(country: "US") {
totalCount
}
}
}
}
}
}
}
}
Vous pouvez définir un audioCodec filtre (pour PCMU, VP8, OPUS, TELEPHONEou OTHER), ou définir un videoCodec filtre (pour VP8, H264, VP9, RTXou OTHER) :
{
project(sessionIds: "2_MX4xMDB-fjE3MTMyMTMwNDQ1NDV-Z29CLzhyejNha1N2M2RaV255Sno1RTZNfn5-") {
sessionData {
sessions {
resources {
sessionId
meetings {
resources {
meetingId
createdAt
publishers {
resources {
createdAt
connectionId
stream {
streamId
}
streamStatsCollection(filters: { videoCodec: VP8} ) {
resources {
createdAt
audioBitrateKbps
videoBitrateKbps
}
}
}
}
}
}
}
}
}
}
}
Vous pouvez définir un mediaMode filtre à ROUTED ou RELAYED.
{
project(sessionIds: "2_MX4xMDB-fjE3MTMyMTMwNDQ1NDV-Z29CLzhyejNha1N2M2RaV255Sno1RTZNfn5-") {
sessionData {
sessionSummaries (
start: "2024-02-25T20:02:32.345Z"
filters: { mediaMode: ROUTED } ) {
resources {
sessionId
mediaMode
meetings {
totalCount
pageInfo {
hasNextPage
endCursor
}
resources {
meetingId
createdAt
destroyedAt
}
}
}
}
}
}
}