Artículo
Extraer fotogramas de vídeo para miniaturas y hojas de contacto
Un vídeo es una secuencia de imágenes fijas. Extraer una de esas imágenes te da una miniatura, una portada o una hoja de contacto. El resultado es más nítido y predecible cuando entiendes cómo almacena sus fotogramas un códec de vídeo y qué momentos vale la pena capturar.
Fotogramas y frecuencia de fotogramas
Un archivo de vídeo es una secuencia de imágenes fijas mostradas lo suficientemente rápido como para crear la ilusión de movimiento. El número de imágenes mostradas por segundo es la frecuencia de fotogramas, expresada en fps. Los valores comunes son 24 fps para cine, 25 fps para emisión PAL, 30 fps para vídeo web y 60 fps para grabaciones de juegos. A 24 fps, una película de dos horas contiene alrededor de 172.800 fotogramas individuales. Cada fotograma corresponde a un único momento en el tiempo; extraer uno congela ese momento como imagen independiente. La frecuencia de fotogramas también determina cuántos fotogramas obtienes por segundo de metraje al extraer un lote: a 30 fps, extraer cada fotograma de un minuto de vídeo te da 1.800 imágenes, que suele ser mucho más de lo que necesitas. Extraer a una frecuencia de fotogramas menor, o cada N fotogramas con herramientas que lo permitan, es una forma práctica de reducir ese volumen cubriendo aun así toda la duración.

Keyframes frente a fotogramas interpolados
Los códecs de vídeo modernos no almacenan cada fotograma como una imagen completa. Usan tres tipos de fotograma para ahorrar espacio. Un I-frame, también llamado keyframe, es una imagen completa y autónoma. Un P-frame almacena solo los píxeles que cambiaron desde el último I-frame o P-frame. Un B-frame almacena los cambios relativos tanto a un fotograma anterior como a uno posterior, requiriendo fotogramas a ambos lados para reconstruirlo. Como un P-frame o B-frame es incompleto por sí solo, decodificar uno requiere los fotogramas de referencia circundantes. Si esos fotogramas de referencia contienen desenfoque de movimiento o una transición, la imagen reconstruida hereda ese desenfoque. Un I-frame, en cambio, se decodifica de forma independiente. Siempre es nítido porque no toma prestado nada de sus vecinos. Al extraer un fotograma para usarlo como miniatura, aterrizar en un I-frame te da el resultado más limpio posible. La mayoría de los códecs colocan I-frames en los cortes de escena, que son puntos de partida naturalmente nítidos.
Elegir el momento correcto
Incluso un I-frame bien decodificado puede ser una miniatura deficiente si el momento capturado no es favorecedor. Varios factores reducen la calidad de la miniatura. El desenfoque de movimiento ocurre cuando la cámara o el sujeto se mueve rápidamente durante la exposición del fotograma; el rastro resultante hace que un fotograma parezca suave aunque la decodificación fue limpia. Los fotogramas de transición capturados a mitad de una disolución o un fundido contienen dos imágenes superpuestas y raramente funcionan como imágenes independientes. Los fotogramas subexpuestos o sobreexpuestos, comunes al inicio de una escena antes de que la exposición automática se estabilice, pierden detalle en las sombras o las luces. Los mejores fotogramas para miniaturas provienen de momentos de acción o expresión clara, buena iluminación y una cámara estable. Avanzar por el vídeo con un reproductor que muestre marcas de tiempo exactas te permite identificar esos momentos antes de extraerlos. Un fotograma que se ve bien pausado en un reproductor generalmente se verá bien como exportación fija.

