Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcje analizy wielomodalnej usługi Azure Content Understanding ułatwiają przekształcanie danych audio i wideo bez struktury w ustrukturyzowane, czytelne dla maszyny informacje. Dzięki precyzyjnemu identyfikowaniu i wyodrębnieniu elementów audiowizualnego przy zachowaniu ich relacji czasowych można tworzyć zaawansowane przepływy pracy przetwarzania multimediów dla szerokiej gamy aplikacji.
Obiekt contents obsługuje zarówno wejścia audio, jak i wideo, z różnymi funkcjami dostępnymi w zależności od typu wejścia.
Obsługiwane typy zawartości obejmują:
- Pliki audio: typowe formaty audio
- Pliki wideo: typowe formaty wideo
Aby uzyskać szczegółowe informacje na temat obsługiwanych typów plików, limitów rozmiaru plików i innych ograniczeń, zobacz limity przydziału i limity usług.
Struktura odpowiedzi JSON
Interfejs API usługi Content Understanding zwraca wyniki analizy w formacie JSON ze strukturą. Ten dokument koncentruje się na elemecie w tablicy zawartości z typem ustawionym na audioVisual. Oto ogólna struktura kontenera odpowiedzi:
{
"id": "73719670-2326-40c3-88ca-197c52deab2c",
"status": "Succeeded",
"result": {
"analyzerId": "my-analyzer",
"contents": [
{
"markdown": "# Video: 00:00.000 => 23:16.997\nWidth: 854\nHeight: 480\n..."
"fields": {
"Summary": {
"type": "string",
"valueString": "..."
}
},
"kind": "audioVisual",
"startTimeMs": 0,
"endTimeMs": 1000000,
"transcriptPhrases": [/* ... */],
"width": 854,
"height": 480,
"keyFrameTimesMs": [/* ... */],
"cameraShotTimesMs": [/* ... */],
}
]
}
}
Elementy audiovisual
Można wyodrębnić następujące elementy audiowizualne:
| Składnik | Obsługa dźwięku | Obsługa wideo | Wymaga funkcji returnDetails |
|---|---|---|---|
| Zawartość języka Markdown | ✓ | ✓ | Nie. |
| Kolekcja zawartości | ✓ | ✓ | Nie. |
| Frazy transkrypcji | ✓ | ✓ | Tak |
| Informacje o chronometrażu | ✓ | ✓ | Nie. |
| Klatki kluczowe | ✗ | ✓ | Nie. |
| Zdjęcia z kamery | ✗ | ✓ | Tak |
| Wyodrębnianie pól | ✓ | ✓ | Nie. |
Funkcja Face wymaga również enableFace: true w konfiguracji analizatora i ograniczonej rejestracji dostępu.
Elementy treści Markdown
Aby uzyskać szczegółowe informacje na temat formatu markdown zawartości audiowizualnej, zobacz AudioVisual Markdown.
Kolekcja zawartości
Kolekcja zawartości zawiera co najmniej jeden obiekt zawartości zawierający dane wyodrębnione z pliku. Po włączeniu segmentacji (enableSegment = true) obiekt zawartości jest zwracany dla każdego segmentu znalezionego w zawartości.
Frazy transkrypcji
Element transcriptPhrases zawiera kompletną transkrypcję audio, podzieloną na poszczególne frazy z identyfikacją osoby mówiącej i dokładne informacje o chronometrażu. Ten element jest dostępny zarówno dla danych wejściowych audio, jak i wideo. Usługa Content Understanding obsługuje wielojęzyczną transkrypcję i diaryzację mówców. Te dane wyjściowe są uwzględniane, gdy użytkownik ustawia definicję "returnDetails": true analizatora. Szczegółowe informacje na temat obsługi języków można znaleźć tutaj: Obsługa języka audio.
Przykład JSON:
{
"transcriptPhrases": [
{
"speaker": "Speaker 1",
"startTimeMs": 280,
"endTimeMs": 3560,
"text": "Welcome to this first session",
"words": []
},
{
"speaker": "Speaker 2",
"startTimeMs": 4640,
"endTimeMs": 5440,
"text": "Thanks for having me. Excited to be here.",
"words": []
}
]
}
Informacje o chronometrażu
Informacje o chronometrażu zapewniają ogólne granice czasowe treści audiowizualnej:
-
startTimeMs: godzina rozpoczęcia zawartości w milisekundach (zazwyczaj 0) -
endTimeMs: godzina zakończenia zawartości w milisekundach -
width: Szerokość wideo w pikselach (tylko wideo) -
height: wysokość obrazu wideo w pikselach (tylko wideo)
Przykład JSON:
{
"kind": "audioVisual",
"startTimeMs": 0,
"endTimeMs": 1396997,
"width": 854,
"height": 480
}
Klatki kluczowe
Element keyFrameTimesMs reprezentuje znaczniki czasu ramek wizualnych wyodrębnionych z wideo w kluczowych momentach. Znaczniki czasu są reprezentowane w milisekundach od początku filmu wideo. Te ramki są inteligentnie wybierane na podstawie sygnałów, takich jak wykrywanie strzałów. Te ramki są używane jako dane wejściowe do generowania pól niestandardowych.
Zachowanie próbkowania klatek kluczowych:
- Klatki kluczowe są jednolicie wybierane z każdego ujęcia z kamery
- Każde ujęcie zawiera co najmniej jedną próbkowaną klatkę kluczową, nawet w przypadku krótkich ujęć (mniej niż jedna sekunda)
- Liczba klatek kluczowych jest spójna w wielu uruchomieniach
- Wartości znacznika czasu mogą mieć niewielkie różnice liczbowe między przebiegami, ale te różnice są minimalne i nie powinny znacząco wpływać na zawartość wybranych ramek
Przykład JSON:
{
"keyFrameTimesMs": [
660,
1320,
2970,
3927,
4884,
5841,
6798,
7755,
8712,
9669
]
}
Zdjęcia z kamery
Element cameraShotTimesMs identyfikuje punkty w filmie, w którym zdjęcia aparatu zmieniają się, wskazując cięcia, przejścia lub istotne zmiany kąta aparatu lub perspektywy. Pomaga to zrozumieć strukturę edycji filmu wideo. Wartości są znacznikami czasu w milisekundach od początku filmu wideo. Te dane wyjściowe są uwzględniane, gdy użytkownik ustawia definicję "returnDetails": true analizatora.
Zachowanie detekcji ujęć kamery:
-
cameraShotTimesMsprzechowuje znaczniki czasu cięć między ujęciami kamery - Wartości tablicy wskazują czas początkowy wszystkich ujęć kamery, z wyłączeniem pierwszego ujęcia (które zawsze zaczyna się od 0 ms)
- Dane wyjściowe są deterministyczne i spójne przy wielu uruchomieniach.
- Ten model może przegapić przejścia, które są wizualnie stopniowe
Przykład JSON:
{
"cameraShotTimesMs": [
2002,
22356,
26960,
53353,
71071,
76210,
78111,
113487,
148882,
152953
]
}
Elementy niestandardowe
Wyodrębnianie pól
Wyodrębnianie pól niestandardowych umożliwia definiowanie i wyodrębnianie określonych informacji z zawartości audiowizualnej na podstawie wymagań biznesowych. Pola są definiowane w konfiguracji analizatora. Pola można wypełniać dla całej zawartości domyślnie lub dla każdego segmentu w przypadku wideo po włączeniu segmentacji.
Przykład kodu JSON wyodrębniania pól:
{
"fields": {
"Summary": {
"type": "string",
"valueString": "The conversation revolves around an introduction to Microsoft Foundry's latest features."
},
"Sentiment": {
"type": "string",
"valueString": "Positive"
}
}
}
Kompletny przykład kodu JSON
Poniższy przykład przedstawia pełną strukturę odpowiedzi JSON z analizowania wideo instruktażowego konsoli Xbox. Kod JSON dołączony tutaj reprezentuje pełne dane wyjściowe z usługi Content Understanding podczas przetwarzania wideo z wieloma typami elementów:
{
"id": "cca7cf12-7b2c-46db-9d9a-d7c2dc78c120",
"status": "Succeeded",
"result": {
"analyzerId": "auto-labeling-model-1750376726735-970",
"apiVersion": "2025-05-01-preview",
"createdAt": "2025-06-19T23:45:31Z",
"stringEncoding": "utf8",
"warnings": [],
"contents": [
{
"markdown": "# Video: 00:00.000 => 00:42.520\nWidth: 640\nHeight: 360\n\nTranscript\n```\nWEBVTT\n\n00:02.480 --> 00:04.720\n<Speaker 1>Need help redeeming a code on your Xbox?\n\n00:05.440 --> 00:06.840\n<Speaker 1>Follow these quick steps.\n\n00:08.960 --> 00:15.680\n<Speaker 1>Press the Xbox button on your controller to open the guide while signed into the console with the account you want to apply the code to.\n```\n\nKey Frames\n- 00:00.400 \n- 00:01.800 \n- 00:02.840 \n- 00:08.040 \n- 00:16.360 ",
"fields": {
"ProductOrFeature": {
"type": "string",
"valueString": "Xbox code redemption"
},
"Problem": {
"type": "string",
"valueString": "How to redeem a code on Xbox"
},
"Steps": {
"type": "array",
"valueArray": [
{
"type": "object",
"valueObject": {
"StepTitle": {
"type": "string",
"valueString": "Open the Guide"
},
"Instructions": {
"type": "string",
"valueString": "Press the Xbox button on your controller to open the guide while signed into the console with the account you want to apply the code to."
},
"Timestamp": {
"type": "string",
"valueString": "00:00:08.960"
}
}
},
{
"type": "object",
"valueObject": {
"StepTitle": {
"type": "string",
"valueString": "Enter Code"
},
"Instructions": {
"type": "string",
"valueString": "Enter the 25-character code without the hyphens, then follow steps to finish redeeming."
},
"Timestamp": {
"type": "string",
"valueString": "00:00:26.960"
}
}
}
]
},
"FinalOutcome": {
"type": "string",
"valueString": "Successfully redeem a code on Xbox and access the associated content or service."
}
},
"kind": "audioVisual",
"startTimeMs": 0,
"endTimeMs": 42520,
"width": 640,
"height": 360,
"keyFrameTimesMs": [
400,
1800,
2840,
3880,
4920,
5960,
7000,
8040,
9080,
10120,
16360,
17400,
26760,
27800,
30920,
31960,
40280,
41040,
41800
],
"transcriptPhrases": [
{
"speaker": "Speaker 1",
"startTimeMs": 2480,
"endTimeMs": 4720,
"text": "Need help redeeming a code on your Xbox?",
"words": []
},
{
"speaker": "Speaker 1",
"startTimeMs": 5440,
"endTimeMs": 6840,
"text": "Follow these quick steps.",
"words": []
},
{
"speaker": "Speaker 1",
"startTimeMs": 8960,
"endTimeMs": 15680,
"text": "Press the Xbox button on your controller to open the guide while signed into the console with the account you want to apply the code to.",
"words": []
},
{
"speaker": "Speaker 1",
"startTimeMs": 26960,
"endTimeMs": 29840,
"text": "Enter the 25-character code without the hyphens.",
"words": []
},
{
"speaker": "Speaker 1",
"startTimeMs": 33600,
"endTimeMs": 34640,
"text": "Game on.",
"words": []
}
],
"cameraShotTimesMs": [
760,
33240,
39520
]
}
]
}
}
W tym kompletnym przykładzie pokazano, jak Content Understanding wyodrębnia i strukturyzuje wszystkie różne typy elementów z materiałów audio i wideo, zapewniając zarówno surowe treści, jak i szczegółowe informacje czasowe i strukturalne, które umożliwiają zaawansowane procesy przetwarzania wideo.
Dalsze kroki
- Wypróbuj analizowanie filmów wideo w programie Content Understanding Studio.
- Zapoznaj się z przewodnikiem Szybki start dotyczący usługi Content Understanding Studio.
- Dowiedz się więcej na temat analizowania zawartości wideo przy użyciu szablonów analizatora.
- Zapoznaj się z przykładem kodu: analiza wideo z segmentami.
- Przejrzyj przykładowy kod: szablony analizatora wideo.