Добавление или удаление камер для использования с расширением Индексатора видео в Azure AI для анализа в режиме реального времени — предварительная версия

Расширение Индексатора видео Azure для анализа видео в режиме реального времени позволяет подключать камеры для аналитики видеотрансляций. В этом руководстве объясняется, как подключить и удалить камеры с помощью расширения.

Important

Прежде чем приступить к работе, у вас уже должно быть развернутое в вашей среде Azure расширение Индексатор видео ИИ Azure для анализа в реальном времени. Если вы не развернули его, ознакомьтесь с расширениями Индексатора видео в Azure AI для анализа в режиме реального времени , чтобы получить инструкции по созданию расширения и управлению им.

Анализ индексатора видео в режиме реального времени может работать с расширением Операций Интернета вещей Azure (AIO) или без нее. Дополнительные сведения об AIO см. в статье "Развертывание операций Интернета вещей Azure" в кластере Kubernetes с поддержкой Arc.

Скачайте файл скрипта vi_cli.sh

# Download the script
curl -fsSL -o vi_cli.sh https://raw.githubusercontent.com/Azure-Samples/azure-video-indexer-samples/refs/heads/live-private-preview/VideoIndexerEnabledByArc/live/vi_cli.sh

# Make it executable
chmod +x ./vi_cli.sh

# View help
./vi_cli.sh -h

# For the first time using the script, please run this command:
./vi_cli.sh check dependencies

Работа с динамическим интерфейсом командной строки

Скрипт vi_cli.sh предоставляет полный набор команд для управления ресурсами Индексатора видео и AIO. Вы можете взаимодействовать со скриптом тремя способами:

  • Интерактивный режим (-it)
    • Помогает вам ввести параметры
    • Запросы на ввод обязательных значений
    • Лучший для начинающих
  • Аргументы командной строки
    • Укажите все параметры в команде
    • Подходит для автоматизации
    • Требуется знание имен параметров
  • Переменные среды
    • Установка общих параметров один раз
    • Уменьшение длины команды

Доступные переменные среды

export VI_CLUSTER_NAME=""
export VI_CLUSTER_RESOURCE_GROUP=""
export VI_ACCOUNT_NAME=""
export VI_ACCOUNT_RESOURCE_GROUP=""

Подходы можно объединить. Рассмотрим пример.

export VI_CLUSTER_NAME="<cluster-name>"
./vi_cli.sh create camera --cameraName "<camera-name>" -it

Доступные команды

Command Описание Пример использования
check dependencies Проверяет и устанавливает необходимые средства ./vi_cli.sh check dependencies
create camera Создает новую камеру с опциональной предустановкой анализа ./vi_cli.sh create camera -it
create aep Создает профиль подключения камеры (только AIO) ./vi_cli.sh create aep -y (только AIO)
create asset Создает параметры обработки потоков (только AIO) ./vi_cli.sh create asset -y (только AIO)
create preset Создает предустановку анализа для обработки видео ./vi_cli.sh create preset --presetName "<name>"
delete camera Удаляет камеру и связанные с ней ресурсы ./vi_cli.sh delete camera -y --cameraId "<id>"
delete preset Удаляет предварительно заданную конфигурацию для анализа ./vi_cli.sh delete preset -y --presetId "<id>"
upgrade extension Обновляет конфигурацию расширения ./vi_cli.sh upgrade extension -it
show cameras Список всех зарегистрированных камер ./vi_cli.sh show cameras -y
show presets Список всех доступных предустановок анализа ./vi_cli.sh show presets -y
show token Извлечение текущего токена доступа ./vi_cli.sh show token -y
show extension Отображает текущие параметры расширения ./vi_cli.sh show extension -it
show account Отображение сведений об учетной записи индексатора видео ./vi_cli.sh show account -it

Параметры команды

