3.5 Video Analysis and the Retired Spatial Analysis
Key Takeaways
Azure AI Video Indexer extracts audio insights (transcription, translation, speaker ID, sentiment, topics) and visual insights (faces, scenes, shots, OCR, objects, brands) from uploaded video.
Video Indexer is asynchronous: upload returns a video id, then you poll the Index endpoint until processing completes before reading insights JSON.
Spatial Analysis, which counted people and detected line and zone crossings on live camera streams, is still listed in the final AI-102 outline, but Microsoft retired it on March 30, 2025.
Microsoft's Spatial Analysis documentation link now opens the Azure Content Understanding video overview; Content Understanding turns video files into transcripts, key frames, segment descriptions and custom fields.
Video Indexer suits searchable media libraries; Content Understanding produces RAG-ready Markdown and JSON that can go straight into a vector store for an agent or RAG workflow.
Quick Answer: Video Indexer mines uploaded video for transcripts, faces, scenes, topics, brands, and on-screen text — asynchronously. Azure Content Understanding turns video files into RAG-ready transcripts, key frames, segment descriptions, and custom fields. Spatial Analysis, the edge container that counted people and line/zone crossings on live camera feeds, is still in the final AI-102 outline but was retired on March 30, 2025.
Azure AI Video Indexer
Video Indexer is a multi-model pipeline that produces a single rich insights JSON. Insights split into audio and visual.
Audio insights
| Insight | Description |
|---|---|
| Transcription | Speech-to-text of all spoken content |
| Translation | Translate the transcript to other languages |
| Speaker identification | Distinguish individual speakers |
| Sentiment | Positive/neutral/negative tone over time |
| Audio effects | Clapping, silence, crowd noise |
| Topics & keywords | Discussion topics from the transcript |
Visual insights
| Insight | Description |
|---|---|
| Face detection | Locate (and optionally name) faces over time |
| Scene & shot detection | Segment boundaries and camera cuts |
| OCR | Text burned into frames (signs, captions) |
| Object & brand detection | Recognize objects and logos |
| Thumbnail extraction | Representative keyframes |
Asynchronous workflow and access tokens
Video Indexer is not synchronous. You first obtain an access token from the Azure Resource Manager generateAccessToken operation (or the Management API page of the Video Indexer resource in the Azure portal), authenticated with Microsoft Entra ID and scoped to the Account, a Project, or a Video with Reader or Contributor permission; tokens expire after about an hour. The developer-portal Get Account Access Token call served the retired Classic accounts and now works only for trial accounts. You then upload, receive a video id, and poll the Index endpoint until state == "Processed" before reading insights.
import requests
up = (f"https://api.videoindexer.ai/{location}/Accounts/{account_id}/Videos"
f"?name=demo&privacy=Private&accessToken={token}")
video_id = requests.post(up, files={"file": open("video.mp4", "rb")}).json()["id"]
idx = (f"https://api.videoindexer.ai/{location}/Accounts/{account_id}"
f"/Videos/{video_id}/Index?accessToken={token}")
insights = requests.get(idx).json() # poll until state == 'Processed'
for seg in insights["videos"][0]["insights"]["transcript"]:
print(seg["text"])
On the Exam: Video Indexer = batch/async insight mining of recorded files; expect a token + upload + poll flow. Spatial Analysis, which processed live streams, was retired on March 30, 2025.
Spatial Analysis (Retired)
The final AI-102 outline (December 23, 2025) still lists "Use Azure Vision in Foundry Tools Spatial Analysis to detect presence and movement of people in video." Microsoft retired Spatial Analysis on March 30, 2025. It was an Azure AI Vision container that ran on an edge device, read live camera streams, and emitted people-count, line-crossing, zone, and dwell-time events. Do not design a 2026 solution around it.
Azure Content Understanding for Video
Microsoft's Spatial Analysis documentation link now opens the Azure Content Understanding video overview. Content Understanding generates a standard set of video metadata and custom fields with generative models, in two stages:
| Stage | What it produces |
|---|---|
| Content extraction | WebVTT transcript with diarization, key frames, and shot boundaries (cameraShotTimesMs when returnDetails is true) |
| Field extraction and segmentation | Custom fields defined in a fieldSchema, plus segments: the whole video (enableSegment: false) or custom segments described in natural language (enableSegment: true) |
The prebuilt video analyzer returns RAG-ready Markdown and JSON (transcript, key frames, segment descriptions) that can go straight into a vector store for an agent or RAG workflow. Setting segmentation uses the generative model and consumes tokens even when no fields are defined.
Choosing a Video Service
| Need | Service |
|---|---|
| Transcript, topics, faces from a recorded MP4 | Video Indexer |
| Searchable index of a media library | Video Indexer |
| Segment descriptions and custom fields from a video file for RAG | Content Understanding |
| Live people counting or line crossings | Spatial Analysis did this; it was retired on March 30, 2025 |
Worked Example
A training team wants each recorded lecture split into topic chapters with a short description per chapter, ready for a chat agent to search. Use a Content Understanding custom analyzer with enableSegment: true and a contentCategories description such as "one segment per lecture topic", then index the Markdown output for retrieval. If the same team instead needs a searchable media library with transcripts, faces, and on-screen text, Video Indexer fits.
Video Indexer Deployment Modes and Customization
Video Indexer Classic accounts were retired on June 30, 2024, along with Azure Media Services, so current accounts are Azure Resource Manager (ARM) accounts that integrate with your own Azure Storage and support managed identity and customer-managed keys for stricter governance. Video Indexer is also customizable: you can train a person model to name recurring faces, a brand model to track brands relevant to your business, and a language model to bias the transcript toward domain vocabulary.
When a scenario asks how to make transcripts recognize industry jargon, the answer is a custom language model, not switching services.
Video Indexer vs. Content Understanding: The Core Distinction
Video Indexer extracts insights from recorded video (the outline also mentions live streams) and produces a searchable index, so it suits media libraries, compliance review, and content discovery. Content Understanding analyzes video files with generative models to describe segments and fill custom fields, so it suits RAG and agent workflows over video. If a scenario names live people counting or restricted-zone alerts, remember that the Spatial Analysis container in the outline was retired on March 30, 2025.
On the Exam: Video Indexer = batch insight mining with a token + upload + poll flow; a custom language model adds domain vocabulary to transcripts. Content Understanding = generative segment descriptions and custom fields from a
fieldSchema. Spatial Analysis (PersonCount, PersonCrossingLine, PersonZoneDwellTime) appears in the final outline but was retired on March 30, 2025.
Microsoft retired Azure AI Vision Spatial Analysis on March 30, 2025. A team needs each recorded training video split into topic segments, each with a natural-language description and custom fields, ready for a RAG index. Which current service fits?
A Spatial Analysis container on an IoT Edge device
Azure Content Understanding with a custom video analyzer
Azure AI Translator document translation
A Custom Vision image classifier
Azure AI Video Indexer is asynchronous. After an app uploads a video and receives a video id, what must it do before reading the insights?
Read the insights from the upload response immediately
Send the video id to Azure AI Translator
Poll the Index endpoint until the video state is Processed
Retrain a custom language model
A team must build a searchable index of recorded conference talks, including transcripts, speakers, topics, and on-screen text. Which service should they use?
Azure AI Translator text translation
Custom Vision object detection
The Face identification API
Azure AI Video Indexer
Which statement about Azure AI Vision Spatial Analysis is correct for a solution designed in 2026?
It is the recommended service for indexing recorded media libraries
It was retired on March 30, 2025, so a new design must use another service
It is available only through Foundry Agent Service
It replaced Video Indexer in 2025
Sections you finish are checked off in the contents.