Поделиться через


Встраивайте виджеты Индексатора видео Azure в свои приложения

В этой статье показано, как встроить виджеты Индексатора видео Azure в ваши приложения. Индексатор видео Azure AI поддерживает внедрение трех типов мини-приложений в приложения: Insights, Player и Editor.

Типы мини-приложений

Мини-приложение Insights

Мини-приложение Insights включает все визуальные аналитические сведения, извлеченные из процесса индексирования видео. Мини-приложение Insights поддерживает следующие необязательные параметры URL-адреса:

Имя (название) Определение Описание
widgets Строки, разделенные запятыми. Позволяет управлять аналитической информацией, которую вы хотите отображать.
Пример: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?widgets=people,keywords отображает только аналитическую информацию об интерфейсе, связанную с элементами "people" и "keywords".
Доступные варианты: people, keywordsaudioEffectslabelssentimentsemotionstopicskeyframestranscriptocrspeakersscenesspokenLanguageobservedPeoplenamedEntitiesdetectedObjects
controls Строки, разделенные запятыми. Позволяет контролировать элементы управления, которые вы хотите отображать.
Пример: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?controls=search,download отображает только опцию поиска и кнопку загрузки.
Доступные параметры: search, download, presets, language.
language Короткий код языка (имя языка) Управляет языком аналитических сведений.
Пример: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?language=es-es
или https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?language=spanish
locale Короткий код языка Управляет языком пользовательского интерфейса. Значение по умолчанию — en.
Пример: locale=de.
tab Вкладка, выбранная по умолчанию Управляет вкладкой аналитических сведений, которая отображается по умолчанию.
Пример: tab=timeline преобразует инсайты с выбранной вкладкой Timeline (Временная шкала).
search Строка Позволяет управлять начальным термином поиска.
Пример: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?search=azure представляет аналитику, отфильтрованную по слову Azure.
sort Строки, разделенные запятыми. Позволяет управлять сортировкой аналитических сведений.
Каждый сорт состоит из трех значений: имени виджета, свойства и порядка, соединенных с sort=name_property_order '_'.
Доступные варианты:
мини-приложения: keywords, audioEffects, labels, sentiments, emotions, keyframes, scenes, namedEntitiesи spokenLanguage.
свойство: startTime, endTime, seenDuration, nameи ID.
Порядок: по возрастанию и убыванию.
Пример: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?sort=labels_id_asc,keywords_name_desc отрисовывает метки, отсортированные по идентификатору в порядке возрастания, и ключевые слова, отсортированные по имени в порядке убывания.
location Параметр location должен быть включен в внедренные ссылки; см. , как получить имя вашего региона. Если ваша учетная запись находится на этапе предварительной версии, в качестве значения расположения следует использовать trial. trial — значение по умолчанию для параметра location.

Мини-приложение Player

Вы можете использовать мини-приложение Player для потоковой передачи видео с использованием адаптивной скорости. Мини-приложение Player поддерживает следующие необязательные параметры URL-адреса.

Имя (название) Определение Описание
t Число секунд от начала видео Позволяет проигрывателю воспроизводить видео, начиная с указанной точки во времени.
Пример: t=60.
captions Код языка или массив кодов языков Позволяет получать субтитры на указанном языке при загрузке мини-приложения, чтобы они были доступны в меню Субтитры.
Пример: captions=en-US, captions=en-US,es-ES.
showCaptions Логическое значение Позволяет проигрывателю загружаться с уже включенными субтитрами.
Пример: showCaptions=true.
type Активирует обложку аудиопроигрывателя (часть видео удаляется).
Пример: type=audio.
autoplay Логическое значение Указывает, должен ли проигрыватель начинать воспроизведение видео при загрузке. Значение по умолчанию — true.
Пример: autoplay=false. Возможность использования автозапуска зависит от политики используемого веб-браузера: Firefox, Google Chrome, macOS WebKit
language/locale Код языка Управляет языком проигрывателя. Значение по умолчанию — en-US.
Пример: language=de-DE.
location Параметр location должен быть включен в внедренные ссылки; см. , как получить имя вашего региона. Если ваша учетная запись находится на этапе предварительной версии, в качестве значения расположения следует использовать trial. trial — значение по умолчанию для параметра location.
boundingBoxes Массив ограничивающих прямоугольников. Параметры: люди (лица), наблюдаемые люди и обнаруженные объекты.
Разделяйте значения с запятыми (,).
Управляет параметром включения/выключения ограничивающих прямоугольников при внедрении проигрывателя.
Все упомянутые параметры включены.

Пример: boundingBoxes=observedPeople,people,detectedObjects
Значением по умолчанию является boundingBoxes=observedPeople,detectedObjects (включены рамки вокруг наблюдаемых людей и обнаруженных объектов).

