Omitir navegación

Seis cosas que deben tenerse en cuenta para usar Video Indexer a gran escala

Publicado el 27 enero, 2020

Program Manager, Azure Media Services, Video Indexer

Su gran archivo de vídeos para indexar no deja de crecer, por lo que ha estado evaluando Microsoft Video Indexer y ha decidido que desea llevar su relación con él al siguiente nivel escalando los recursos verticalmente.

En general, el escalado no debería ser difícil, pero, la primera vez que se enfrente a este proceso, es posible que no esté seguro de cuál será la mejor manera de hacerlo. Pueden surgirle preguntas como “¿hay alguna restricción tecnológica que debería tener en cuenta?”, “¿hay una manera inteligente y eficaz de hacerlo?” y “¿puedo evitar gastar dinero de más en el proceso?”. Por eso le indicamos aquí seis procedimientos recomendados para usar Video Indexer a gran escala.

 

1. Cuando cargue un vídeo, es preferible usar una dirección URL en lugar de enviar el archivo como una matriz de bytes

Video Indexer da la opción de cargar vídeos desde la dirección URL o directamente enviando el archivo como una matriz de bytes, pero recuerde que esta segunda opción tiene algunas limitaciones.

En primer lugar, tiene limitaciones de tamaño de archivo. El tamaño de archivo de una matriz de bytes está limitado a 2 GB en comparación con el límite de tamaño de carga de 30 GB si se utiliza la dirección URL.

En segundo lugar y más importante para el escalado de recursos, el envío de archivos de varias partes implica una gran dependencia de la red. La confiabilidad del servicio, la conectividad, la velocidad de carga y los paquetes perdidos en algún lugar de la World Wide Web son solo algunos de los problemas que pueden afectar al rendimiento y, por tanto, a su capacidad para escalar los recursos.

“Imagen que ilustra la carga de un vídeo mediante la dirección URL en comparación con los posibles problemas de red que pueden surgir cuando se utiliza la carga directa

Cuando cargue vídeos con la dirección URL, solo tiene que proporcionar una ruta de acceso a la ubicación de un archivo multimedia y nosotros nos ocuparemos del resto (vea a continuación el campo de la API Upload Video).

Para cargar vídeos usando la dirección URL a través de la API, puede consultar este ejemplo de código corto o puede usar AzCopy para obtener una forma rápida y confiable de enviar contenido a una cuenta de almacenamiento desde la que puede enviarlo a Video Indexer usando una dirección URL con SAS.

Campo para la dirección URL de la API Upload Video

2. Aumente las unidades reservadas de multimedia si es necesario

Normalmente, en la fase de prueba de concepto, cuando empieza a usar Video Indexer, no necesita una gran capacidad de proceso. Ahora bien, cuando desea escalar verticalmente el uso de Video Indexer, tiene un archivo de vídeos más grande que desea indexar y quiere que el proceso siga un ritmo adaptado a su caso de uso. Por tanto, debe pensar en aumentar el número de recursos de proceso que utiliza si la capacidad actual no es suficiente.

En Azure Media Services, para hablar de la capacidad de proceso y paralelización, usamos el término unidades reservadas (RU) de multimedia, que son las unidades de proceso que determinan los parámetros de las tareas de procesamiento multimedia. El número de RU afecta al número de tareas multimedia que se pueden procesar simultáneamente en cada cuenta y su tipo determina la velocidad de procesamiento. Un vídeo puede requerir más de una RU si su indexación es compleja. Cuando las RU están en uso, las tareas nuevas se mantienen en una cola hasta que hay otro recurso disponible.

Sabemos que quiere trabajar de forma eficaz y que no desea tener recursos que finalmente permanecerán inactivos parte del tiempo. Por ese motivo, ofrecemos un sistema de escalado automático que reduce las RU cuando se necesita menos capacidad de procesamiento y pone en marcha RU durante las horas de más actividad (hasta usar todas las RU). Puede habilitar esta funcionalidad fácilmente activando la opción Escalabilidad automática en la configuración de la cuenta, o bien con la API Update Paid Account Azure Media Services.

Botón Escalabilidad automática en la configuración de la cuentaEjemplo de API para actualizar una cuenta de pago en AMS con autoScale = truePara minimizar la duración de la indexación y un rendimiento bajo, se recomienda empezar con 10 RU del tipo S3. Más adelante, si escala verticalmente la capacidad para admitir más contenido o una mayor simultaneidad, y necesita más recursos para ello, puede ponerse en contacto con nosotros usando el sistema de soporte técnico (solo en cuentas de pago) para solicitar que le asignen más RU.

