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


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

Внимание

Из-за объявления об Службы мультимедиа Azure выхода на пенсию Индексатор видео Azure объявляет корректировки функций Индексатора видео Azure. Ознакомьтесь с изменениями, связанными с выходом на пенсию службы мультимедиа Azure (AMS), чтобы понять, что это означает для учетной записи Индексатора видео Azure. Ознакомьтесь с руководством по обновлению и миграции AMS: VI.

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

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

мини-приложение Аналитика

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

Имя (название) Определение Description
widgets Строки, разделенные запятыми. Позволяет управлять аналитическими сведениями, которые нужно преобразовать для просмотра.
Пример: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?widgets=people,keywords преобразует для просмотра только аналитические сведения о пользовательском интерфейсе people и keywords.
Доступные варианты: people, labelskeywordsaudioEffectssentimentsemotionstopicskeyframestranscriptocrspeakersscenesspokenLanguageobservedPeoplenamedEntitiesdetectedObjects
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 Строки, разделенные запятыми. Позволяет управлять сортировкой аналитических сведений.
Каждый сорт состоит из 3 значений: имя мини-приложения, свойство и порядок, подключенные к '_' sort=name_property_order
Доступные варианты:
мини-приложения: keywords, audioEffects, sentimentsemotionskeyframeslabels, scenesnamedEntities и .spokenLanguage
свойство: startTime, , seenDurationendTimename и .ID
Порядок: asc и desc.
Пример: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?sort=labels_id_asc,keywords_name_desc отрисовывает метки, отсортированные по идентификатору в порядке возрастания, и ключевое слово отсортированы по имени в порядке убывания.
location Параметр location должен быть включен во внедренные ссылки. См. раздел о получении имени вашего региона. Если ваша учетная запись находится на этапе предварительной версии, в качестве значения расположения следует использовать trial. trial — значение по умолчанию для параметра location.

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

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

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

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

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

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

Имя (название) Определение Description
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.
  2. Выберите видео, с которым хотите работать, и нажмите кнопку Воспроизвести.
  3. Выберите нужный тип мини-приложения (Аналитика, проигрыватель или редактор).
  4. Щелкните </> Внедрить.
  5. Скопируйте код внедрения (который отображается в поле Копировать внедренный код в диалоговом окне Общий доступ и внедрение).
  6. Добавьте этот код в приложение.

Примечание.

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

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

Общие видео

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

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

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

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

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

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

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

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

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

Обзор потока

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

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

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

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

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

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

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

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

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

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

  1. Скопируйте код внедрения для мини-приложения Player.
  2. Скопируйте код внедрения Аналитика.
  3. Добавьте файл медиатора, чтобы реализовать взаимодействие между двумя мини-приложениями:
    <script src="https://breakdown.blob.core.windows.net/public/vb.widgets.mediator.js"></script>

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

Дополнительные сведения см. в демонстрации индексатора видео в Azure AI. Внедрение обоих мини-приложений.

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

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

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

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

    <video id="vid1" width="640" height="360" controls autoplay preload>
       <source src="//breakdown.blob.core.windows.net/public/Microsoft%20HoloLens-%20RoboRaid.mp4" type="video/mp4" /> 
       Your browser does not support the video tag.
    </video>
    
  2. Внедрение мини-приложения Аналитика.

  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 Аналитика.

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

мини-приложение Аналитика

Вы можете выбирать нужные вам типы аналитических сведений. Для этого укажите их в качестве значения для следующего параметра URL-адреса, добавленного в полученный код внедрения (из API или веб-сайта Индексатора видео Azure ИИ): &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 и мини-приложений:

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

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

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

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

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

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

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

Сведения о просмотре и редактировании аналитики Индексатора видео Azure ИИ см. в статье "Просмотр и изменение аналитики индексатора видео Azure ИИ".

Кроме того, проверка из Azure AI Video Indexer CodePen.