Exportar: resolución, formato y cada N fotogramas
Cuando extraes un fotograma, la imagen exportada debe coincidir con la resolución nativa del vídeo. Ampliar introduce artefactos de interpolación; reducir descarta píxeles que quizás quieras. Un vídeo 1080p produce imágenes de 1920x1080 píxeles y un vídeo 4K produce imágenes de 3840x2160. Para el formato, PNG preserva cada píxel exactamente y es la opción correcta cuando necesitas la máxima nitidez para editar o escalar posteriormente. JPEG es más pequeño y adecuado para previsualizar o compartir, pero introduce artefactos de compresión alrededor de los bordes nítidos. Si estás creando una hoja de contacto, una cuadrícula de fotogramas representativos pequeños que cubren toda la duración, extraer a una frecuencia de fotogramas fija en lugar de tomar todos los fotogramas es el enfoque estándar: pedir 1 fotograma por segundo de una fuente a 30 fps te da una imagen por segundo de metraje, y una frecuencia más alta como 5 o 10 fps da un conjunto más denso para una inspección detallada. La frecuencia exacta depende de cuánto detalle necesitas frente a cuántas imágenes quieres manejar.
Hacerlo localmente con video-extract-frames
La herramienta video-extract-frames de Sunasty decodifica tu vídeo completamente dentro del navegador usando FFmpeg compilado en WebAssembly. Sueltas un archivo, eliges una frecuencia de fotogramas entre 1 y 30 fotogramas por segundo, seleccionas PNG o JPEG, y la herramienta decodifica los fotogramas a esa frecuencia en la memoria de tu navegador y ofrece los resultados como descargas individuales, con un límite de 300 fotogramas por ejecución. Tu archivo de vídeo nunca abandona tu dispositivo. No se envían bytes a ningún servidor en ningún momento del proceso. Esto importa para metraje que contiene contenido personal o sensible: una grabación familiar, una entrevista o metraje en bruto antes de editar. El navegador carga el vídeo en un sistema de archivos virtual en RAM, ejecuta la decodificación FFmpeg y te devuelve las imágenes. La contrapartida es que la decodificación se realiza por software en tu CPU en lugar de por hardware dedicado, por lo que un vídeo largo de alta resolución tarda más que una aplicación nativa. Para extraer unos pocos fotogramas o producir una hoja de contacto de un clip corto, la velocidad es práctica.
Herramientas en este artículo
- Extraer fotogramas de vídeoExtrae fotogramas fijos de un vídeo como imágenes PNG o JPG directamente en tu navegador. Sin subida.
- Recortar vídeoCorta un vídeo a un rango de tiempo inicio/fin directamente en tu navegador. Copia de flujo rápida o recodificación precisa. Sin subida.
- Vídeo a GIFConvierte un clip de vídeo en un GIF animado directamente en tu navegador. Sin subida.
Preguntas frecuentes
¿Por qué el fotograma extraído se ve borroso?
La causa más común es aterrizar en un P-frame o B-frame durante un momento de movimiento. Estos fotogramas almacenan diferencias en lugar de imágenes completas, y el desenfoque de movimiento en el metraje original se traslada a la decodificación. Intenta extraer el I-frame más cercano, que corresponde a un corte de escena o a un keyframe periódico, para obtener un resultado más nítido.
¿Debo exportar los fotogramas como PNG o JPEG?
PNG si planeas editar el fotograma, ampliarlo o usarlo en un contexto donde los artefactos de compresión serían visibles. JPEG si necesitas un archivo más pequeño para compartir o previsualizar rápidamente y la leve reducción de calidad es aceptable. Para miniaturas que aparecen a un tamaño pequeño fijo, JPEG con un ajuste de calidad razonable suele ser adecuado.
¿Cómo creo una hoja de contacto a partir de un vídeo?
Elige una frecuencia de fotogramas lo bastante baja como para obtener un número manejable de instantáneas, en lugar de una sola marca de tiempo. Para un clip de dos minutos, 1 fotograma por segundo te da alrededor de 120 fotogramas, suficientemente denso para elegir una buena cuadrícula; en cualquier caso, la salida está limitada a 300 fotogramas por ejecución. Hoy no hay una frecuencia más baja que 1 fps, así que para una hoja más dispersa, extrae a 1 fps y conserva solo los fotogramas que quieras para la cuadrícula final.