Analizowanie plików wideo i audio za pomocą Azure Media Services

Ostrzeżenie

11 czerwca 2020 roku firma Microsoft ogłosiła, że nie będzie sprzedawać technologii rozpoznawania twarzy departamentom policji w Stanach Zjednoczonych, dopóki nie zostaną wdrożone ścisłe przepisy oparte na prawach człowieka. W związku z tym klienci nie mogą używać funkcji rozpoznawania twarzy zawartych w usłudze Azure Video Analyze, takich jak face lub Azure Video Analyzer dla multimediów (dawniej Video Indexer), jeśli klienci są lub zezwalają na korzystanie z takich usług przez lub dla działu policji w Stany Zjednoczone.

Media Services — logo v3


Azure Media Services v3 umożliwia wyodrębnianie szczegółowych informacji z plików wideo i audio przy użyciu Video Indexer. W tym artykule opisano Media Services ustawień wstępnych analizatora w wersji 3 używanych do wyodrębniania tych szczegółowych informacji. Aby uzyskać bardziej szczegółowe informacje, można korzystać bezpośrednio z usługi Video Indexer. Aby zrozumieć, kiedy należy używać Video Indexer a Media Services ustawień wstępnych analizatora, zapoznaj się z dokumentem porównanie.

Istnieją dwa tryby ustawienia wstępnego analizatora audio: podstawowy i standardowy. Zobacz opis różnic w poniższej tabeli.

Aby analizować zawartość przy użyciu ustawień wstępnych Media Services w wersji 3, należy utworzyć przekształcenie i przesłać zadanie, które używa jednego z tych ustawień wstępnych: VideoAnalyzerPreset lub AudioAnalyzerPreset. Aby uzyskać samouczek pokazujący sposób używania zestawu VideoAnalyzerPreset, zobacz Analyze videos with Azure Media Services (Analizowanie wideo za pomocą Azure Media Services).

Zgodność, ochrona prywatności i zabezpieczenia

Przypominamy, że użytkownik musi przestrzegać wszystkich mających zastosowanie przepisów prawa dotyczących korzystania z usługi Video Indexer i nie może korzystać z usługi Video Indexer ani żadnej innej usługi platformy Azure w sposób naruszający prawa innych osób lub mogący być szkodliwy dla innych osób. Przed przekazaniem jakichkolwiek filmów wideo, w tym wszelkich danych biometrycznych, do usługi Video Indexer w celu przetwarzania i przechowywania, Musisz mieć wszystkie odpowiednie prawa, w tym wszystkie odpowiednie zgody, od osób poszczególnych osób w wideo. Aby dowiedzieć się więcej na temat zgodności, prywatności i zabezpieczeń w Video Indexer, zobacz Azure Cognitive Services Terms (Warunki użytkowania platformyAzure). Aby uzyskać informacje na temat zobowiązań firmy Microsoft w zakresie ochrony prywatności i obsługi twoich danych, zapoznaj się z oświadczeniem o ochronie prywatności firmy Microsoft,Postanowienia dotyczące Usług Online ("OST") i Dodatek do przetwarzania danych ("DPA"). Dodatkowe informacje o ochronie prywatności, w tym dotyczące przechowywania, usuwania/niszczenia danych, są dostępne w wersji OST i tutaj. Korzystając z Video Indexer, wyrażasz zgodę na Cognitive Services, OST, DPA i Oświadczenie o ochronie prywatności.

Wbudowane ustawienia wstępne

Media Services obecnie obsługuje następujące wbudowane ustawienia wstępne analizatora:

