Compartir a través de


Inserción de widgets de Video Indexer de Azure AI en las aplicaciones

En este artículo se muestra cómo insertar widgets de Video Indexer de Azure AI en las aplicaciones. Video Indexer de Azure AI admite la inserción de tres tipos de widgets en las aplicaciones: Insights, Player y Editor.

Tipos de widget

Widget insights

Un widget insights incluye todas las conclusiones visuales que se extrajeron del proceso de indexación de vídeo. El widget Insights admite los siguientes parámetros de dirección URL opcionales:

Nombre Definición Descripción
widgets Cadenas separadas por coma Le permite controlar las conclusiones que desea representar.
Ejemplo: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?widgets=people,keywords representa solo las conclusiones de interfaz de usuario de personas y palabras clave.
Opciones disponibles: people, keywords, , labelsaudioEffects, sentiments, emotionsdetectedObjectsnamedEntitiesobservedPeoplespokenLanguagespeakerstranscriptscenestopicskeyframesocr.
controls Cadenas separadas por coma Le permite controlar los controles que quiere representar.
Ejemplo: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?controls=search,download solo representa la opción de búsqueda y el botón de descarga.
Opciones disponibles: search, download, presets, language.
language Código corto de idioma (nombre de idioma) Controla el idioma de las conclusiones.
Ejemplo: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?language=es-es
o bien https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?language=spanish
locale Código corto de idioma Controla el idioma de la interfaz de usuario. El valor predeterminado es en.
Ejemplo: locale=de.
tab Pestaña seleccionada de manera predeterminada Controla la pestaña Conclusiones que se representa de manera predeterminada.
Ejemplo: tab=timeline representa las conclusiones con la pestaña Escala de tiempo seleccionada.
search Cadena Permite controlar el término de búsqueda inicial.
Ejemplo: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?search=azure representa la información filtrada por la palabra "Azure".
sort Cadenas separadas por coma Permite controlar la ordenación de una información.
Cada ordenación consta de tres valores: nombre del widget, propiedad y orden, conectados con “_” sort=name_property_order
Opciones disponibles:
widgets: keywords, audioEffects, labels, sentiments, emotions, keyframes, , scenesy spokenLanguagenamedEntities .
property: startTime, endTime, seenDurationname y ID.
order: asc y desc.
Ejemplo: https://www.videoindexer.ai/embed/insights/<accountId>/<videoId>/?sort=labels_id_asc,keywords_name_desc representa las etiquetas ordenadas por ID en orden ascendente y las palabras clave ordenadas por nombre en orden descendente.
location El parámetro location debe estar incluido en los vínculos incrustados. Vea cómo obtener el nombre de su región. Si su cuenta se encuentra en versión preliminar, use trial para el valor de ubicación. trial es el valor predeterminado para el parámetro location.

Widget Player

Puede usar el widget Player para transmitir vídeo mediante la velocidad de bits adaptable. El widget Player admite los siguientes parámetros de URL opcionales:

Nombre Definición Descripción
t Segundos desde el inicio Hace que el reproductor comience a reproducir desde un momento especificado.
Ejemplo: t=60.
captions Un código de idioma o una matriz de código de idioma Recupera el subtítulo en el idioma especificado durante la carga del widget para que esté disponible en el menú Subtítulos.
Ejemplo: captions=en-US, captions=en-US,es-ES
showCaptions Un valor booleano Hace que el reproductor se cargue con los títulos ya habilitados.
Ejemplo: showCaptions=true.
type Activa una máscara del reproductor de audio (se quita la parte de vídeo).
Ejemplo: type=audio.
autoplay Un valor booleano Indica si el reproductor debe comenzar a reproducir el vídeo una vez esté cargado. El valor predeterminado es true.
Ejemplo: autoplay=false.
language/locale Código de idioma Controla el idioma del reproductor. El valor predeterminado es en-US.
Ejemplo: language=de-DE.
location El parámetro location debe estar incluido en los vínculos incrustados. Vea cómo obtener el nombre de su región. Si su cuenta se encuentra en versión preliminar, use trial para el valor de ubicación. trial es el valor predeterminado para el parámetro location.
boundingBoxes Matriz de cuadros de límite. Opciones: personas (caras), personas observadas y objetos detectados.
Los valores deben estar separados por una coma (",").
Controla la opción para establecer los recuadros de selección activados o desactivados al insertar el reproductor.
Se activará toda la opción mencionada.