Виджет редактора

Вы можете использовать мини-приложение Editor для создания новых проектов и управления аналитическими данными видео. Мини-приложение Editor поддерживает следующие необязательные параметры URL-адреса.

Имя (название) Определение Описание
accessToken* Строка Предоставляет доступ к видео, которые находятся только в учетной записи, использовавшейся для внедрения мини-приложения.
Для мини-приложения Editor требуется параметр accessToken.
language Код языка Управляет языком проигрывателя. Значение по умолчанию — en-US.
Пример: language=de-DE.
locale Короткий код языка Управляет языком аналитических сведений. Значение по умолчанию — en.
Пример: language=de.
location Параметр location должен быть включен в внедренные ссылки. Узнайте , как получить имя региона. Если ваша учетная запись находится на этапе предварительной версии, в качестве значения расположения следует использовать trial. trial — значение по умолчанию для параметра location.

*Владелец должен предоставлять accessToken с осторожностью.

Внедрение видео

В этом разделе рассматривается внедрение видео с помощью веб-сайта или сборка URL-адреса вручную в приложения.

Параметр location должен быть включен в внедренные ссылки. Узнайте , как получить имя региона. Если ваша учетная запись находится на этапе предварительной версии, в качестве значения расположения следует использовать trial. trial — значение по умолчанию для параметра location. Например: https://www.videoindexer.ai/accounts/00000000-0000-0000-0000-000000000000/videos/b2b2c74b8e/?location=trial.

Интерфейс веб-сайта

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

  1. Войдите на веб-сайт Azure AI Video Indexer.
  2. Выберите видео, с которым хотите работать, и нажмите кнопку Воспроизвести.
  3. Выберите нужный тип мини-приложения (Аналитика, проигрыватель или редактор).
  4. Выберите </> Вставить.
  5. Скопируйте код внедрения (он отображается в диалоговом окне " Копировать внедренный код " в диалоговом окне "Общий доступ и внедрение ").
  6. Добавьте этот код в приложение.

Примечание.

Предоставление ссылки на мини-приложение Player или Insights включает в себя маркер доступа и наделяет вашу учетную запись правами только на чтение.

Создайте URL-адрес вручную

Публичные видео

Чтобы внедрить общедоступные видео, соберите URL-адрес следующим образом:

https://www.videoindexer.ai/embed/[insights | player]/<accountId>/<videoId>

Частные видеоролики

