Analyser des fichiers vidéo et audio avec Azure Media Services

Logo de Media Services v3


Avertissement

Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.

Important

Comme le décrivent les normes d’IA responsable de Microsoft, Microsoft s’engage à l’équité, à la confidentialité, à la sécurité et à la transparence en ce qui concerne les systèmes IA. Pour s’aligner sur ces normes, Azure Media Services met hors service la présélection Video Analyzer le 14 septembre 2023. La présélection vous permet actuellement d’extraire plusieurs insights vidéo et audio d’un fichier vidéo. Les clients peuvent remplacer leurs flux de travail actuels à l’aide du jeu de fonctionnalités plus avancé proposé par Azure Video Indexer.

Media Services vous permet d’extraire des informations de vos fichiers vidéo et audio à l’aide des présélections de l’analyseur audio et video. Cet article décrit les présélections de l’analyseur utilisées pour extraire des insights. Si vous souhaitez obtenir des informations plus détaillées à partir de vos vidéos, utilisez le service Azure Video Indexer. Pour comprendre à quel moment utiliser Video Indexer plutôt que les présélections de l’analyseur de Media Services, consultez le document de comparaison.

Il existe deux modes pour le préréglage de l’analyseur audio, de base et standard. Consultez la description des différences dans le tableau ci-dessous.

Pour analyser votre contenu à l’aide des préréglages Media Services v3, vous créez une transformation et envoyez un travail qui utilise l’un de ces préréglages : VideoAnalyzerPreset ou AudioAnalyzerPreset.

Notes

AudioAnalyzerPreset n’est pas pris en charge si le compte de stockage n’a pas accès au réseau public.

Conformité, confidentialité et sécurité

Vous devez respecter toutes les lois applicables dans votre utilisation de Video Indexer, et vous ne pouvez pas utiliser Video Indexer ou tout autre service Azure d’une manière qui viole les droits d’autrui ou peut nuire à d’autres personnes. Avant de charger des vidéos, y compris des données biométriques, vers le service Video Indexer à des fins de traitement et de stockage, Vous devez disposer de tous les droits appropriés sur les vidéos, y compris avoir obtenu le consentement de chaque personne apparaissant dans les vidéos. Pour découvrir la conformité, la confidentialité et la sécurité dans Video Indexer, consultez les Conditions générales d’utilisation d’Azure Cognitive Services. Pour connaître les obligations de Microsoft en matière de confidentialité et de traitement de vos données, consultez la Déclaration de confidentialité, les Conditions des Services en Ligne (OST) et l’Addendum du traitement des données (« DPA ») de Microsoft. Plus d’informations sur la confidentialité, notamment sur la conservation, la suppression/destruction des données, sont disponibles dans l’OST. En utilisant Video Indexer, vous acceptez de vous conformer aux Conditions d’utilisation de Cognitive Services, à l’OST, au DPA et à la Déclaration de confidentialité.

Préréglages intégrés

Actuellement, Media Services prend en charge les préréglages d’analyseur intégrés suivants :

Nom du préréglage Scénario/Mode Détails
AudioAnalyzerPreset Analyse du mode audio Standard Ce préréglage applique un ensemble prédéfini d’opérations d’analyse basée sur l’IA, notamment la transcription de la parole. Actuellement, le préréglage prend en charge le traitement du contenu avec une seule piste audio qui inclut la reconnaissance vocale dans une seule langue. Spécifiez la langue de la charge utile audio de l’entrée en utilisant le format BCP-47 « balise de langue-région ». Consultez la liste des langues prises en charge ci-dessous pour connaître les codes de langue disponibles. La détection automatique de la langue choisit la première langue détectée et continue avec la langue sélectionnée pour l’ensemble du fichier si elle n’est pas définie, ou a la valeur null. Cette fonctionnalité prend actuellement en charge les langues suivantes : allemand, anglais, chinois, espagnol, français, italien, japonais, portugais brésilien et russe. Elle ne prend pas en charge le basculement dynamique d’une langue à l’autre après la détection de la première langue. La fonctionnalité de détection automatique de la langue fonctionne mieux sur des enregistrements audio avec des voix clairement identifiables. Si la détection automatique de la langue ne parvient pas à trouver la langue, la transcription utilise l’anglais.
AudioAnalyzerPreset Analyse du mode audio De base Ce mode prédéfini effectue une transcription de la parole en texte et la génération d’un fichier de sous-titres/CC au format VTT. La sortie de ce mode comprend un fichier JSON Insights incluant uniquement les mots clés, la transcription et les informations relatives au minutage. La détection automatique de la langue et la diarisation de l’orateur ne sont pas incluses dans ce mode. La liste des langues prises en charge est identique à celle du mode Standard ci-dessus.
VideoAnalyzerPreset Analyse de contenu audio et vidéo Extrait des insights (métadonnées enrichies) des contenus audio et vidéo, et génère en sortie un fichier au format JSON. Vous pouvez spécifier si vous voulez extraire seulement des insights audio lors du traitement d’un fichier vidéo.
FaceDetectorPreset Détection des visages présents dans la vidéo Décrit les paramètres à utiliser lors de l’analyse d’une vidéo pour détecter les visages qui y figurent.

