¿Qué es la precarga de video?
La precarga de video es una sugerencia que indica a un navegador o reproductor cuánto contenido de un recurso multimedia obtener antes de que el espectador inicie la reproducción. En el elemento HTML video, el atributo preload acepta none, metadata o auto, y el navegador puede ignorarlo.
Cómo funciona la precarga de video
El estándar HTML define preload en los elementos audio y video como una sugerencia con tres palabras clave. none indica que el autor no espera que el espectador necesite el contenido multimedia, o que el servidor quiere minimizar el tráfico innecesario. metadata indica que es razonable obtener las dimensiones, la lista de pistas y la duración, y posiblemente los primeros fotogramas. auto, o el atributo con un valor vacío, permite al navegador priorizar al espectador, incluso descargando de forma anticipada el recurso completo. Cuando el atributo falta o no es válido, el valor predeterminado depende de la implementación, y el estándar sugiere el comportamiento de obtención de metadatos. Un navegador puede ignorar por completo la sugerencia, por ejemplo, debido a las preferencias explícitas del usuario o a la conectividad disponible. El valor se puede cambiar una vez iniciada la carga, por lo que una página con muchos videos puede incluir none y cambiar un reproductor a auto cuando el espectador pulse el botón de reproducción.
Datos clave
- Los valores son sugerencias, no límites de bytes. Con
metadata, el estándar HTML indica que un navegador normalmente obtendrá algunos fotogramas además de las dimensiones, la lista de pistas y la duración; conautopuede descargar el archivo completo. Ningún valor limita la transferencia, así que mide las solicitudes que hace cada navegador de destino antes de la reproducción. - El comportamiento efectivo puede diferir de lo indicado en el marcado.
autoplaypuede prevalecer sobrepreloadcuando el navegador permite la reproducción automática, porque un video que se reproduce tiene que almacenar datos en el búfer independientemente de la sugerencia, y los navegadores aplican su propia política. El código fuente del elemento multimedia de Chromium, consultado en octubre de 2026, rebajaautoametadataen conexiones móviles y tratanonecomometadatauna vez que un script llama al métodoload()del elemento. Las listas de reglas publicadas quedan desactualizadas: la regla de Data Saver del artículo de web.dev sobre precarga no aparece en ese código fuente. - El atributo no controla los reproductores basados en Media Source Extensions, como hls.js, porque la propia aplicación obtiene el contenido multimedia y lo añade al elemento. Usa la configuración del reproductor. De forma predeterminada, hls.js carga automáticamente la lista de reproducción del nivel de calidad y los primeros fragmentos una vez analizado el manifiesto; con
autoStartLoadestablecido enfalse, esa carga espera una llamada astartLoad(). En ambos casos,loadSource()solicita el manifiesto, que hls.js analiza para obtener los niveles de calidad y las pistas disponibles. Para no solicitar ningún contenido de la transmisión antes de la reproducción, retrasa tambiénloadSource(). - Los navegadores pueden solicitar un archivo multimedia por rangos de bytes; el estándar HTML deja la elección del rango a la implementación. En un MP4 no fragmentado, el índice suele escribirse al final del archivo, a menos que el codificador lo haya movido al inicio, como hace la opción
faststartde FFmpeg, por lo que leerlo sin transferir todo lo que lo precede depende de que el servidor responda a las solicitudesRangecon206 Partial Content. HTTP permite que un servidor ignoreRangey envíe el archivo completo. preload="none"no impide que se cargue la imagen de póster. El estándar HTML obtiene la imagen de póster cuando se crea el elemento o cambia su atributoposter, independientemente depreload. El atributoloading="lazy"del estándar es el que retrasa tanto la carga de la imagen de póster como el comportamiento de precarga hasta que el elemento se acerca al área visible, y solo cuando la ejecución de scripts está habilitada; confirma que los navegadores de destino lo implementen para video.
Cuándo importa la precarga de video
Establece preload explícitamente, porque el valor predeterminado varía entre navegadores. none es adecuado para páginas donde la reproducción es poco probable o se enumeran muchos videos; metadata es adecuado para reproductores que necesitan la duración y las dimensiones antes de la reproducción; y auto es adecuado para un video que se espera que el espectador vea, a costa de transferir contenido multimedia que quizá nunca se reproduzca.
Cómo ayuda Transloadit con la precarga de video
El navegador o reproductor decide la precarga en el momento de la reproducción, por lo que no es una configuración de Transloadit. Transloadit prepara los archivos que carga un reproductor: el Robot /video/thumbs extrae imágenes de un video para usarlas como vistas previas, que pueden servir como imagen de póster que un reproductor muestra antes de haber obtenido contenido multimedia.
Establece el valor de preload en tu propio marcado o en la configuración del reproductor y elige qué fotograma extraído publicar como imagen de póster.
Fuentes
- Estándar HTML: elementos multimedia, incluidos los atributos preload, poster y loading
- MDN: el elemento video y sus atributos preload, poster y loading
- web.dev: reproducción rápida con precarga de audio y video
- RFC 9110: semántica de HTTP, sección 14 (solicitudes de rango) y sección 15.3.7 (206 Partial Content)
- Código fuente de Chromium: HTMLMediaElement::load(), PreloadType() y EffectivePreloadType()
- Documentación de la API de hls.js: autoStartLoad y startLoad()
- Código fuente de hls.js: loadSource() y startLoad()
- Código fuente de hls.js: cargador de listas de reproducción, onManifestLoading() y checkAutostartLoad()
- Documentación de formatos de FFmpeg: multiplexor MOV/MP4 y opción faststart