Saltar al contenido

Crear un vídeo de una web: cómo hacer scroll automático

Tres formas de que una página web haga scroll sola mientras la capturas: el desplazamiento automático del navegador, un script de consola que puedes copiar y un renderizador. Y además, a qué velocidad ir y qué curva usar.

Aviral LakhanpaulActualizado el 4 min de lectura

La respuesta corta

No hagas scroll a mano. O pegas en la consola del navegador un script corto que desplaza la página siguiendo una curva de suavizado durante un tiempo fijo mientras el grabador está en marcha, o le das la URL a un renderizador que calcula el scroll y construye el vídeo sin grabador. Como ritmo de partida, calcula unos dos segundos por cada altura de pantalla de la página.

Tres formas de hacer scroll automático

Formas de hacer scroll automático en una página web para un vídeo
MétodoControl de la velocidadSuavizadoNecesita grabador
Desplazamiento automático del navegador (clic central)A mano, con el punteroNingunoSí
Un script de consolaExacto, en segundosCualquier curva que escribasSí
Un renderizador de URL a vídeoExacto, en segundosA elegir entre ajustes predefinidosNo

El desplazamiento automático del navegador, el modo que se activa con un clic central en Windows y Linux, es lo más rápido de usar y lo menos útil: la velocidad depende de lo lejos que esté el puntero del punto donde hiciste clic, así que fluctúa, y el puntero tiene que estar en pantalla para dirigirlo. Vale para una captura aproximada, no para una que vayas a publicar.

Un script que hace scroll por ti

Abre la página, abre DevTools (F12, o ⌥ ⌘ I en un Mac), pega esto en la Consola y pulsa Enter. Espera tres segundos para que puedas iniciar el grabador y luego desplaza la página de arriba abajo siguiendo una curva ease-in-out durante el tiempo que indiques.

Script de consola: desplaza toda la página con suavidad
const SECONDS = 20;        // cuánto dura el scroll
const WAIT = 3;            // tiempo para iniciar el grabador

document.documentElement.style.scrollBehavior = 'auto';
window.scrollTo(0, 0);

const end = document.documentElement.scrollHeight - innerHeight;
const ease = (t) => (t < 0.5 ? 4 * t ** 3 : 1 - (-2 * t + 2) ** 3 / 2);

setTimeout(() => {
  const start = performance.now();
  const step = (now) => {
    const t = Math.min(1, (now - start) / (SECONDS * 1000));
    window.scrollTo(0, end * ease(t));
    if (t < 1) requestAnimationFrame(step);
  };
  requestAnimationFrame(step);
}, WAIT * 1000);
  • scrollBehavior = 'auto' es importante. Muchas webs usan scroll-behavior: smooth, que convierte cada pequeño movimiento del script en una animación propia y devuelve de golpe los tirones.
  • requestAnimationFrame mueve la página una vez por cada fotograma mostrado, así que el scroll es todo lo uniforme que permite la pantalla.
  • Baja hasta el final y vuelve arriba una vez a mano antes de ejecutarlo, para que las imágenes de carga diferida ya estén en su sitio y la altura de la página no cambie a mitad de toma.
  • Las webs hechas con una librería de scroll suave como Lenis o Locomotive Scroll gestionan el scroll por su cuenta y pueden chocar con el script. Si la página da bandazos, es por eso.

O prescinde del grabador

Un script sigue dejando la frecuencia de fotogramas en manos de tu grabador y de tu ordenador. Un renderizador se libra de ambos: Website Scroll Video lee toda la página una vez y luego calcula dónde debe estar en cada fotograma de un vídeo a una frecuencia fija de 24, 30 o 60 fps, así que una página pesada no puede perder fotogramas y una larga no puede desfasarse. Ajustas lo mismo que en el script, en segundos y por curva, y ves la vista previa antes de gastar nada.

¿A qué velocidad debe ir el scroll?

Mide la página en pantallas: su altura total dividida entre la altura de la ventana. Una landing page típica tiene de cinco a ocho pantallas. Después:

Ritmo del scroll según el propósito
PropósitoSegundos por pantallaUna página de ocho pantallas
Adelanto o corte para redesEn torno a 18 segundos
Portfolio o escaparateEn torno a 216 segundos
Recorrido para leer3 o más, o pausas24 segundos o más

A más de una pantalla por segundo el texto se emborrona, sobre todo a 30 fps o en un GIF. Con más de tres segundos por pantalla, el espectador se distrae. Cuando una sección importa más que el resto, una pausa en ella funciona mejor que ralentizar toda la página; Website Scroll Video admite hasta 6, de entre 0,5 y 5 segundos cada una.

Qué curva de suavizado usar

  • Suave (ease-in-out). Arranca desde parado, avanza a velocidad de crucero y se detiene. La mejor opción por defecto: los dos extremos parecen intencionados, no cortados.
  • Deslizado (ease-out). Sale rápido y se detiene poco a poco, como un gesto rápido en un trackpad. Bueno para adelantos cortos que deben empezar con energía.
  • Lineal. Una sola velocidad de principio a fin. Lo mejor para un bucle de fondo, donde cualquier cambio de ritmo llama la atención.
  • Pulso. Avanza una sección, se asienta, vuelve a avanzar. Parece alguien que va recorriendo la web por partes, algo que encaja con los recorridos de producto.

Cómo hacer que se repita en bucle

Un vídeo que baja y luego corta de vuelta arriba tiene un salto visible al repetirse. En su lugar, baja y vuelve a subir por la misma curva: el último fotograma coincide con el primero y el bucle no tiene costuras. En Website Scroll Video es la Reproducción Bajar y volver, con un descanso opcional abajo antes de volver y otro arriba antes de que el bucle empiece de nuevo.

Pruébalo con tu propia web

Pega un enlace y previsualiza el scroll gratis. 51 créditos gratis al registrarte, sin tarjeta y sin marca de agua en nada de lo que exportes.

Búsquedas recientes

    Preguntas, respondidas

    La versión corta de lo que se suele preguntar después.

    Contacto
    ¿Cómo hago que una página web haga scroll automáticamente?

    Haz clic central y mueve el puntero para usar el desplazamiento automático del propio navegador, o pega en la consola de DevTools un script corto que llame a window.scrollTo una vez por fotograma siguiendo una curva de suavizado. Para un vídeo, el script es mucho más uniforme.

    ¿Hay algún ajuste de Chrome para hacer scroll automático?

    Chrome en Windows y Linux admite el desplazamiento automático con clic central, pero su velocidad sigue al puntero. No hay un scroll temporizado integrado. Las extensiones añaden uno, o puedes usar un script de consola o un renderizador de URL.

    ¿Cómo hago que un vídeo con scroll de una web se repita en bucle con fluidez?

    Baja y vuelve a subir por la misma curva para que el último fotograma coincida con el primero, en lugar de cortar del final de la página al principio.

    Logotipo de Website Scroll Video, un botón de reproducción sobre una página web en una ventana del navegador.

    Menos tiempo grabando. Más tiempo creando.

    Automatiza las grabaciones de webs con movimiento personalizable, controles inteligentes y opciones de exportación pensadas para creadores de hoy.