Notes

AudioAnalyzerPreset n’est pas pris en charge si le compte de stockage n’a pas accès au réseau public.

Langues prises en charge

  • Arabe (’ar-BH’, ’ar-EG’, ’ar-IQ’, ’ar-JO’, ’ar-KW’, ’ar-LB’, ’ar-OM’, ’ar-QA’, ’ar-SA’ et ’ar-SY’)
  • Portugais brésilien (’pt-BR’)
  • Chinois (’zh-CN’)
  • Danois (’da-DK’)
  • Anglais (’en-US’, ’en-GB’ et ’en-AU’)
  • Finnois (’fi-FI’)
  • Français (’fr-FR’ et ’fr-CA’)
  • Allemand (’de-DE’)
  • Hébreu (’he-IL’)
  • Hindi (’hi-IN’), Korean (’ko-KR’)
  • Italien (’it-IT’)
  • Japonais (’ja-JP’)
  • Norvégien (’nb-NO’)
  • Persan (’fa-IR’)
  • Portugais (Portugal) (’pt-PT’)
  • Russe (’ru-RU’)
  • Espagnol (’es-ES’ et ’es-MX’)
  • Suédois (’sv-SE’)
  • Thaï (’th-TH’)
  • Turc (’tr-TR’)

Notes

AudioAnalyzerPreset n’est pas pris en charge si le compte de stockage n’a pas accès au réseau public.

Mode standard AudioAnalyzerPreset

Le préréglage vous permet d’extraire plusieurs insights audio d’un fichier audio ou vidéo.

La sortie inclut un fichier JSON (avec tous les insights) et un fichier VTT pour la transcription audio. Ce paramètre accepte une propriété qui spécifie la langue du fichier d’entrée sous la forme d’une chaîne BCP47. Les analyses audio sont les suivantes :

  • Transcription audio : transcription des mots prononcés avec horodatages. Plusieurs langues sont prises en charge.
  • Mots clés : mots clés extraits de la transcription audio.

Mode de base AudioAnalyzerPreset

Le préréglage vous permet d’extraire plusieurs insights audio d’un fichier audio ou vidéo.

La sortie inclut un fichier JSON et un fichier VTT pour la transcription audio. Ce paramètre accepte une propriété qui spécifie la langue du fichier d’entrée sous la forme d’une chaîne BCP47. La sortie comprend les éléments suivants :

  • Transcription audio : transcription des mots prononcés avec horodatages. Plusieurs langues sont prises en charge, mais la détection automatique de la langue et la diarisation de l’orateur ne sont pas incluses.
  • Mots clés : mots clés extraits de la transcription audio.

VideoAnalyzerPreset

Ce préréglage vous permet d’extraire plusieurs insights audio et vidéo à partir d’un fichier vidéo. La sortie inclut un fichier JSON (avec tous les insights), un fichier VTT pour la transcription audio et une collection de miniatures. Ce paramètre accepte également une chaîne BCP47 (représentant la langue de la vidéo) en tant que propriété. Les insights vidéo incluent tous les insights audio mentionnés ci-dessus en complément des éléments suivants :

  • Suivi du visage : durée pendant laquelle des visages sont présentes dans la vidéo. Chaque visage est associé à un identifiant de visage et à une collection de miniatures correspondante.
  • Texte visuel : texte détecté par la reconnaissance optique des caractères. Le texte est horodaté et également utilisé pour extraire des mots clés (en plus de la transcription audio).
  • Images clés : une collection d’images clés extraites de la vidéo.
  • Modération du contenu visuel : La partie des vidéos marquée comme adulte ou osé par nature.
  • Annotation : résultat de l’annotation des vidéos sur la base d’un modèle d’objet prédéfini

Éléments insights.json

La sortie inclut un fichier JSON (insights.json) contenant tous les insights trouvés dans le contenu vidéo ou audio. Ce fichier JSON peut contenir les éléments suivants :

transcription

Nom Description
id ID de la ligne.
text La transcription proprement dite.
langage La langue de la transcription. Permet de prendre en charge la transcription lorsque chaque ligne peut avoir une langue différente.
instances Liste des intervalles de temps pendant lesquels cette ligne est apparue. Si l’instance est un attribut transcript, il n’y a qu’une seule instance.

