Compartir a través de


Aspectos que se deben tener en cuenta al usar Video Indexer de Azure AI a escala

Al usar Video Indexer de Azure AI para indexar vídeos y el archivo de vídeos está creciendo, considere la posibilidad de escalar.

En este artículo se responden las siguientes preguntas:

  • ¿Hay alguna restricción tecnológica que deba tener en cuenta?
  • ¿Se puede hacer de forma inteligente y eficaz?
  • ¿Puedo evitar gastar mucho dinero en el proceso?

En el artículo se proporcionan seis procedimientos recomendados sobre cómo usar Video Indexer de Azure AI a escala.

Al cargar vídeos, considere la posibilidad de usar una dirección URL a través de una matriz de bytes.

Video Indexer de Azure AI le ofrece la opción de cargar vídeos desde una dirección URL o directamente mediante el envío del archivo como una matriz de bytes, lo último incluye algunas restricciones.

En primer lugar, tiene limitaciones con respecto al tamaño de los archivos. El archivo de la matriz de bytes no puede superar los 2 GB, en comparación con el límite de tamaño de carga de 30 GB cuando se usa la dirección URL.

En segundo lugar, tenga en cuenta algunos de los problemas que pueden afectar al rendimiento y, por ende, a su capacidad de escalado:

  • El envío de archivos en varias partes conlleva una gran dependencia de la red,
  • confiabilidad del servicio,
  • conectividad,
  • velocidad de carga y
  • pérdida de paquetes en alguna parte de World Wide Web.

Primera consideración para usar Video Indexer de Azure AI a escala

Si se cargan vídeos mediante la dirección URL, solo hay que especificar una ruta de acceso a la ubicación de un archivo multimedia ya que Video Indexer se encarga del resto (consulte el campo videoUrl en la API de carga de vídeo).

Sugerencia

Use el parámetro opcional videoUrl de la API de carga de vídeo. Además, puede usar AzCopy para obtener un modo rápido y confiable de obtener el contenido a una cuenta de almacenamiento desde la que puede enviarlo a Azure AI Video Indexer mediante la dirección URL de SAS. Video Indexer de Azure AI recomienda usar direcciones URL de SAS de solo lectura .

Respeto de los límites

Video Indexer de Azure AI se ha creado para tratar la indexación a escala y, cuando quiera sacar el máximo partido, también debe tener en cuenta las funcionalidades del sistema y diseñar la integración en consecuencia. No desea enviar una solicitud de carga de un lote de vídeos solo para detectar que algunas de las películas no se han cargado y que recibe un código de respuesta HTTP 429 (demasiadas solicitudes). Hay un límite de solicitudes de API de 10 solicitudes por segundo hasta un máximo de 120 solicitudes por minuto.

Video Indexer de Azure AI agrega un retry-after encabezado en la respuesta HTTP, el encabezado especifica cuándo debe intentar el siguiente reintento. Asegúrese de que lo respeta antes de intentar la siguiente solicitud.

Diseñe bien la integración, respete los límites

Uso de una URL de devolución de llamada

Se recomienda que en lugar de sondear el estado de la solicitud constantemente desde el segundo que envió la solicitud de carga, puede agregar una dirección URL de devolución de llamada y esperar a que Azure AI Video Indexer lo actualice. En cuanto se produzca cualquier cambio de estado en la solicitud de carga, recibirá una notificación POST a la dirección URL que haya especificado.

Puede agregar una URL de devolución de llamada como uno de los parámetros de la API de carga de vídeo. Vea los ejemplos de código en el repositorio de GitHub.

Para la URL de devolución de llamada también se puede usar Azure Functions, una plataforma basada en eventos sin servidor que se puede desencadenar mediante HTTP e implementar un flujo de seguimiento.

Definición de URL de devolución de llamada

Una URL de devolución de llamada se usa para notificar al cliente (mediante una solicitud POST) los siguientes eventos:

  • Indexación de los cambios de estado:

    • Propiedades:

      Nombre Descripción
      id Identificador del vídeo
      estado El estado del vídeo
    • Ejemplo: https://test.com/notifyme?projectName=MyProject& id=1234abcd&state=Processed

  • Persona identificada en el vídeo:

    • Propiedades

      Name Descripción
      id Identificador del vídeo
      faceId El identificador de caras que aparece en el índice de vídeo
      knownPersonId El identificador de persona que es único dentro de un modelo de cara
      personName El nombre de la persona
    • Ejemplo: https://test.com/notifyme?projectName=MyProject& id=1234abcd&faceid=12&knownPersonId=CCA84350-89B7-4262-861C-3CAC796542A5&personName=Inigo_Montoya

Uso de los parámetros de indexación correctos

Al tomar decisiones relacionadas con el uso de Azure AI Video Indexer a escala, consulte cómo sacar el máximo partido a ella con los parámetros adecuados para sus necesidades. Piense en su caso concreto, ya que mediante la definición de diferentes parámetros puede ahorrar dinero y acelerar el proceso de indexación de los vídeos. Por ejemplo, no establezca el valor preestablecido en streaming si no tiene pensado ver el vídeo, y no indexe la información de vídeo si solo necesita información de audio.

Indexación en una resolución óptima, no en la resolución máxima

Puede que desee saber qué calidad de vídeo necesita para indexar los vídeos.

En muchos casos, el rendimiento de la indexación es casi idéntico entre los vídeos de alta definición (720P) y los vídeos 4K. Al final, obtendrá prácticamente la misma información con la misma confianza. Cuanto mayor sea la calidad de la película que se carga, mayor será el tamaño del archivo, lo que requerirá una mayor potencia de computación y se necesitará más tiempo para cargar el vídeo.

Por ejemplo, para la característica de detección de caras, una mayor resolución puede servir de ayuda en un escenario en el que hay muchas caras pequeñas, pero importantes para el contexto. Sin embargo, esto viene con un aumento cuadrático en tiempo de ejecución y un mayor riesgo de falsos positivos.

Por tanto, se recomienda comprobar que obtiene los resultados correctos para cada caso y realizar antes una prueba en un entorno local. Cargue el mismo vídeo en alta definición y en 4K, y compare la información que obtiene.