Digamos que tengo una imagen de póster, una pista de audio y un archivo de subtítulos (SRT/WebVTT o cualquier otro formato adecuado) en el lado del cliente en el navegador. Y me gustaría exportarlo a un video.
Por ejemplo, estoy buscando crear un video como este en el lado del cliente (después de haber obtenido la imagen, el audio y los datos de texto necesarios): https://twitter.com/yayalexisgay/status/1440779723219423238
Tengo datos de audio e imagen en los búfer respectivos y tengo un archivo de subtítulos (obtenido de, por ejemplo, Google Speech to Text API). ¿Cómo puedo crear un video como el del enlace de arriba?
Entiendo que se puede lograr en el backend con una herramienta como FFmpeg o su puerto WebAssembly en el lado del cliente. Sin embargo, FFmpeg no es una opción. Alternativamente, puedo volcar todas las transmisiones en un lienzo cuadro por cuadro y exportar la transmisión del lienzo a un video; sin embargo, eso requeriría que reproduzca toda la pista de audio, lo que podría llevar algún tiempo.
¿No hay una manera, usando los códecs integrados del navegador para combinar secuencias/búferes individuales en un solo video?
¡Gracias!
Creo que WebCodecs es lo que estás buscando. Es la única forma de producir un archivo de video más rápido que en tiempo real con las API de navegador integradas.
Todavía es muy nuevo y solo está disponible en Chrome (desde v94). Firefox tiene la intención de admitirlo también.