Ejemplo: boundingBoxes=observedPeople,people,detectedObjects
El valor predeterminado es boundingBoxes=observedPeople,detectedObjects (solo se activan las personas observadas y el cuadro de límite de objetos detectados).

Widget Editor

Puede usar el widget Editor para crear nuevos proyectos y administrar las conclusiones de vídeo. El widget Editor admite los siguientes parámetros de URL opcionales:

Nombre Definición Descripción
accessToken* Cadena Proporciona acceso a vídeos que solo están en la cuenta que se usa para insertar el widget.
El widget Editor requiere el parámetro accessToken.
language Código de idioma Controla el idioma del reproductor. El valor predeterminado es en-US.
Ejemplo: language=de-DE.
locale Código corto de idioma Controla el idioma de la información. El valor predeterminado es en.
Ejemplo: language=de.
location El parámetro location debe estar incluido en los vínculos incrustados. Vea cómo obtener el nombre de su región. Si su cuenta se encuentra en versión preliminar, use trial para el valor de ubicación. trial es el valor predeterminado para el parámetro location.

*El propietario debe proporcionar accessToken con precaución.

Inserción de vídeos

En esta sección se describe la inserción de vídeos mediante el sitio web o ensamblando la dirección URL manualmente en aplicaciones.

El parámetro location debe estar incluido en los vínculos incrustados. Vea cómo obtener el nombre de su región. Si su cuenta se encuentra en versión preliminar, use trial para el valor de ubicación. trial es el valor predeterminado para el parámetro location. Por ejemplo: https://www.videoindexer.ai/accounts/00000000-0000-0000-0000-000000000000/videos/b2b2c74b8e/?location=trial.

La experiencia del sitio web

Para insertar un vídeo, use el sitio web como se describe a continuación:

  1. Inicie sesión en el sitio web de Azure AI Video Indexer .
  2. Seleccione el vídeo con el que quiera trabajar y presione Reproducir.
  3. Seleccione el tipo de widget que desee (Insights, Player o Editor).
  4. Haga clic en </> Insertar.
  5. Copie el código para insertar (aparece en Copy the embedded code (Copiar el código insertado) en el cuadro de diálogo Compartir e insertar).
  6. Agregue el código a la aplicación.

Nota:

Al compartir un vínculo para el widget Reproductor o Conclusiones, se incluirá el token de acceso y se concederán permisos de solo lectura a su cuenta.

Ensamblado manual de la dirección URL

Vídeos públicos

Puede insertar vídeos públicos ensamblando la dirección URL de la siguiente manera:

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

Vídeos privados