Чтобы встроить частное видео, необходимо передать токен доступа (используйте Get Video Access Token в атрибуте src элемента iframe:

https://www.videoindexer.ai/embed/[insights | player]/<accountId>/<videoId>/?accessToken=<accessToken>

Предоставление возможностей редактирования аналитических сведений

Чтобы предоставить возможности изменения аналитических сведений во внедренном мини-приложении, необходимо передать маркер доступа, включающий разрешения на редактирование. Используйте запрос API получения маркера доступа к видео с &allowEdit=true.

Взаимодействие с мини-приложениями

Мини-приложение Insights может взаимодействовать с видео в приложении. В этом разделе показано, как реализовать это взаимодействие.

Обзор потока

При редактировании расшифровки происходит следующая последовательность.

  1. Вы изменяете расшифровку во временной шкале.

  2. Индексатор видео Azure AI получает эти обновления и сохраняет их, исходя из изменений в расшифровке, в языковой модели.

  3. Субтитры обновляются.

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

Обмен данными независимо от источника

Чтобы настроить мини-приложения Индексатора видео Azure AI для коммуникации с другими компонентами:

  • использует метод HTML5 postMessage для обмена данными независимо от источника.
  • Проверяет сообщения из источника VideoIndexer.ai.

Вы несете ответственность за проверку происхождения сообщения, полученного из VideoIndexer.ai, если вы реализуете собственный код проигрывателя и интегрируете с мини-приложениями Insights.

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

  1. Скопируйте код встраивания виджета Player.
  2. Скопируйте код встраивания для Insights.
  3. Добавьте файл медиатора, чтобы реализовать взаимодействие между двумя мини-приложениями:
    <script src="https://aka.ms/vi-mediator-file"></script>

Теперь, когда пользователь выберет элемент управления для просмотра аналитической информации в приложении, проигрыватель перейдет к соответствующему моменту.

Дополнительные сведения см. в демонстрации Azure AI Video Indexer — внедрение обоих виджетов.

Внедрение мини-приложения Azure AI Video Indexer Insights и использование другого видеопроигрывателя

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

  1. Вставьте свой видеопроигрыватель.

    Например, стандартный проигрыватель HTML5.

    <video id="vid1" width="640" height="360" controls autoplay preload>
       <source src="//vi-static-prod-gdh6d4ggexcmgua5.b01.azurefd.net/public/Microsoft%20HoloLens-%20RoboRaid.mp4" type="video/mp4" /> 
       Your browser does not support the video tag.
    </video>
    
  2. Внедрение мини-приложения Insights.

  3. Настройте взаимодействие для вашего проигрывателя, слушая событие "message". Например:

    <script>
    
        (function(){
        // Reference your player instance.
        var playerInstance = document.getElementById('vid1');
    
        function jumpTo(evt) {
          var origin = evt.origin || evt.originalEvent.origin;
    
          // Validate that the event comes from the videoindexer domain.
          if ((origin === "https://www.videoindexer.ai") && evt.data.time !== undefined){
    
            // Call your player's "jumpTo" implementation.
            playerInstance.currentTime = evt.data.time;
    
            // Confirm the arrival to us.
            if ('postMessage' in window) {
              evt.source.postMessage({confirm: true, time: evt.data.time}, origin);
            }
          }
        }
    
        // Listen to the message event.
        window.addEventListener("message", jumpTo, false);
    
        }())    
    
    </script>
    

Дополнительные сведения см. в демонстрации Проигрывателя индексатора видео и VI Insights.

Настройка внедряемых мини-приложений

Мини-приложение Insights

Вы можете выбирать нужные вам типы аналитических сведений. Для этого укажите их в качестве значения в следующем параметре URL-адреса. Он добавляется в код встраивания, который вы получаете (из API или с веб-сайта Azure AI Video Indexer): &widgets=<list of wanted widgets>.

Возможные значения перечислены здесь.

Например, если вы хотите внедрить мини-приложение, содержащее только аналитические сведения о людях и ключевых словах, URL-адрес внедрения iframe выглядит следующим образом:

https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?widgets=people,keywords

Заголовок окна iframe можно настроить, указав &title=<YourTitle> в URL-адресе для iframe. (Он настраивает значение HTML <title>.)

Например, если вы хотите дать окне iframe заголовок MyInsights, URL-адрес выглядит следующим образом:

https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?title=MyInsights

Обратите внимание на то, что этот параметр применим, только когда аналитические сведения нужно открыть в новом окне.

Мини-приложение Player

При внедрении проигрывателя индексатора видео в Azure AI можно выбрать размер проигрывателя, указав размер iframe.

Например:

> [!VIDEO https://www.videoindexer.ai/embed/player/<accountId>/<videoId>/]>/<videoId>/" frameborder="0" allowfullscreen />

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

Если вы хотите выполнить внедрение на другом языке, можно добавить &captions=<Language Code> в URL-адрес внедряемого проигрывателя. Чтобы субтитры отображались по умолчанию, передайте параметр &showCaptions=true.

Затем URL-адрес внедрения выглядит следующим образом:

https://www.videoindexer.ai/embed/player/<accountId>/<videoId>/?captions=en-us

Автозапуск

По умолчанию проигрыватель начинает воспроизводить видео. Вы можете этого не делать, добавив &autoplay=false к указанному выше URL-адресу внедрения.

Примеры кода

См. репозиторий примеров кода, содержащий примеры для API Azure Video Indexer и виджетов:

Файл или папка Описание
control-vi-embedded-player Встраивание проигрывателя VI и управление им извне.
custom-index-location Встраивание аналитики VI из настраиваемого внешнего расположения (это может быть облачное хранилище (BLOB) клиента).
embed-both-insights Базовое использование как проигрывателя, так и аналитики VI Insights.
customize-the-widgets Встраивание виджетов VI с настраиваемыми параметрами.
embed-both-widgets Внедрите проигрыватель VI и Insights и обеспечьте их взаимодействие.
url-generator Создает пользовательский URL-адрес для встраивания мини-приложений на основе выбранных пользователем опций.
html5-player Встраивайте VI Insights с видеопроигрывателем HTML5 по умолчанию.

Поддерживаемые браузеры

Дополнительные сведения см. в разделе Поддерживаемые браузеры.

Внедрение и настройка мини-приложений Индексатора видео Azure в приложении с помощью пакета npmjs

Используя наш пакет @azure/video-analyzer-for-media-widgets, вы можете добавить мини-приложения аналитики в приложение и настроить его в соответствии с вашими потребностями.

Вместо добавления элемента iframe для внедрения мини-приложения аналитики, с помощью этого нового пакета вы можете легко внедрять и обеспечивать взаимодействие между нашими мини-приложениями. Настройка вашего виджета поддерживается только в этом пакете — всё в одном месте.

Дополнительные сведения см. на официальной странице GitHub.

Кроме того, ознакомьтесь с Индексатором видео Azure AI CodePen.