Nazwa ustawienia wstępnego Scenariusz/tryb Szczegóły
AudioAnalyzerPreset Analizowanie audio w trybie standardowym Ustawienie wstępne stosuje wstępnie zdefiniowany zestaw operacji analizy opartych na AI, w tym transkrypcję mowy. Obecnie ustawienie wstępne obsługuje przetwarzanie zawartości z jedną ścieżką audio zawierającą mowę w jednym języku. Język ładunku audio w danych wejściowych można określić przy użyciu formatu BCP-47 "language tag-region". Obsługiwane języki to angielski ("en-US", "en-GB" i "en-AU"), hiszpański ("es-ES" i "es-MX"), francuski ("fr-FR" i "fr-CA"), włoski ('it-IT'), japoński ("ja-JP"), portugalski ("pt-BR"), chiński ('zh-CN'), niemiecki ('de-DE'), arabski ('ar-BH', "ar-EG", "ar-IQ", "ar-JO", 'ar-KW', 'ar-LB', 'ar-OM', 'ar-QA', 'ar-SA' i 'ar-SY'), rosyjski ('ru-RU'), koreański ('hi-IN'), koreański ('ko) -KR'), duński('da-DK'), norweski('nb-NO'), szwedzki('sv-SE'), fiński ("fi-FI"), tajski('th-TH') i turecki('tr-TR').

Jeśli język nie zostanie określony lub ustawiony na wartość null, funkcja automatycznego wykrywania języka wybierze pierwszy wykryty język i będzie kontynuować pracę z wybranym językiem przez cały czas trwania pliku. Funkcja automatycznego wykrywania języka obsługuje obecnie język angielski, chiński, francuski, niemiecki, włoski, japoński, hiszpański, rosyjski i portugalski. Nie obsługuje dynamicznego przełączania się między językami po wykryciu pierwszego języka. Funkcja automatycznego wykrywania języka najlepiej sprawdza się w przypadku nagrań audio z wyraźnie rozróżnianą mową. Jeśli automatyczne wykrywanie języka nie znajdzie języka, transkrypcja powraca do języka angielskiego.
AudioAnalyzerPreset Analizowanie audio w trybie podstawowym Ten tryb ustawienia wstępnego wykonuje transkrypcję mowy na tekst i generowanie pliku napisów/transkrypcji VTT. Dane wyjściowe tego trybu zawierają Szczegółowe informacje JSON, w tym tylko słowa kluczowe, transkrypcję i informacje o chronometrażu. Automatyczne wykrywanie języka i diaryzacja osób mówiących nie są uwzględnione w tym trybie. Lista obsługiwanych języków jest taka sama jak w trybie standardowym powyżej.
VideoAnalyzerPreset Analizowanie dźwięku i wideo Wyodrębnia szczegółowe informacje (rozbudowane metadane) zarówno z dźwięku, jak i wideo, i wyprowadza plik w formacie JSON. Podczas przetwarzania pliku wideo można określić, czy ma być wyodrębnianie szczegółowych informacji o dźwięku. Aby uzyskać więcej informacji, zobacz Analyze video (Analizowanie wideo).
FaceDetectorPreset Wykrywanie twarzy obecnych w filmie wideo Opisuje ustawienia, które mają być używane podczas analizowania wideo w celu wykrycia wszystkich obecnych twarzy.

Tryb standardowy AudioAnalyzerPreset

Ustawienie wstępne umożliwia wyodrębnianie wielu szczegółowych informacji audio z pliku audio lub wideo.

Dane wyjściowe zawierają plik JSON (ze wszystkimi informacjami) i plik VTT dla transkrypcji audio. To ustawienie wstępne akceptuje właściwość określającą język pliku wejściowego w postaci ciągu BCP47. Szczegółowe informacje o dźwięku obejmują:

  • Transkrypcja audio: transkrypcja wypowiadanych słów ze znacznikami czasu. Obsługiwanych jest wiele języków.
  • Indeksowanie osoby mówiącej: mapowanie osób mówiących i odpowiadających im słów mówionych.
  • Analiza tonacji mowy: dane wyjściowe analizy tonacji wykonywanej na transkrypcji audio.
  • Słowa kluczowe: słowa kluczowe wyodrębnione z transkrypcji audio.

Tryb podstawowy AudioAnalyzerPreset

Ustawienie wstępne umożliwia wyodrębnianie wielu szczegółowych informacji audio z pliku audio lub wideo.