Para insertar un vídeo privado, antes debe pasar un token de acceso (use Get Video Access Token en el atributo src de iframe:

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

Proporcionar funcionalidades de edición de conclusiones

Para proporcionar funcionalidades de conclusiones de edición en el widget insertado, tiene que pasar un token de acceso que incluya permisos de edición. Use Get Video Access Token con &allowEdit=true.

Interacción de widgets

El widget Insights puede interactuar con un vídeo en la aplicación. En esta sección se muestra cómo conseguir esta interacción.

Información general de los flujos

Al editar las transcripciones, se produce el siguiente flujo:

  1. La transcripción se edita en la escala de tiempo.

  2. Video Indexer de Azure AI obtiene estas actualizaciones y las guarda en las ediciones de transcripción en el modelo de lenguaje.

  3. Los subtítulos se actualizan:

    • Si usa el widget del reproductor de Video Indexer de Azure AI, se actualiza automáticamente.
    • Si usa un reproductor externo, puede obtener un nuevo archivo de subtítulos mediante una llamada Get video captions.

Comunicaciones entre orígenes

Para obtener widgets de Azure AI Video Indexer para comunicarse con otros componentes:

  • Usa el método HTML5 de comunicación entre orígenes postMessage.
  • Valida el mensaje mediante el origen VideoIndexer.ai.

Si implementa su propio código de reproductor e integra con widgets de Insights, es su responsabilidad validar el origen del mensaje que procede de VideoIndexer.ai.

En esta sección se muestra cómo lograr la interacción entre dos widgets de Video Indexer de Azure AI para que cuando un usuario seleccione el control de información en la aplicación, el reproductor salta al momento pertinente.

  1. Copie el código para insertar del widget Player.
  2. Copie el código de inserción de Insights.
  3. Agregue el archivo mediador para controlar la comunicación entre los dos widgets:
    <script src="https://breakdown.blob.core.windows.net/public/vb.widgets.mediator.js"></script>

Ahora, cuando un usuario selecciona el control de conclusión en la aplicación, el reproductor salta al momento pertinente.

Para más información, consulte La demostración de Azure AI Video Indexer: inserción de ambos widgets.

Inserción del widget de Azure AI Video Indexer Insights y uso de un reproductor de vídeo diferente

Si usa un reproductor de vídeo distinto de Video Indexer Player, debe manipular manualmente el reproductor de vídeo para lograr la comunicación.

  1. Inserte el reproductor de vídeo.

    Por ejemplo, un reproductor HTML5 estándar:

    <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. Inserte el widget Insights.

  3. Implemente la comunicación para el reproductor mediante la escucha del evento "mensaje". Por ejemplo:

    <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>
    

Para obtener más información, consulte la demostración de Video Indexer Player + VI Insights.

Personalización de widgets que se pueden insertar

Widget insights

Puede elegir los tipos de conclusiones que desee. Para ello, especifíquelos como un valor para el siguiente parámetro de dirección URL que se agrega al código de inserción que obtiene (desde la API o desde el sitio web de Video Indexer de Azure AI): &widgets=<list of wanted widgets>.

Aquí se enumeran los valores posibles.

Por ejemplo, si quiere insertar un widget que contiene solo conclusiones de personas y palabras clave, la dirección URL para insertar iframe tendría este aspecto:

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

También se puede personalizar el título de la ventana de IFrame proporcionando &title=<YourTitle> a la dirección URL de IFrame. (Personaliza el valor HTML <title>).

Por ejemplo, si quiere asignar a la ventana de IFrame el título "MyInsights", la dirección URL tendrá este aspecto:

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

Tenga en cuenta que esta opción solo es relevante en aquellos casos en los que necesite abrir la información detallada en una nueva ventana.

Widget Player

Si inserta el reproductor de Video Indexer de Azure AI, puede elegir el tamaño del reproductor especificando el tamaño del iframe.

Por ejemplo:

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

De forma predeterminada, el reproductor de Video Indexer de Azure AI ha generado automáticamente subtítulos basados en la transcripción del vídeo. La transcripción se extrae del vídeo con el idioma de origen que se seleccionó cuando se cargó el vídeo.

Si desea insertar con un idioma diferente, puede agregar &captions=<Language Code> a la dirección URL del reproductor de inserción. Si quiere que los subtítulos se muestren de forma predeterminada, puede pasar &showCaptions=true.

La dirección URL para insertar tendrá un aspecto similar al siguiente:

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

Reproducción automática

De forma predeterminada, el reproductor iniciará la reproducción del vídeo. puede elegir no pasar &autoplay=false a la dirección URL de inserción anterior.

Ejemplos de código

Consulte el repositorio de ejemplos de código que contiene ejemplos para la API y widgets de Video Indexer de Azure AI:

Archivo/carpeta Descripción
control-vi-embedded-player Inserta VI Player y lo controla desde fuera.
custom-index-location Inserta VI Insights desde una ubicación externa personalizada (puede ser un blob).
embed-both-insights Uso básico de VI Insights, tanto Player como Insights.
customize-the-widgets Inserta widgets de VI con opciones personalizadas.
embed-both-widgets Inserta VI Player e Insights y establece la comunicación entre ellos.
url-generator Genera la dirección URL de inserción personalizada de widgets según las opciones especificadas por el usuario.
html5-player Inserta VI Insights con un reproductor de vídeo HTML5 predeterminado.

Exploradores compatibles

Para más información, consulte los exploradores compatibles.

Inserción y personalización de widgets de Video Indexer de Azure AI en la aplicación mediante el paquete npmjs

Con nuestro paquete @azure/video-analyzer-for-media-widgets , puedes agregar los widgets de información a tu aplicación y personalizarlos según tus necesidades.

En lugar de agregar un elemento iframe para insertar el widget de información, con este nuevo paquete puede insertar y comunicar fácilmente entre nuestros widgets. La personalización del widget solo se admite en este paquete: todo en un solo lugar.

Para más información, consulte nuestra GitHub oficial.

Además, consulte CodePen de Video Indexer de Azure AI.