Опция Описание Обязательный
-y, --yes Пропустить запросы на подтверждение No
-h, --help Отображение справки и примеров команд No
-it, --interactive Включение интерактивных входных параметров No
-aio, --aio-enabled Включение интеграции операций Интернета вещей Azure No
-live, --live-enabled Включение возможности потоковой передачи No
-media, --media-enabled Включение возможностей файлов мультимедиа No
--clusterName Имя кластера Да ¹
--clusterResourceGroup Группа ресурсов кластера Да ¹
--accountName Имя учетной записи индексатора видео Да ¹
--accountResourceGroup Группа ресурсов учетной записи индексатора видео Да ¹
--cameraName Имя камеры Да ¹
--cameraAddress Адрес RTSP камеры Да ¹
--presetName Имя предустановки No
--presetId Идентификатор предустановки Да ¹
--cameraId Идентификатор камеры Да ¹
--cameraDescription Описание камеры No
--cameraStreamingEnabled Включение потоковой передачи для камеры No
--cameraRecordingEnabled Включение записи для камеры No
--cameraUsername Имя пользователя для проверки подлинности камеры (только AIO) No
--cameraPassword Пароль для проверки подлинности камеры (только AIO) No

¹ Обязательный для большинства команд, если не используется интерактивный режим (-it)

Замечание

Чтобы войти в интерактивный -it режим, используйте флаг с любой командой, которая запрашивает необходимые параметры.

Проверка предварительных условий

Скрипт автоматически проверяет:

  • Обязательные зависимости (az, jq, curl)
  • Версия Azure CLI (>= 2.64.0)
  • Обязательные расширения Azure CLI (azure-iot-ops, connectedk8s, k8s-extension, customlocation)
  • Действительные входы и токены Azure
  • Регистрация поставщика ресурсов Azure

Управление расширением Индексатора видео

Отображение текущих параметров расширения:

./vi_cli.sh show extension -it

Обновление текущих параметров расширения:

./vi_cli.sh upgrade extension -it

Эта команда интерактивного режима просит вас:

  • Включить прямой эфир? (true/false)
  • Включение файлов мультимедиа? (true/false)

Обновите параметры расширения (включите режимы файлов мультимедиа и Live):

./vi_cli.sh upgrade extension \
--clusterName "<your-cluster-name>" \
--clusterResourceGroup "<your-cluster-resource-group>" \
--accountName "<your-account-name>" \
--accountResourceGroup "<your-account-resource-group>" \
--live-enabled \
--media-enabled

Подключение камер к расширению VI

Чтобы подключить камеру к расширению Индексатора видео Azure (VI) для анализа в режиме реального времени, необходимо скачать файл скрипта vi_cli.sh, а затем запустить его с необходимыми параметрами. Сценарий позволяет подключать камеры к расширению VI, обеспечивая возможности анализа видео в режиме реального времени.

Затем выберите один из вариантов подключения камер, выберите нужный метод:

  • Подключите камеры к VI и к операциям Интернета вещей Azure (AIO) в одно и то же время.
  • Подключите камеры только к VI.

Замечание

При подключении камер к расширительному модулю убедитесь, что вы не превышаете указанное ограничение на количество камер. Количество поддерживаемых камер в одном расширении зависит от используемого GPU и возможностей, выполняемых на камере.

Сценарий \ GPU Камеры на GPU A10 Камеры на GPU V100 Количество камер на один GPU A100 Камеры на GPU H100
Потоковая передача и запись + аналитика 6 2 8 11
Потоковая передача и инсайты 7 2 11 12
Только инсайты 7 2 16 16
Жесткое ограничение 8 4 16 16

Подключение камеры с помощью AIO

Для подключения камер к VI с помощью AIO необходимо сначала настроить соответствующие камеры для работы с AIO, а затем создать необходимые ресурсы AIO и профили конечных точек активов. Используйте следующую команду, чтобы создать камеру с полной интеграцией AIO.