Exemple :

"transcript": [
{
    "id": 0,
    "text": "Hi I'm Doug from office.",
    "language": "en-US",
    "instances": [
    {
        "start": "00:00:00.5100000",
        "end": "00:00:02.7200000"
    }
    ]
},
{
    "id": 1,
    "text": "I have a guest. It's Michelle.",
    "language": "en-US",
    "instances": [
    {
        "start": "00:00:02.7200000",
        "end": "00:00:03.9600000"
    }
    ]
}
]

ocr

Nom Description
id ID de la ligne ROC.
text Texte de l’OCR.
confidence Degré de confiance de la reconnaissance.
langage Langue de l’OCR.
instances Liste des intervalles de temps au cours desquels cette OCR est apparue (la même OCR peut apparaître plusieurs fois).
"ocr": [
    {
      "id": 0,
      "text": "LIVE FROM NEW YORK",
      "confidence": 0.91,
      "language": "en-US",
      "instances": [
        {
          "start": "00:00:26",
          "end": "00:00:52"
        }
      ]
    },
    {
      "id": 1,
      "text": "NOTICIAS EN VIVO",
      "confidence": 0.9,
      "language": "es-ES",
      "instances": [
        {
          "start": "00:00:26",
          "end": "00:00:28"
        },
        {
          "start": "00:00:32",
          "end": "00:00:38"
        }
      ]
    }
  ],

visages

Nom Description
id ID du visage.
name Nom du visage. Il peut s'agir de la valeur « Unknown #0 », d’une célébrité identifiée ou d'une personne formée par le client.
confidence Degré de confiance de l’identification du visage.
description Description de la célébrité.
thumbnailId ID de la miniature de ce visage.
knownPersonId ID interne (s’il s’agit d’une personne connue).
referenceId ID Bing (s’il s’agit d’une célébrité Bing).
referenceType Bing uniquement (pour le moment).
title Poste (dans le cas d’une célébrité, par exemple « PDG de Microsoft »).
imageUrl URL de l’image, s’il s’agit d’une célébrité.
instances Instances où le visage est apparu dans l’intervalle de temps donné. Chaque instance possède également un thumbnailsId.
"faces": [{
	"id": 2002,
	"name": "Xam 007",
	"confidence": 0.93844,
	"description": null,
	"thumbnailId": "00000000-aee4-4be2-a4d5-d01817c07955",
	"knownPersonId": "8340004b-5cf5-4611-9cc4-3b13cca10634",
	"referenceId": null,
	"title": null,
	"imageUrl": null,
	"instances": [{
		"thumbnailsIds": ["00000000-9f68-4bb2-ab27-3b4d9f2d998e",
		"cef03f24-b0c7-4145-94d4-a84f81bb588c"],
		"adjustedStart": "00:00:07.2400000",
		"adjustedEnd": "00:00:45.6780000",
		"start": "00:00:07.2400000",
		"end": "00:00:45.6780000"
	},
	{
		"thumbnailsIds": ["00000000-51e5-4260-91a5-890fa05c68b0"],
		"adjustedStart": "00:10:23.9570000",
		"adjustedEnd": "00:10:39.2390000",
		"start": "00:10:23.9570000",
		"end": "00:10:39.2390000"
	}]
}]

captures

Nom Description
id ID de la capture.
keyFrames Liste des images clés au sein de la capture (chacune possède un ID et une liste d’intervalles de temps d’instances). Les instances des images clés comptent un champ thumbnailId pourvu de l’ID de miniature de l’élément keyFrame.
instances Liste des intervalles de temps de cette capture (les captures n’ont qu’une seule instance).
"Shots": [
    {
      "id": 0,
      "keyFrames": [
        {
          "id": 0,
          "instances": [
            {
	            "thumbnailId": "00000000-0000-0000-0000-000000000000",
              "start": "00: 00: 00.1670000",
              "end": "00: 00: 00.2000000"
            }
          ]
        }
      ],
      "instances": [
        {
	        "thumbnailId": "00000000-0000-0000-0000-000000000000",
          "start": "00: 00: 00.2000000",
          "end": "00: 00: 05.0330000"
        }
      ]
    },
    {
      "id": 1,
      "keyFrames": [
        {
          "id": 1,
          "instances": [
            {
	            "thumbnailId": "00000000-0000-0000-0000-000000000000",
              "start": "00: 00: 05.2670000",
              "end": "00: 00: 05.3000000"
            }
          ]
        }
      ],
      "instances": [
        {
          "thumbnailId": "00000000-0000-0000-0000-000000000000",
          "start": "00: 00: 05.2670000",
          "end": "00: 00: 10.3000000"
        }
      ]
    }
  ]

