¿Cómo desarrollar una aplicación de vídeos cortos?
1. Requisitos de procesamiento de datos al desarrollar aplicaciones de videos cortos
El cliente es el principal responsable del procesamiento de la superposición de efectos de video, el reconocimiento facial y varios algoritmos de embellecimiento. Al mismo tiempo, el procesamiento del lado del cliente también agregará parte del procesamiento de video necesario para la transcodificación y la marca de agua.
Actualmente, los métodos de codificación y decodificación de video en el cliente incluyen codificación suave y codificación dura. La codificación suave tiene principalmente una mejor compatibilidad y un mejor efecto de codificación, pero la desventaja es que consume más energía y es más lenta. La codificación rígida puede lograr un menor consumo de energía y ser más rápida con la ayuda de tarjetas gráficas, pero la compatibilidad y el efecto son peores, especialmente para algunos modelos de gama baja. Por lo tanto, en la actualidad se suele adoptar un enfoque combinado.
El procesamiento en el lado del servidor implica principalmente revisión y transcodificación de videos, y algún trabajo de extracción de fotogramas para generar capturas de pantalla. Actualmente, ffmpeg se utiliza para algunos procesamientos. Algunos puntos que deben considerarse en el servidor en sí son que debido a que el consumo de recursos es relativamente alto, se requiere una gran cantidad de máquinas, por lo que las operaciones de procesamiento de video realizadas en el servidor se controlarán dentro de un rango razonable.
2. El problema de la falta de sincronización de audio y vídeo en el desarrollo de aplicaciones de vídeos cortos
Cuando se reproduce contenido multimedia, lo más problemático es la falta de sincronización. entre audio y vídeo. Técnicamente hablando, la mejor solución al problema de sincronización de audio y video son las marcas de tiempo: primero seleccione un reloj de referencia (lo que requiere que la hora en el reloj de referencia aumente linealmente al generar el flujo de datos, proporcione cada dato en función de la hora en la referencia); Los bloques de reloj tienen una marca de tiempo (generalmente incluye la hora de inicio y la hora de finalización); durante la reproducción, se lee la marca de tiempo en el bloque de datos y la reproducción se organiza con referencia a la hora en el reloj de referencia actual. Se puede ver que hay dos claves para evitar la desincronización de audio y video: una es colocar la marca de tiempo correcta al generar el flujo de datos. Si hay un problema con la marca de tiempo en el bloque de datos, ningún ajuste durante la reproducción ayudará. Al marcar la hora, la transmisión de video y la transmisión de audio se refieren a la hora del reloj de referencia y no existe una relación de referencia entre las transmisiones de datos, es decir, la transmisión de video y la transmisión de audio pasan a través de un tercero neutral (es decir, el reloj de referencia) para lograr la sincronización. El segundo punto clave es controlar el flujo de datos en función de la marca de tiempo durante la reproducción, es decir, adoptar diferentes métodos de procesamiento para la llegada temprana o tardía de los bloques de datos.