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