¿Qué tecnologías usa realmente el reproductor de YouTube?

El reproductor visible

Para empezar, es cierto que en la superficie utilizamos HTML para definir la estructura de la página y del propio reproductor. CSS se encarga de controlar toda su apariencia visual, como los botones o el modo cine. Y JavaScript implementa prácticamente toda la lógica interactiva: manejar los controles, las listas de reproducción, los subtítulos, los anuncios y los cambios de calidad.

Diagrama técnico mostrando las tecnologías visibles e invisibles que componen el reproductor de YouTube.
La arquitectura compleja detrás del reproductor de video de YouTube.

El ecosistema oculto

Sin embargo, el reproductor depende de muchas otras tecnologías para lograr todo esto. En primer lugar, utiliza el elemento HTML5 <video>, que es el encargado de reproducir el contenido dentro del navegador.

Además, se apoyan en APIs clave como Media Source Extensions (MSE) y Encrypted Media Extensions (EME). MSE permite alimentar el video en pequeños fragmentos, lo cual es fundamental para lograr funciones como el cambio de calidad sobre la marcha mediante DASH. Por su parte, EME es necesario cuando el contenido requiere protección con DRM.

Para tareas que requieren mucho rendimiento, como ciertos algoritmos de procesamiento multimedia, se utiliza WebAssembly (Wasm). El navegador también cuenta con codecs específicos como VP9, AV1 o H.264, los cuales son decodificados por la GPU mediante aceleración por hardware para mejorar la fluidez.

Finalmente, para mantener la interfaz fluida, el código JavaScript se ejecuta en hilos separados gracias a Web Workers. Curiosamente, hace más de una década que YouTube migró completamente sus sistemas, dejando atrás tecnologías obsoletas como los plugins de Flash.