statistiques

Nom Description
CorrespondenceCount Nombre de correspondances contenues dans la vidéo.
WordCount Nombre de mots par intervenant.
SpeakerNumberOfFragments Quantité de fragments de l’intervenant dans une vidéo.
SpeakerLongestMonolog Monologue le plus long de l’intervenant. Si le monologue de l’intervenant comporte des silences, ils sont inclus. Les silences du début et de la fin du monologue sont supprimés.
SpeakerTalkToListenRatio Le calcul est basé sur le temps passé sur le monologue de l’intervenant (sans les silences intermédiaires) divisé par la durée totale de la vidéo. L’heure est arrondie à la troisième décimale.

étiquettes

Nom Description
id ID de l’étiquette.
name Nom de l’étiquette (par exemple, « ordinateur », « TV »).
langage Langue du nom de l’étiquette (si traduction). BCP-47
instances Liste des intervalles de temps au cours desquels cette étiquette est apparue (une étiquette peut apparaître plusieurs fois). Chaque instance possède un champ de confiance.
"labels": [
    {
      "id": 0,
      "name": "person",
      "language": "en-US",
      "instances": [
        {
          "confidence": 1.0,
          "start": "00: 00: 00.0000000",
          "end": "00: 00: 25.6000000"
        },
        {
          "confidence": 1.0,
          "start": "00: 01: 33.8670000",
          "end": "00: 01: 39.2000000"
        }
      ]
    },
    {
      "name": "indoor",
      "language": "en-US",
      "id": 1,
      "instances": [
        {
          "confidence": 1.0,
          "start": "00: 00: 06.4000000",
          "end": "00: 00: 07.4670000"
        },
        {
          "confidence": 1.0,
          "start": "00: 00: 09.6000000",
          "end": "00: 00: 10.6670000"
        },
        {
          "confidence": 1.0,
          "start": "00: 00: 11.7330000",
          "end": "00: 00: 20.2670000"
        },
        {
          "confidence": 1.0,
          "start": "00: 00: 21.3330000",
          "end": "00: 00: 25.6000000"
        }
      ]
    }
  ]

mots clés

Nom Description
id ID du mot clé.
text Texte du mot clé.
confidence Degré de confiance de la reconnaissance du mot clé.
langage Langue du mot clé (si traduction).
instances Liste des intervalles de temps pendant lesquels ce mot clé est apparu (un mot clé peut apparaître plusieurs fois).
"keywords": [
{
    "id": 0,
    "text": "office",
    "confidence": 1.6666666666666667,
    "language": "en-US",
    "instances": [
    {
        "start": "00:00:00.5100000",
        "end": "00:00:02.7200000"
    },
    {
        "start": "00:00:03.9600000",
        "end": "00:00:12.2700000"
    }
    ]
},
{
    "id": 1,
    "text": "icons",
    "confidence": 1.4,
    "language": "en-US",
    "instances": [
    {
        "start": "00:00:03.9600000",
        "end": "00:00:12.2700000"
    },
    {
        "start": "00:00:13.9900000",
        "end": "00:00:15.6100000"
    }
    ]
}
]

visualContentModeration

Le bloc visualContentModeration contient des intervalles de temps qui sont susceptibles de contenir des éléments pour adultes selon Video Indexer. Si ce bloc est vide, aucun contenu pour adultes n’a donc été identifié.

Les vidéos trouvées qui contiennent des éléments pour adultes ou choquants peuvent être disponibles pour un affichage privé uniquement. Les utilisateurs peuvent soumettre une demande de révision manuelle du contenu, auquel cas l’attribut IsAdult contient le résultat de la révision manuelle.

Nom Description
id ID de modération du contenu visuel.
adultScore Degré du contenu pour adultes (d’après Content Moderator).
racyScore Degré du contenu choquant (d’après Content Moderator).
instances Liste des intervalles de temps où cette modération du contenu visuel est affichée.
"VisualContentModeration": [
{
    "id": 0,
    "adultScore": 0.00069,
    "racyScore": 0.91129,
    "instances": [
    {
        "start": "00:00:25.4840000",
        "end": "00:00:25.5260000"
    }
    ]
},
{
    "id": 1,
    "adultScore": 0.99231,
    "racyScore": 0.99912,
    "instances": [
    {
        "start": "00:00:35.5360000",
        "end": "00:00:35.5780000"
    }
    ]
}
]

Obtenir de l’aide et du support

Vous pouvez contacter Media Services pour toute question ou suivre nos mises à jour selon l’une des méthodes suivantes :