Dane wyjściowe zawierają plik JSON i plik VTT dla transkrypcji audio. To ustawienie wstępne akceptuje właściwość określającą język pliku wejściowego w postaci ciągu BCP47. Dane wyjściowe obejmują:

  • Transkrypcja audio: transkrypcja wypowiadanych słów ze znacznikami czasu. Obsługiwanych jest wiele języków, ale automatyczne wykrywanie języka i diaryzacja osób mówiących nie są uwzględniane.
  • Słowa kluczowe: słowa kluczowe wyodrębnione z transkrypcji audio.

VideoAnalyzerPreset

Ustawienie wstępne umożliwia wyodrębnianie wielu szczegółowych informacji audio i wideo z pliku wideo. Dane wyjściowe zawierają plik JSON (ze wszystkimi informacjami), plik VTT dla transkrypcji wideo i kolekcję miniatur. To ustawienie wstępne akceptuje również ciąg BCP47 (reprezentujący język wideo) jako właściwość. Szczegółowe informacje o wideo obejmują wszystkie szczegółowe informacje o dźwięku wymienione powyżej i następujące dodatkowe elementy:

  • Śledzenie twarzy: czas, w którym twarze są obecne w wideo. Każda twarz ma identyfikator twarzy i odpowiadającą jej kolekcję miniatur.
  • Tekst wizualizacji: tekst wykryty za pośrednictwem optycznego rozpoznawania znaków. Tekst jest sygnaturą czasową i służy także do wyodrębniania słów kluczowych (oprócz transkrypcji audio).
  • Ramki kluczowe: kolekcja ramek kluczowych wyodrębniona z wideo.
  • Moderowanie zawartości wizualnej: część filmów wideo oflagowanych jako filmy dla dorosłych lub o charakterze emocznym.
  • Adnotacja: wynik dodawania adnotacji do wideo na podstawie wstępnie zdefiniowanego modelu obiektów

insights.jselementów

Dane wyjściowe zawierają plik JSON (insights.js) ze wszystkimi informacjami znalezionymi w filmie wideo lub dźwięku. Kod JSON może zawierać następujące elementy:

Zapis

Nazwa Opis
identyfikator Identyfikator wiersza.
tekst Sama transkrypcja.
language Język transkrypcji. Przeznaczona do obsługi transkrypcji, w której każdy wiersz może mieć inny język.
Wystąpień Lista zakresów czasu, w których pojawił się ten wiersz. Jeśli wystąpienie jest transkrypcją, będzie mieć tylko 1 wystąpienie.

Przykład:

"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

Nazwa Opis
identyfikator Identyfikator wiersza OCR.
tekst Tekst OCR.
ufność Zaufanie do rozpoznawania.
language Język OCR.
Wystąpień Lista zakresów czasu, w których pojawił się ten OCR (ten sam OCR może wystąpić wiele razy).
"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"
        }
      ]
    }
  ],

Twarze

Nazwa Opis
identyfikator The face ID.
name Nazwa twarzy. Może to być "Nieznany #0", zidentyfikowana osobistość lub wytrenowana osoba klienta.
ufność Pewność identyfikacji twarzy.
description (opis) Opis osobistości.
thumbnailId Identyfikator miniatury tej twarzy.
knownPersonId Identyfikator wewnętrzny (jeśli jest to znana osoba).
referenceId Identyfikator Bing (jeśli jest to Bing osobistości).
typ odwołania Obecnie wystarczy Bing.
tytuł Tytuł (jeśli jest osobistością — na przykład "Dyrektor naczelny firmy Microsoft").
Imageurl Adres URL obrazu, jeśli jest osobistością.
Wystąpień Wystąpienia, w których twarz pojawiła się w danym zakresie czasu. Każde wystąpienie ma również 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"
    }]
}]

Zdjęć