./vi_cli.sh create camera -aio -y \
--cameraName "<camera-name>" \
--cameraAddress "<rtsp-camera-address>" \
--presetName "<preset-name>" \
--cameraUsername "<optional-username>" \
--cameraPassword "<optional-password>" \
--clusterName "<cluster-name>" \
--clusterResourceGroup "<cluster-resource-group>" \
--accountName "<account-name>" \
--accountResourceGroup "<account-resource-group>"

Предыдущая команда выполняет следующие действия автоматически:

  1. Создание профиля конечной точки ресурса в AIO
  2. Создает ресурс для управления потоками в AIO
  3. Создание предустановки видео в Индексаторе видео
  4. Создание камеры в индексаторе видео
  5. Связывает все компоненты вместе для простой операции

Создание камеры

Существует два рекомендуемых способа создания камеры:

  • Использование интерактивного режима

    ./vi_cli.sh create camera -it
    

    Интерактивный режим — самый простой вариант. Сценарий поможет вам ввести все необходимые параметры.

  • Использование предварительно заполненных параметров

    ./vi_cli.sh create camera --cameraName "<camera-name>" --clusterName "<cluster-name>"
    

Создание камеры с предустановкой

Чтобы включить автоматический анализ видео на камере, включите --presetName параметр при создании камеры. Скрипт автоматически создает предустановку, которая обнаруживает:

  • Люди в видеопотоке
  • Транспортные средства в видеопотоке
./vi_cli.sh create camera -y \
--cameraName "<camera-name>" \
--cameraAddress "<rtsp-camera-address>" \
--presetName "<preset-name>" \
--clusterName "<cluster-name>" \
--clusterResourceGroup "<cluster-resource-group>" \
--accountName "<account-name>" \
--accountResourceGroup "<account-resource-group>"

Отключение камеры без AIO

Чтобы удалить камеру, выполните следующие действия.

  1. Получение идентификатора камеры

    ./vi_cli.sh show cameras -y \
    --clusterName "<cluster-name>" \
    --clusterResourceGroup "<cluster-resource-group>" \
    --accountName "<account-name>" \
    --accountResourceGroup "<account-resource-group>"
    
  2. Удаление с помощью идентификатора камеры

    ./vi_cli.sh delete camera -y \
    --cameraId "<camera-id>" \
    --clusterName "<cluster-name>" \
    --clusterResourceGroup "<cluster-resource-group>" \
    --accountName "<account-name>" \
    --accountResourceGroup "<account-resource-group>"
    

Удалите камеру с интеграцией AIO

Чтобы удалить камеру и все связанные с ней компоненты, выполните следующие действия.

./vi_cli.sh delete camera -aio -y \
--cameraId "<camera-id>" \
--clusterName "<cluster-name>" \
--clusterResourceGroup "<cluster-resource-group>" \
--accountName "<account-name>" \
--accountResourceGroup "<account-resource-group>"

Команда удаляет:

  • Профиль конечной точки актива из AIO
  • Конфигурация актива из AIO
  • Камера из индексатора видео

Все компоненты удаляются в правильном порядке для обеспечения чистого удаления.

Другие команды

Ниже приведены некоторые другие команды, которые можно использовать с скриптом vi_cli.sh:

Перечислите все камеры

./vi_cli.sh show cameras -y \
--clusterName "<cluster-name>" \
--clusterResourceGroup "<cluster-resource-group>" \
--accountName "<account-name>" \
--accountResourceGroup "<account-resource-group>"

Список предустановок

./vi_cli.sh show presets -y \
--clusterName "<cluster-name>" \
--clusterResourceGroup "<cluster-resource-group>" \
--accountName "<account-name>" \
--accountResourceGroup "<account-resource-group>"

Показать токен доступа

./vi_cli.sh show token -y \
--clusterName "<cluster-name>" \
--clusterResourceGroup "<cluster-resource-group>" \
--accountName "<account-name>" \
--accountResourceGroup "<account-resource-group>"

Отображение сведений об учетной записи

./vi_cli.sh show account -y \
--accountName "<account-name>" \
--accountResourceGroup "<account-resource-group>"