Try Azure AI Video Indexer enabled by Arc

Azure AI Video Indexer enabled by Arc is an Azure Arc extension enabled service that runs video and audio analysis on edge devices. The solution is designed to run on Azure Arc enabled Kubernetes and supports many video formats, including MP4 and other common formats. It supports several languages in all basic audio-related models. It assumes that one Video Indexer resource is mapped to one extension.

This article walks you through the steps required to enable Video Indexer as an Arc extension on your current infrastructure.

Example deployment

Here is a block diagram showing Azure AI Video Indexer running on Azure Arc. There are three types:

  1. Store type A uses both vision and audio presets.
  2. Store type B uses only vision presets. It also has a custom model. For more information about using a custom model with Azure AI Video Indexer enabled by Arc, see Bring Your Own AI model.
  3. Store C uses only audio presets.

The extension is stored on each edge device and each device is associated with a single AI Video Indexer account that interfaces with Azure Arc and the cloud.

VI Arc block diagram

Prerequisites

Important

To successfully deploy the Azure AI Video Indexer extension, it is mandatory that your Azure subscription id is approved in advance. You must first sign up using this form.

To use the Video Indexer extension, you need to have an externally facing endpoint, which can be either a DNS name or IP. The endpoint should be set as a secure transfer protocol (https:\\) and is used as the extension API endpoint, formatted as https:\\{endpointUri}/swagger/index.html. It's also used by the Video Indexer web portal to communicate with the extension. It's recommended that you use an ingress control to manage the endpoint.

Note

If the endpoint is not publicly accessible, you will not be able to perform actions on the extension from the web portal.

Important

The AKS cluster contains the Video Indexer extension must be in the East US region.

Minimum hardware requirements for this quickstart

This quickstart is designed to allow you to see the extension in action, so smaller resource sizes have been chosen for you to work with in a test environment. For this quickstart, the minimum hardware requirements are:

  • CPU: 16 cores
  • Memory: 16 GB

For the minimum hardware requirements in a production environment, see the Minimum hardware requirements in the overview article.

Minimum software requirements

Component Minimum Requirements
Operating System Ubuntu 22.04 LTS or any Linux Compatible OS
Kubernetes 1.26
Azure CLI 2.48.0

Parameter definitions

Parameter  Default  Description
release-namespace  yes The Kubernetes namespace that the extension is installed into
cluster-name The Kubernetes Azure Arc instance name
resource-group The Kubernetes Azure Arc resource group name
version  yes  Video Indexer Extension version, leave empty for latest
speech.endpointUri Speech Service Url Endpoint (link)
speech.secret  Speech Instance secret (link)
translate.endpointUri  Translation Service Url Endpoint (link)
translate.secret  Translation Service secret (link)
ocr.endpointUri OCR Service Url Endpoint (link)
ocr.secret OCR Service secret (link)
videoIndexer.accountId Video Indexer Account ID
videoIndexer.endpointUri  Dns Name or IP to be used as the extension external endpoint.

Prepare for deployment

During the deployment, the script asks for environment specific values. Have these values ready so you can copy and paste them when the script asks for them.

Question Value Details
What is the Video Indexer account ID during deployment? GUID Your Video Indexer Account ID
What is the Azure subscription ID during deployment? GUID Your Azure Subscription ID
What is the name of the Video Indexer resource group during deployment? string The Resource Group Name of your Video Indexer Account
What is the name of the Video Indexer account during deployment? string Your Video Indexer Account name
  1. In the Azure portal, navigate to your Azure Arc-connected cluster.
  2. From the menu, select Extensions > + Add > Azure AI Video Indexer Arc Extension.
  3. Select Create. The Create an AI Video Indexer extension screen will appear.
  4. Configure the extension in Instance details:
    1. Select the subscription and resource group for your extension.
    2. Select the region and connected k8 cluster.
    3. Enter a name for your extension.
    4. Select the Azure AI Video Indexer Account that the extension will be connected to.
    5. Enter the cluster endpoint, either an IP or DNS Name to be used as the API endpoint.
    6. Provide the storage class you want to use for the extension that's supported by your Kubernetes distribution. For example, if you're using AKS, you could use azurefile-cli. For more information on predefined storage classes supported by AKS, see Storage Classes in AKS. If you're using other Kubernetes distributions, see your Kubernetes distribution documentation for predefined storage classes supported or the way you can provide your own.
  5. Select Review + create and then Create.

Sample

Sample script to deploy Arc enabled AKS cluster with Video Indexer extension