Edgar González
Volver a proyectos

Muvu

Una plataforma en la nube para tus archivos personales.

Muvu —un juego de palabras con «movie»— fue un proyecto de startup centrado en construir un SaaS multidispositivo para contenido multimedia personal.

La idea era hacer que las fotos y vídeos capturados con el móvil estuvieran disponibles desde cualquier sitio: smartphones, tablets, PCs, Smart TVs y consolas, incluidas Xbox y PlayStation.

Pero el problema interesante no era simplemente almacenar y servir contenido multimedia.

Era encontrar el equilibrio correcto entre mantener intacto el contenido original del usuario y hacer que ese contenido fuera práctico de consumir desde la nube.

Rol
Software Engineer
Ámbito
Backend · Procesamiento de medios · Infraestructura en la nube · Aplicaciones multidispositivo

El problema de almacenar tu propio contenido multimedia

Las plataformas en la nube existentes podían poner tus fotos y vídeos a disposición en varios dispositivos, pero normalmente optimizaban el contenido pensando en el consumo online.

Nosotros queríamos un enfoque distinto.

El archivo original debía estar siempre disponible para el usuario, como ocurriría con un servicio como Dropbox. Pero cuando alguien quisiera ver un vídeo desde la nube, necesitábamos una versión optimizada apta para streaming.

Eso creaba de inmediato una decisión de compromiso difícil.

Si transcodificábamos cada vídeo en el momento de subirlo, tendríamos que:

  • gastar recursos de cómputo procesando vídeos que quizá nunca se verían;
  • almacenar versiones adicionales codificadas de cada vídeo;
  • mantener esas versiones junto a los originales;
  • y seguir pagando por ese almacenamiento adicional, se consumiera el contenido o no.

Para un servicio de contenido multimedia personal, eso podía convertirse muy rápido en algo caro.

Codificar solo cuando importa

El enfoque que exploramos fue tratar el procesamiento de vídeo más como streaming en directo.

En vez de transcodificar todo al subirlo, el sistema mantendría el archivo original como fuente de verdad y generaría la representación optimizada cuando el contenido realmente necesitara consumirse.

Eso cambiaba la economía de la plataforma.

Siempre pagaríamos por almacenar el contenido original del usuario —que es el servicio que realmente queríamos ofrecer— pero evitaríamos pagar por almacenar de forma permanente versiones derivadas de contenido que quizá nunca se vería.

La idea suena sencilla.

En su momento, implementarla no lo fue.

Bajar por debajo de la capa de aplicación

AWS todavía no ofrecía un servicio gestionado de transcodificación de vídeo que resolviera esto por nosotros.

Trabajé directamente con FFmpeg y modifiqué el procesamiento de MPEG-TS para adaptar el pipeline de codificación a los requisitos de este enfoque.

Después construí el servicio de transcodificación de vídeo responsable de tomar el contenido original y producir la representación necesaria para su reproducción.

El trabajo implicó entender el pipeline de vídeo a un nivel mucho más bajo que el desarrollo de aplicaciones habitual: codificación, contenedores, streams, buffering y el comportamiento necesario para que el contenido generado fuera apto para streaming.

La modificación del códec vino motivada por la restricción de producto, no por el deseo de construir algo de bajo nivel por sí mismo.

Estábamos intentando que la economía de la plataforma funcionara.

Una plataforma para cada pantalla

El vídeo era solo una parte del reto multidispositivo.

El producto estaba pensado para poner el contenido personal a disposición en una amplia variedad de dispositivos, cada uno con capacidades y restricciones distintas.

Construí pruebas de concepto para aplicaciones de Smart TV y videoconsolas, explorando cómo la misma plataforma de medios subyacente podía exponerse a través de entornos de cliente muy distintos.

Esos experimentos ayudaron a validar el concepto e identificar las restricciones técnicas que acabarían dando forma al producto.

Mi rol

Mi trabajo abarcó varias capas del sistema.

Desarrollé los servicios responsables de subir contenido a Amazon S3, construí el servicio de transcodificación de vídeo, trabajé directamente en el códec modificado y creé pruebas de concepto para nuevas plataformas de cliente.

El proyecto exigía moverse continuamente entre niveles de abstracción: del almacenamiento en la nube y los servicios backend a los formatos de vídeo, la codificación y el comportamiento específico de cada dispositivo.

Lo que más me enorgullece

La parte de la que más orgulloso estoy es la conexión entre la idea de producto y la ingeniería de bajo nivel necesaria para hacerla viable.

El trabajo sobre el códec no fue un experimento técnico aislado. Nació de una pregunta de producto sencilla: ¿por qué pagar por procesar y almacenar un vídeo que puede que el usuario nunca llegue a ver?

Esa pregunta llevó a un enfoque distinto del procesamiento de medios, que llevó a una arquitectura distinta, y que acabó significando modificar las herramientas y los códecs por debajo de la propia aplicación.

Fue uno de esos proyectos en los que las restricciones de producto nos obligaron a profundizar en la tecnología.

A veces la solución correcta es otro servicio gestionado. A veces es una aplicación. Y a veces hace falta entender el propio códec.

Contacto

¿Hablamos?

Abierto a conversaciones sobre arquitectura, plataformas y equipos. La forma más rápida de contactarme es LinkedIn.

Edgar González · 2026Edgar González