# Content Understanding - Multimodal Analysis and Video Intelligence **Last updated:** 2026-04 | Verified: MCP 2026-04 **Status:** Preview (GA for core features, Limited Access for face description) **Category:** Azure AI Services (Foundry Tools) --- ## Introduksjon Azure AI Content Understanding er en generativ AI-tjeneste designet for å transformere ustrukturert multimodalt innhold – dokumenter, bilder, video og audio – til strukturert, maskinlesbar informasjon. Tjenesten kombinerer avansert innholdsekstraksjon med generative modeller for å skape skreddersydd metadata og innsikter på tvers av modaliteter. For video- og audioanalyse opererer Content Understanding i to hovedfaser: **innholdsekstraksjon** (transcription, shot detection, keyframe extraction) og **feltekstraksjon** (custom fields, segmentering basert på generative modeller). Dette muliggjør alt fra RAG-optimaliserte workflows til detaljert media asset management og compliance-sjekk. Tjenesten skiller seg fra Azure AI Video Indexer ved at den fokuserer på fleksibel, schema-drevet ekstraksjon med generative modeller, mens Video Indexer leverer et bredere spekter av pre-definerte AI-innsikter (face recognition, celebrity identification, content moderation, observed people detection). Content Understanding er ideell når du trenger tilpassede felt og segmenteringslogikk definert i naturlig språk, mens Video Indexer passer bedre for omfattende, predefinerte video-innsikter. --- ## Kjernekomponenter ### Støttede modaliteter | Modalitet | Format-eksempler | Bruksområder | |-----------|------------------|--------------| | **Video** | MP4, AVI, MOV, MKV | Media asset management, advertising analysis, training videos | | **Audio** | MP3, WAV, AAC, FLAC | Podcast transcription, call center analytics, audio content classification | | **Dokumenter** | PDF, DOCX, XLSX, PPTX, HTML | Document intelligence, form processing, contract analysis | | **Bilder** | JPEG, PNG, BMP, TIFF | Image classification, OCR, visual content analysis | **Tekniske begrensninger (video/audio):** - Frame sampling: ~1 FPS (raske bevegelser eller single-frame events kan gå tapt) - Frame resolution: 512 × 512 px resize (små detaljer eller fjerne objekter kan bli utydelige) - Audio: Kun tale transkriberes (musikk, lydeffekter, bakgrunnsstøy ignoreres) ### Prebuilt analyzers | Analyzer ID | Formål | Output-format | |-------------|--------|---------------| | `prebuilt-videoSearch` | RAG-optimalisert video-analyse med markdown og JSON | Transcript (WEBVTT), keyframes, scene descriptions, segmentering | | `prebuilt-videoAnalysis` | Generell video-metadata for asset management | JSON med visual + audio metadata | | `prebuilt-documentSearch` | Dokument-ekstraksjon for RAG | Markdown med pages, tables, figures, paragraphs | **Eksempel (prebuilt-videoSearch output):** ```markdown # Video: 00:00.000 => 00:06.000 A lively room filled with people watching a sports event on television. Transcript WEBVTT 00:03.600 --> 00:06.000 Get new years ready. Key Frames - 00:00.600 ![](keyFrame.600.jpg) - 00:01.200 ![](keyFrame.1200.jpg) ``` ### Custom analyzers Definer egne feltschemaer og segmenteringslogikk for å trekke ut domene-spesifikk informasjon. **Nøkkelegenskaper:** - **Field extraction**: Strukturerte felt (string, array, object, enum) definert i JSON-schema - **Custom segmentation**: Naturlig språk-beskrivelser av hvordan video skal segmenteres (nyhetssegmenter, kapitler, annonser) - **Face description** (Limited Access): Ansiktsattributter (facial hair, expressions), identifisering av kjente personer **Eksempel (custom analyzer config):** ```json { "config": { "enableSegment": true, "contentCategories": { "news-story": { "description": "Segment video based on each distinct news segment. Use timestamp to identify start/end, no overlap. Ignore ads.", "analyzerId": "NewsAnalyzer" } }, "fieldSchema": { "fields": { "brandLogo": { "type": "string", "method": "generate", "description": "Brand being promoted in the video. Include product name if available." }, "sentiment": { "type": "string", "method": "classify", "enum": ["Positive", "Neutral", "Negative"] } } } } } ``` ### Ekstraherte elementer (audioVisual) | Element | Audio | Video | Krever `returnDetails: true` | |---------|-------|-------|------------------------------| | Markdown content | ✓ | ✓ | Nei | | Contents collection | ✓ | ✓ | Nei | | Transcript phrases | ✓ | ✓ | Ja | | Timing information | ✓ | ✓ | Nei | | Key frames | ✗ | ✓ | Nei | | Camera shots | ✗ | ✓ | Ja | | Field extraction | ✓ | ✓ | Nei | **Transcript phrases (JSON):** ```json { "transcriptPhrases": [ { "speaker": "Speaker 1", "startTimeMs": 280, "endTimeMs": 3560, "text": "Welcome to this first session", "words": [] } ] } ``` **Keyframes (JSON):** ```json { "keyFrameTimesMs": [660, 1320, 2970, 3927, 4884] } ``` Keyframes er uniformt samplet fra hver camera shot, minimum én per shot (selv ved korte shots < 1 sekund). Deterministisk utvalg på tvers av kjøringer. **Camera shots (JSON):** ```json { "cameraShotTimesMs": [2002, 22356, 26960, 53353] } ``` Timestamps indikerer startpunktet for hver shot (unntatt første shot som alltid starter ved 0 ms). Detekterer abrupte og gradvise overganger. --- ## Arkitekturmønstre ### Mønster 1: RAG-optimalisert video-indexing **Use case:** Gjøre video- og audio-innhold søkbart i RAG-workflows (chatbots, agent-systemer). **Arkitektur:** 1. Last opp video/audio til Content Understanding med `prebuilt-videoSearch` analyzer 2. Tjenesten returnerer strukturert markdown (transcript + keyframes) og JSON (fields, segments) 3. Markdown + JSON lagres i Azure AI Search index med multimodal embeddings 4. RAG-systemet søker på tvers av tekst og visuelt innhold **Fordeler:** - Drop-in format for AI Search (ingen post-processing) - Multimodal søk (tekst + bilde) i én pipeline - Temporal context bevares (timestamps, keyframes) **Ulemper:** - Frame sampling (~1 FPS) kan miste raske handlinger - Ikke egnet for real-time eller live video-analyse - Krever Azure OpenAI/embedding-modeller for vektorisering **Når bruke:** E-learning platforms, corporate training libraries, media archives, compliance video search. --- ### Mønster 2: Custom media asset management **Use case:** Klassifisere og tagge stort video-library med domene-spesifikke kategorier (sport, nyheter, reklame). **Arkitektur:** 1. Opprett custom analyzer med feltschema for `videoCategory`, `colorScheme`, `primaryTopic`, `brandPresence` 2. Aktiver `enableSegment: false` for hele-video-analyse 3. Batch-prosesser eksisterende video-bibliotek via REST API eller SDK 4. Lagre ekstraherte metadata i database/fabric for filtering og retrieval **Fordeler:** - Fleksibel feltdefinisjon i naturlig språk (ingen ML-trening) - Støtter både klassifisering (enum) og generering (string) - Confidence scores for kvalitetssikring **Ulemper:** - Generative modeller konsumerer tokens (kostnad skalerer med video-lengde og antall felt) - Ikke real-time (asynkron long-running operation) - Krever manuell validering av ekstraherte verdier for produksjonskritiske use cases **Når bruke:** Broadcast media, advertising analysis, sports analytics, news archiving. --- ### Mønster 3: Compliance og brand safety screening **Use case:** Skanne annonser/video-innhold for upassende innhold, konkurrent-merkevarer, eller regulatoriske krav. **Arkitektur:** 1. Kombiner Content Understanding med Azure AI Content Safety (multimodal analysis) 2. Content Understanding ekstraherer `brandLogo`, `spokespersonName`, `productPlacement` 3. Content Safety analyserer visuelt innhold for harm categories (hate, violence, sexual) 4. Custom logic sammenligner ekstraherte felt mot whitelist/blacklist **Fordeler:** - Multimodal harm detection (tekst + bilde kombinert) - Structured output for audit trails - Integrasjon med Azure AI Services økosystem **Ulemper:** - Content Safety multimodal er limited til spesifikke regions (East US, West Europe) - Ingen real-time screening (batch-orientert) - False positives krever human-in-the-loop review **Når bruke:** Ad network compliance, social media moderation, brand safety for advertisers. --- ## Beslutningsveiledning ### Når bruke Content Understanding vs. Video Indexer | Kriterium | Content Understanding | Video Indexer | |-----------|----------------------|---------------| | **Custom field extraction** | ✅ Ja, via naturlig språk-schema | ❌ Nei, predefinerte insights | | **RAG-optimalisert output** | ✅ Ja, markdown + JSON drop-in | ⚠️ Krever post-processing | | **Face recognition** | ❌ Nei (kun face description med Limited Access) | ✅ Ja, celebrity + custom faces | | **Custom segmentation** | ✅ Ja, NL-basert logic | ❌ Nei, predefinert scene detection | | **Real-time analysis** | ❌ Nei (async batch) | ✅ Ja (live video streaming) | | **Observed people tracking** | ❌ Nei | ✅ Ja (bounding boxes, clothing detection) | | **Audio insights** | ⚠️ Transcript, diarization | ✅ Ja, keywords, emotions, topics, audio effects | | **Pricing model** | Token-basert (generative models) | Page/minute-basert (predefined models) | **Beslutningstre:** ``` Trenger du real-time analyse? ├─ Ja → Video Indexer (live streaming støtte) └─ Nei → Trenger du custom fields definert i naturlig språk? ├─ Ja → Content Understanding └─ Nei → Trenger du face recognition/celebrity identification? ├─ Ja → Video Indexer └─ Nei → Trenger du RAG-optimalisert output uten post-processing? ├─ Ja → Content Understanding (prebuilt-videoSearch) └─ Nei → Vurder begge basert på cost/features ``` ### Vanlige feil | Feil | Årsak | Løsning | |------|-------|---------| | **Manglende detaljer i transcript** | `returnDetails: false` i analyzer config | Sett `"returnDetails": true` for å få `transcriptPhrases`, `cameraShotTimesMs` | | **Feil språk i transcript** | Multilingual transcription brukt på usupportert locale | Spesifiser språk eksplisitt (`"language": "nb-NO"`) eller bruk `"auto"` kun for supported locales | | **Tomme custom fields** | Prompt-beskrivelse for vag eller motsier video-innhold | Iterer på field descriptions, test med sample videos, bruk `method: "classify"` + enum for standardiserte verdier | | **Face description ikke tilgjengelig** | Limited Access feature, krever approval | Send Azure support request for å aktivere `disableFaceBlurring: true` | | **Høy kostnad på lange videoer** | Generative models konsumerer tokens per frame + segment | Optimaliser med `enableSegment: false` for hele-video, reduser antall custom fields, bruk prebuilt analyzers hvor mulig | ### Røde flagg - **Video > 2 timer:** Content Understanding er optimalisert for kortere videoer (ads, training, clips). For lang-format innhold (filmer, full-length shows), vurder Video Indexer. - **Real-time krav:** Content Understanding er asynkron batch-prosessering. For live video, bruk Video Indexer real-time analysis. - **Biometric data uten consent:** Face description krever Legal/Privacy review og brukersamtykke under GDPR/AI Act. Ikke aktiver uten juridisk godkjenning. - **Mission-critical accuracy:** Generative modeller kan hallusinere. Krever human review for compliance/legal use cases. --- ## Integrasjon med Microsoft-stakken ### Azure AI Foundry Content Understanding er en core Foundry service, tilgjengelig via: - **Azure AI Foundry portal**: GUI for testing analyzers, viewing results - **Foundry SDK** (Python, .NET): `ContentUnderstandingClient` klasse - **REST API**: `POST /contentunderstanding/analyzers/{analyzerId}:analyze` **Integrasjon med andre Foundry-tjenester:** | Tjeneste | Integrasjonspunkt | |----------|-------------------| | **Azure OpenAI** | Generative modeller (GPT-4o, o1) for field extraction og segmentering | | **Azure AI Speech** | Transcription engine (samme språkstøtte som Speech in Foundry Tools) | | **Azure AI Vision** | Image analysis for keyframes (OCR, object detection) | | **Azure Document Intelligence** | Document extraction for multimodal documents (PDF, DOCX) | ### Azure AI Search **Multimodal search skillset:** Content Understanding kan integreres som skill i Azure AI Search indexer pipeline via `Azure Content Understanding skill` (cognitive-search-skill-content-understanding). **Sammenligning med Document Layout + Vision vectorization:** | Komponent | Document Extraction skill | Document Layout skill | Content Understanding skill | |-----------|---------------------------|------------------------|------------------------------| | **Text location metadata** | Nei | Ja (single page) | Ja (cross-page) | | **Image location metadata** | Ja (PDF only) | Ja (multi-format) | Ja (multi-format) | | **Table extraction** | Nei | Nei | Ja (cross-page tables) | | **Semantic chunking** | Nei (use Text Split skill) | Ja (paragraph boundaries) | Ja (semantic units) | | **Supported formats** | PDF, images | PDF, DOCX, XLSX, PPTX | PDF, DOCX, XLSX, PPTX, video, audio | | **Pricing** | AI Search pricing | Document Intelligence pricing | Content Understanding pricing | **Når bruke Content Understanding skill:** - Krever cross-page table extraction (contracts, financial reports) - Multimodal dokumenter med innebygde videoer/audio - Trenger semantic chunking over paragraph-level chunking ### Microsoft Fabric Ekstraherte metadata kan eksporteres til Fabric for: - **Data lakehouse**: Strukturert lagring av video metadata - **Power BI**: Dashboards for video analytics (views, sentiment, brand exposure) - **Dataflows**: ETL-prosessering av ekstraherte felt **Eksempel-workflow:** 1. Content Understanding → JSON output til Azure Blob Storage 2. Fabric dataflow leser JSON fra blob 3. Transformasjon til tabellformat (flate strukturer) 4. Lagre i Fabric lakehouse 5. Power BI rapport over video library insights ### Power Platform **Power Automate:** - Trigger: "When video uploaded to SharePoint/Blob" - Action: Call Content Understanding REST API - Action: Parse JSON response og lagre til Dataverse/SharePoint list **Power Apps:** - Custom connector for Content Understanding API - Video metadata viewer app for content editors **AI Builder:** - Ingen direkte integrasjon (AI Builder fokuserer på structured data, forms, text) - Bruk Content Understanding som preprocessing step før AI Builder models --- ## Offentlig sektor (Norge) ### GDPR og personvern **Risikovurdering:** | Feature | GDPR-risiko | Mitigering | |---------|-------------|------------| | **Transcript (speaker diarization)** | Moderat (personidentifisering via stemme) | Anonymiser speaker labels ("Speaker 1" vs. navn), lagre transkripsjon separert fra audio-fil | | **Face description** | Høy (biometric data, Article 9) | Krever eksplisitt samtykke, DPIA, Legal review. Ikke aktiver uten godkjenning. | | **Keyframes** | Lav-Moderat (kan inneholde personer) | Blur faces i keyframes hvis nødvendig (custom post-processing) | | **Custom fields (names, roles)** | Høy hvis felt ekstraherer persondata | Definer klare data retention policies, tilgangskontroll, slettingsrutiner | **Face description (Limited Access):** - Krever Azure support request + justification - Microsoft vurderer use case før godkjenning - Må dokumentere legal basis (consent, public interest, legitimate interest) - Under AI Act (EU): High-risk system hvis brukt til identifisering i offentlige rom ### Schrems II og datasuverenitet Content Understanding er en Azure Foundry service, underlagt samme datasuverenitet-krav som andre Azure-tjenester. **Data processing locations:** - **EU-regioner:** West Europe, North Europe (data residency i EU) - **Generative models (Azure OpenAI):** Kan prosesseres i US-regions (avhenger av OpenAI deployment) **Anbefalinger:** - Deploy Content Understanding resources i **Norway East** eller **West Europe** for EU data residency - Verifiser at Azure OpenAI deployment også er i EU-region (eller bruk customer-managed keys + EU Boundary) - For sensitive offentlige videoer: Vurder Azure Government Cloud (ikke tilgjengelig i Norge, men for US gov customers) **Data retention:** - Input-filer lagres ikke av tjenesten (kun transiently under prosessering) - Output (JSON/markdown) returneres til customer storage (blob, AI Search index) - Ingen logging av video-innhold i Microsoft telemetry (kun metadata som file size, duration) ### AI Act (EU) Content Understanding faller inn under flere AI Act-kategorier: | Use Case | AI Act Classification | Obligations | |----------|----------------------|-------------| | **Video surveillance (public spaces)** | High-risk (Annex III) | Conformity assessment, risk management, transparency, human oversight | | **Emotion detection (face description)** | Prohibited (Article 5) hvis brukt til inferring emotions in workplace/education | Ikke bruk `faceSmilingFrowning` felt i HR/school contexts | | **Content moderation** | High-risk hvis brukt til automated decision-making | Human review loop, appeal mechanism | | **Media asset management** | Low-risk / minimal risk | Transparency notice (AI-generated metadata) | **Compliance checklist:** - [ ] DPIA utført hvis face description aktiveres - [ ] Transparency notice til brukere om AI-genererte metadata - [ ] Human-in-the-loop for high-risk decisions (content removal, compliance violations) - [ ] Dokumentasjon av training data (for custom models, hvis relevant) - [ ] Regular accuracy testing og bias monitoring ### Forvaltningsloven (Norge) Hvis Content Understanding brukes i saksbehandling (f.eks. analyse av innsendte videoer i klagesaker): **§ 11 (informasjonsplikt):** - Informer sakspart om at video analyseres med AI - Forklar hvilke metadata som ekstraheres (transcript, faces, sentiment) - Gi rett til å motsette seg automatisert behandling **§ 17 (begrunnelsesplikt):** - Vedtak basert på AI-ekstraherte insights må begrunnes - Ikke "systemet sa at videoen inneholder X" — menneskelig vurdering må dokumenteres **Anbefalinger:** - Bruk Content Understanding som beslutningsstøtte, ikke automatisert saksbehandling - Lagre audit trail av hvilke felt som ble ekstrahert og hvordan de påvirket beslutning - Tilby innsyn i ekstraherte metadata til sakspart --- ## Kostnad og lisensiering ### Prismodell Content Understanding prises basert på **token consumption** for generative models + **content extraction** for audio/video processing. **Komponenter:** | Komponent | Prisingsmetrikk | Estimert kostnad (NOK, Feb 2026) | |-----------|-----------------|-----------------------------------| | **Content extraction (video)** | Per minute video | ~0.50 NOK/min | | **Content extraction (audio)** | Per minute audio | ~0.30 NOK/min | | **Field extraction (generative)** | Per 1000 tokens (input + output) | ~0.10 NOK/1K tokens (GPT-4o) | | **Segmentation (generative)** | Per 1000 tokens | Inkludert i field extraction | **Eksempel-beregning (5-minutters reklame-video):** 1. **Content extraction:** 5 min × 0.50 NOK = 2.50 NOK 2. **Keyframe extraction:** 5 frames/min × 5 min = 25 keyframes (inkludert i extraction) 3. **Transcript:** ~150 ord/min × 5 min = 750 ord ≈ 1000 tokens (inkludert i extraction) 4. **Field extraction (3 custom fields):** - Input: 750 transcript tokens + 25 keyframes × 1000 tokens/image = 25,750 tokens - Output: ~500 tokens (3 felt × ~150 tokens hver) - Total: 26,250 tokens ≈ 26K tokens × 0.10 NOK/1K = 2.60 NOK 5. **Total:** 2.50 + 2.60 = **5.10 NOK per video** **Prebuilt analyzers:** - `prebuilt-videoSearch`: Lavere kostnad enn custom (færre tokens, optimaliserte prompts) - Estimat: 60-70% av custom analyzer kostnad ### Optimaliseringstips | Strategi | Besparelse | Trade-off | |----------|------------|-----------| | **Bruk prebuilt analyzers** | 30-40% lavere kostnad | Mindre fleksibilitet i output-format | | **Disable segmentation** (`enableSegment: false`) | 20-30% lavere tokens | Ingen segment-level metadata | | **Reduser antall custom fields** | Lineær besparelse per felt | Mindre granulær metadata | | **Batch-prosessering** | Ingen direkte besparelse, men bedre ressursutnyttelse | Ingen real-time output | | **Lower frame sampling** | Ikke konfigurerbart (fast ~1 FPS) | N/A | | **Bruk AI Search skill** | AI Search absorber en del preprocessing-kostnad | Krever AI Search subscription | ### Lisensiering Content Understanding er en **Azure Foundry Tools** tjeneste, inkludert i: | Lisens | Inkludert | Begrensninger | |--------|-----------|---------------| | **Azure subscription (pay-as-you-go)** | Full tilgang | Kostnad per bruk (token-basert) | | **Azure commitment (EA)** | Inkludert i Foundry commitment | Samme prising, men prepaid credits | | **Free tier** | Ikke tilgjengelig | Krever betalt subscription | **MCP-servere (for Claude Code):** - Ingen lisensieringskrav utover Azure subscription - Bruk `microsoft-learn` MCP for dokumentasjonssøk (gratis) - Content Understanding API-tilgang krever Azure keys --- ## For arkitekten (Cosmo) ### Spørsmål å stille kunden 1. **Volum og format:** - Hvor mange videoer/audio-filer skal prosesseres? (per dag/uke/måned) - Typisk video-lengde? (< 5 min, 5-30 min, > 30 min) - Format-variasjon? (kun MP4, eller også legacy formater?) 2. **Custom fields vs. prebuilt:** - Trenger dere domene-spesifikke metadata-felt? (Eksempler: `productType`, `complianceStatus`, `brandSafety`) - Er predefinerte insights (transcript, keyframes, scene descriptions) tilstrekkelig? - Hvor kritisk er accuracy? (toleranse for feil i ekstraherte verdier) 3. **Segmentering:** - Skal videoer analyseres som helhet, eller segmentert i kapitler/scener? - Har dere eksisterende segmenteringslogikk? (timecodes, manual tagging) - Trenger dere variable segment-lengder? (news clips vs. full episodes) 4. **Personvern og compliance:** - Inneholder videoer personer? (faces, voices) - Trenger dere face description/identification? (krever Legal review + Limited Access) - Er dette offentlige videoer (web-published) eller interne/sensitive? - Hvilke GDPR Article 6/9 legal bases gjelder? 5. **Integrasjon:** - Hvor skal metadata lagres? (AI Search, SQL, Fabric, SharePoint) - Trenger dere RAG-optimalisert output? (markdown + embeddings) - Eksisterende video storage? (blob, SharePoint, on-prem NAS) - Real-time krav? (live video streams vs. batch uploaded files) 6. **Kostnad:** - Hva er budsjettet per video? (eller totalt per måned) - Er token-basert prising akseptabelt? (variabel kostnad per video-kompleksitet) - Preferanse for flat-rate pricing? (vurder Video Indexer hvis ja) 7. **Modenhet:** - Har teamet erfaring med generative AI APIs? - Finnes ML/AI-kompetanse for å validere output-kvalitet? - Trenger dere managed service (Azure support) eller self-serve? 8. **Fallback og feilhåndtering:** - Hva skjer hvis analyse feiler? (retry logic, manual fallback) - Toleranse for hallucinations i custom fields? - Human-in-the-loop review-prosess etablert? ### Fallgruver | Fallgruve | Symptom | Forebygging | |-----------|---------|-------------| | **Over-engineering custom fields** | Høy kostnad, treg prosessering, inkonsistente verdier | Start med prebuilt analyzer, iterer til custom fields kun hvis nødvendig | | **Manglende human review** | Feil metadata i produksjon, compliance-brudd | Implementer confidence thresholds, flag lav-confidence outputs for review | | **Ignorer technical constraints** | Klager om "hvorfor fant ikke systemet denne 1-sekunders hendelsen?" | Dokumenter frame sampling (1 FPS) + resolution limits i user documentation | | **Face description uten Legal review** | GDPR/AI Act violations, PR-kriser | Alltid involver Legal før aktivering av `disableFaceBlurring` | | **Ingen test av multilingual transcription** | Feil språk i transkripsjon, uleselig output | Test med sample files, spesifiser språk eksplisitt vs. `auto` | | **Undervurdere token consumption** | Budsjettoverskridelse | Kalkuler tokens på forhånd, bruk prebuilt analyzers for cost control | | **Synkron polling-mønster** | Timeout issues, dårlig UX | Bruk async polling (`.begin_analyze()` + polling hver 20 sek), eller webhooks (ikke GA, men preview) | ### Anbefalinger per modenhetsnivå **Nivå 1 - Exploratory (PoC):** - Bruk `prebuilt-videoSearch` for rask demonstrasjon av RAG on video - Test med 5-10 sample videos (varierende lengde, innhold) - Deploy i development subscription (ikke prod) - Fokus: Bevise at teknologien kan ekstrahere relevant info **Nivå 2 - Pilot (MVP):** - Definer 1-3 custom fields basert på faktisk business need - Implementer confidence thresholds (f.eks. flag outputs < 0.7 confidence for review) - Deploy i prod-lignende miljø (West Europe eller Norway East) - Integrer med eksisterende storage (blob, AI Search) - Etabler cost monitoring (Azure Cost Management alerts) **Nivå 3 - Production (Scale):** - Optimaliser custom field descriptions basert på pilot-data - Implementer batch-prosessering pipeline (Azure Functions + Durable Functions for orchestration) - Sett opp monitoring (Application Insights, Log Analytics) - Legal/Privacy review av face description hvis aktivert - Etabler SLA for processing time (f.eks. "videoer < 10 min prosesseres innen 5 min") **Nivå 4 - Optimization (Mature):** - A/B-test prebuilt vs. custom analyzers (cost vs. accuracy trade-offs) - Fine-tune field descriptions basert på production feedback - Implementer caching av frequently accessed metadata - Vurder Video Indexer for real-time use cases (hybrid approach) - Contributor til Microsoft feedback (feature requests, bug reports) --- ## Kilder og verifisering ### Microsoft Learn (MCP-verifiserte) | Seksjon | Kilde-URL | Konfidensnivå | |---------|-----------|---------------| | Video overview, capabilities | https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/video/overview | Verified (Feb 2026) | | AudioVisual elements, JSON schema | https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/video/elements | Verified (Feb 2026) | | Video Indexer scene/shot/keyframe detection | https://learn.microsoft.com/en-us/azure/azure-video-indexer/scene-shot-keyframe-detection-insight | Verified (Feb 2026) | | Standard vs. Pro modes | https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/concepts/standard-pro-modes | Verified (Feb 2026) | | Multimodal search (AI Search integration) | https://learn.microsoft.com/en-us/azure/search/multimodal-search-overview | Verified (Feb 2026) | | Azure AI Video Indexer insights overview | https://learn.microsoft.com/en-us/azure/azure-video-indexer/insights-overview | Verified (Feb 2026) | | Python SDK (ContentUnderstandingClient) | https://learn.microsoft.com/en-us/python/api/overview/azure/ai-contentunderstanding-readme | Verified (Feb 2026) | | Data privacy and security | https://learn.microsoft.com/en-us/azure/ai-foundry/responsible-ai/content-understanding/data-privacy | Verified (Feb 2026) | ### Baseline (modellkunnskap) | Seksjon | Konfidensnivå | Merknad | |---------|---------------|---------| | Kostnadsestimater (NOK) | Baseline (est. Feb 2026) | Priser kan variere, sjekk Azure Pricing Calculator for nøyaktige tall | | GDPR/AI Act compliance | Baseline (legal interpretation) | Krever juridisk review per use case, ikke definitive legal advice | | Offentlig sektor (Norge) guidance | Baseline (expert recommendation) | Basert på generell forståelse av norske lover, ikke case law | | Fallgruver og best practices | Baseline (arkitektur-erfaring) | Basert på typiske anti-patterns, ikke spesifikke customer incidents | ### Manglende dokumentasjon (gaps) - **Webhooks for async completion**: Preview feature, ikke dokumentert i GA docs (per Feb 2026) - **Token consumption per field type**: Ingen offisiell dokumentasjon av hvordan `method: "classify"` vs. `"generate"` påvirker token usage - **Face description approval process**: Limited Access request-prosedyre er dokumentert, men approval-kriterier er ikke offentlige - **AI Search skill pricing**: Content Understanding skill pricing er ikke eksplisitt skilt fra Document Extraction/Layout skills i Azure Search pricing page --- **Sist oppdatert av:** Cosmo Skyberg **Neste review:** 2026-04 (eller ved ny GA release av Content Understanding)