Postprocesado de archivos compuestos

Utiliza la herramienta de posprocesamiento de archivos para procesar una colección de archivos de la API de Video de Vonage, como los generados por la función de archivo automático.

Los archivos de la Video API de Vonage son de tiempo limitado. Es posible que parte de una sesión no se registre en un solo archivo. Para evitar perder una parte de la sesión, usa la función de autoarchivado Archivo automáticoque permite generar varios archivos para cubrir la grabación de sesiones muy largas. Como alternativa, utilice la función Archivos simultáneos para iniciar una segunda grabación antes de finalizar la anterior. En ambos casos, estos archivos se generan con un breve solapamiento entre el final de uno y el comienzo del siguiente.

Si prefieres tener un único archivo de vídeo que contenga toda la sesión, puedes utilizar nuestro Postprocesado de archivos compuestos herramienta que fusiona grabaciones e intenta que la transición resulte lo más fluida posible desde el punto de vista perceptivo. Puedes utilizar esta herramienta para generar un único archivo más largo que contenga material multimedia procedente de varios archivos de archivo más cortos. También puedes utilizar esta herramienta con grabaciones de vídeo que no se hayan creado como archivos de Vonage Video, siempre y cuando haya solapamiento entre el material multimedia y se haya configurado la configuración de los códecs.

Esta guía presenta una breve explicación de cómo la herramienta de postprocesamiento determina el periodo de solapamiento y cómo produce la fusión entre dos archivos.

Visión general

Para ofrecer grabaciones largas, nuestra propuesta detecta el solapamiento de información multimedia entre dos archivos consecutivos encontrando el fotograma de vídeo y la muestra de audio que representan el principio y el final de los datos repetidos. La herramienta que presentamos utiliza reglas de decisión para generar archivos largos con esta redundancia eliminada. Es resistente a la existencia de fotogramas negros, información muy redundante, contenidos muy estáticos, fallos y desincronizaciones de audio y vídeo.

Para descubrir la zona de solapamiento, la lógica de postprocesamiento de archivos sólo necesita analizar una pequeña porción de ambos archivos, unos segundos antes del final del primer archivo y el principio del segundo.

Los archivos de entrada deben tener propiedades de códec idénticas; de lo contrario, la herramienta generará un error. Además, requiere el ffmpeg y ffprobe deben estar instalados en la ruta del usuario, y deben haber sido compilados con los parámetros de audio y vídeo necesarios enumerados aquí:

  • Parámetros de vídeo del archivo compuesto
    • codec: H264
    • perfil: Línea de base restringida
    • formato de píxeles: YUV 420p
    • nivel: 4.1
    • FPS: 25
    • Escala de tiempo de la STP: 90000
  • Archivo compuesto Parámetros de audio
    • códec: AAC LC
    • frecuencia de muestreo: 48 Khz
    • canales: 1
  • Contenedor
    • tipo: mp4

Tipo de contenido

Un archivo puede contener sólo audio, vídeo o ambos. En cuanto al contenido solapado: el movimiento del vídeo puede ser extremadamente estático o muy dinámico, y la señal de audio puede presentar un potente ruido o largos periodos de silencio. Aparte de esto, nuestra herramienta puede enfrentarse a otros contenidos desafiantes, por ejemplo, un editor deja de publicar durante el periodo de solapamiento, lo que se traduce en la presencia de algunos fotogramas negros en el archivo final, o cuando el flujo de medios ha tenido pérdida de paquetes al ser grabado, dando lugar a fallos del descodificador verde en la parte de vídeo o a audio entrecortado.

Ten en cuenta que los intervalos de tiempo de solapamiento tanto del audio como del vídeo se evalúan de forma independiente.

Algoritmo

Archivos solo de audio

Dado que el sistema auditivo humano percibe las frecuencias de forma logarítmica, nuestro algoritmo de audio evalúa de forma logarítmica el contenido de frecuencias de las partes final y inicial de la primera y la segunda señal de audio, respectivamente, que varían con el tiempo.

Una vez realizada la transformación tiempo-frecuencia, se utiliza una ventana deslizante de tamaño fijo para dividir las señales procesadas y calcular iterativamente sus correlaciones por separado.

Proporcionamos dos soluciones diferentes en función del número de iteraciones realizadas durante el cálculo de la ventana deslizante del algoritmo:

  • Búsqueda profunda: esta opción puede ejecutarse si se añade -s o --deep-search a la orden en ejecución.
  • Búsqueda parcial: algoritmo predeterminado.

Archivos solo de vídeo

Para analizar la superposición de los fotogramas de vídeo, se han implementado varias métricas. Todas ellas se basan en la idea de que, cuanto menor sea el valor que devuelven estos algoritmos, mayor será la similitud entre los fotogramas de ambos vídeos. Al igual que con el audio, el código de posprocesamiento desplaza fotograma a fotograma la parte del segundo vídeo —que corresponde a los primeros segundos especificados por el usuario como periodo de evaluación— sobre el fotograma correspondiente del mismo número de segundos en la parte final del primer vídeo.

El código ofrece la opción de representar gráficamente los resultados. En tal caso, el gráfico mostrará una zona verde que representa los fotogramas con mayor relación de similitud del primer y segundo archivo en los que se produce el solapamiento. Además, también se marca en azul una línea de 45 grados que refleja los fotogramas más similares ordenados consecutivamente, respectivamente. Esta correlación se convierte posteriormente en datos de temporización para obtener el periodo de solapamiento del vídeo.

Tenga en cuenta que antes de calcular cualquiera de nuestros cuatro algoritmos siempre se aplica algún preprocesamiento por fotogramas.

Archivos de audio y vídeo

En el caso de tener archivos con audio y vídeo, nuestra herramienta encuentra por separado el periodo de solapamiento de cada uno de ellos. A continuación, evalúa la intersección y toma diferentes decisiones en función de: a) si la intersección es nula; b) si las intersecciones de audio y vídeo no son lo suficientemente similares; y c) cuando ambos solapamientos son muy similares. Para a) y b) se da prioridad a los datos de solapamiento de audio, ya que la información de audio suele ser más legítima para los casos en los que los datos de vídeo pueden presentar una tendencia muy estática. Por último, para la situación c) ambos periodos solapados se pasan al mecanismo de fusión en el que cada uno, intervalos de audio y vídeo, se utiliza al fusionar cada pista multimedia.

Otro material útil

Nuestra documentación para desarrolladores contiene explicaciones fáciles de entender y código listo para usar. Consulte los archivos README en https://github.com/Vonage/archive-post-processing y https://github.com/Vonage/archive-post-processing/tree/main/examples/archive-stitcher.


Referencias