Nazwa Opis
identyfikator Identyfikator zrzutu.
Klatek kluczowych Lista klatek kluczowych w ramach zrzutu (każda z nich ma identyfikator i listę zakresów czasu wystąpień). Wystąpienia klatek kluczowych mają pole thumbnailId z identyfikatorem miniatury ramki klucza.
Wystąpień Lista zakresów czasu tego zrzutu (zrzuty mają tylko 1 wystąpienie).
"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"
        }
      ]
    }
  ]

statystyki

Nazwa Opis
Cyt. Liczba esejów w nagraniu wideo.
Wordcount Liczba słów na osobę mówiącą.
SpeakerNumberOfFragments Ilość fragmentów, które ma prelegent w filmie wideo.
SpeakerLongestMonolog Najdłuższy monolog prelegenta. Jeśli w monologu osoby mówiącej są wyciszenia, jest ona dołączona. Cisza na początku i na końcu monologu jest usuwana.
SpeakerTalkToListenRatio Obliczenie jest oparte na czasie spędzonym na monologu prelegenta (bez ciszy między nimi) podzielonym przez łączny czas filmu wideo. Czas jest zaokrąglany do trzeciego separatora dziesiętnego.

Uczucia

Tonacji są agregowane według pola sentimentType (Pozytywna/Neutralna/Negatywna). Na przykład 0–0,1, 0.1–0.2.

Nazwa Opis
identyfikator Identyfikator tonacji.
averageScore Średnia wszystkich wyników wszystkich wystąpień tego typu tonacji — pozytywna/neutralna/negatywna
Wystąpień Lista zakresów czasu, w których pojawiła się ta tonacji.
typ tonacji Typ może mieć wartość "Dodatnia", "Neutralna" lub "Ujemna".
"sentiments": [
{
    "id": 0,
    "averageScore": 0.87,
    "sentimentType": "Positive",
    "instances": [
    {
        "start": "00:00:23",
        "end": "00:00:41"
    }
    ]
}, {
    "id": 1,
    "averageScore": 0.11,
    "sentimentType": "Positive",
    "instances": [
    {
        "start": "00:00:13",
        "end": "00:00:21"
    }
    ]
}
]

Etykiety

Nazwa Opis
identyfikator Identyfikator etykiety.
name Nazwa etykiety (na przykład "Komputer", "TV").
language Język nazw etykiet (w przypadku tłumaczenia). BCP-47
Wystąpień Lista zakresów czasu, w których pojawiła się ta etykieta (etykieta może pojawić się wiele razy). Każde wystąpienie ma pole ufności.
"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"
        }
      ]
    }
  ] 

keywords (słowa kluczowe)

Nazwa Opis
identyfikator Identyfikator słowa kluczowego.
tekst Tekst słowa kluczowego.
ufność Zaufanie do rozpoznawania słowa kluczowego.
language Język słów kluczowych (po przetłumaczeniach).
Wystąpień Lista zakresów czasu, w których pojawiło się to słowo kluczowe (słowo kluczowe może występować wiele razy).
"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

Blok visualContentModeration zawiera zakresy czasu, które Video Indexer potencjalnie mieć zawartość dla dorosłych. Jeśli pole visualContentModeration jest puste, nie ma zidentyfikowanej zawartości dla dorosłych.

Filmy wideo, które zawierają treści dla dorosłych lub treści etyczne, mogą być dostępne tylko w przypadku wyświetlania prywatnego. Użytkownicy mogą przesłać żądanie przeglądu zawartości przez człowieka. W takim przypadku atrybut będzie IsAdult zawierać wynik przeglądu przez człowieka.

Nazwa Opis
identyfikator Identyfikator moderowania zawartości wizualizacji.
adultScore Ocena dla dorosłych (od moderatora zawartości).
racyScore Wynik emisyjny (z moderowania zawartości).
Wystąpień Lista zakresów czasu, w których pojawiła się ta wizualizacja moderowania zawartości.
"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"
    }
    ]
}
] 

Następne kroki

Samouczek: Analizowanie wideo za pomocą usługi Azure Media Services