3. Respete las limitaciones

Video Indexer está pensado para la indexación a gran escala y, para sacarle el máximo partido, debe tener en cuenta también la capacidad del sistema y diseñar la integración en consecuencia. No querrá enviar una solicitud de carga para un lote de vídeos y ver que algunas de las películas no se han cargado y que recibe el código de respuesta HTTP 429 (demasiadas solicitudes). Esto puede deberse a que se han enviado más solicitudes de las que permite el límite de películas por minuto. No se preocupe, en la respuesta HTTP, incluimos un encabezado retry-after. El encabezado especificará cuándo debe volver a intentarlo. Asegúrese de que lo respeta antes de intentar la siguiente solicitud.

Documentación de la respuesta HTTP 429 que recibe el usuario

4. Utilice una dirección URL de devolución de llamada

¿Alguna vez ha llamado al servicio de atención al cliente y su respuesta fue “Se está procesando su solicitud, tardará unos minutos. Deje su número de teléfono y le llamaremos cuando haya finalizado”? El caso en el que deja el número y se le llama en cuanto se ha procesado la solicitud es exactamente el mismo concepto que el uso de una dirección URL de devolución de llamada.

Por eso, se recomienda que, en lugar de sondear el estado de la solicitud constantemente desde el segundo en el que envió la solicitud de carga, simplemente agregue una dirección URL de devolución de llamada y espere a que le avisemos. En cuanto se produzca un cambio de estado en la solicitud de carga, se enviará una notificación POST a la dirección URL que haya enviado.

Puede Agregar una dirección URL de devolución de llamada como uno de los parámetros de la API Upload Video (vea la descripción de la API a continuación). Si no está seguro de cómo hacerlo, consulte los ejemplos de código de nuestro repositorio de GitHub. Por cierto, para la dirección URL de devolución de llamada, también puede usar Azure Functions, una plataforma basada en eventos sin servidor que se puede desencadenar con HTTP e implementar un flujo siguiente.

Campo para la dirección URL de devolución de llamada en la API Upload Video

5. Use los parámetros de indexación adecuados para su caso

Probablemente lo primero que debe hacer al usar Video Indexer y, en concreto, cuando intente escalar la capacidad, es pensar en cómo sacarle el máximo partido con los parámetros adecuados para sus necesidades. Piense en su caso de uso. Si define parámetros diferentes, puede ahorrar dinero y acelerar el proceso de indexación de los vídeos.

Le damos la opción de personalizar el uso de Video Indexer eligiendo los parámetros de indexación. No elija streaming como valor preestablecido si no tiene intención de verlo; no indexe información de vídeo si solo necesita información de audio. Es así de sencillo.

Antes de cargar e indexar un vídeo, lea esta breve documentación; consulte las secciones indexingPreset y streamingPreset para obtener una idea más clara de las opciones que tiene.

6. Indexe los vídeos con una resolución óptima, no la máxima resolución

No hace demasiado tiempo, no existían los vídeos de alta definición (HD). Ahora, tenemos vídeos de diversas calidades, desde HD hasta 8K. La cuestión es ¿qué calidad de vídeo necesita para indexar los vídeos? Cuanto mayor sea la calidad de la película que se carga, mayor será el tamaño del archivo, lo que supondrá una mayor capacidad de proceso y de tiempo necesarios para cargar el vídeo.

Según nuestra experiencia, en muchos casos, el rendimiento de la indexación no varía apenas entre los vídeos HD (720P) y los vídeos 4K. Finalmente, obtendrá prácticamente la misma información con la misma confianza.

Por ejemplo, para la característica de detección de caras, una resolución más alta puede ayudar en el caso de que haya muchas caras pequeñas pero contextualmente importantes. Sin embargo, esto conlleva 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 su caso de uso y hacer una prueba primero en el entorno local. Cargue el mismo vídeo en 720P y en 4K, y compare la información que obtiene. Recuerde que no es necesario usar un cañón para matar una mosca.

¿Tiene preguntas o comentarios? Nos encantaría recibir noticias suyas. Use nuestra página de UserVoice para ayudarnos a clasificar las características por orden de prioridad, deje un comentario a continuación o envíe un correo electrónico a la dirección VISupport@Microsoft.com si tiene alguna duda.

Queremos conocer su caso de uso y podemos ayudarle a escalar su capacidad.