
Captura de pantalla:tira de película
Lo intentéffmpeg -i video.mkv -vf fps=1 out%d.png
Pero está generando imágenes una por una. Necesito todas las miniaturas en una imagen. como en la captura de pantalla anterior.
Respuesta1
ffmpeg -i input -filter_complex \
"select='not(mod(n,30))',scale=120:-1,tile=layout=3x2" \
-vframes 1 -q:v 2 output.jpg
- seleccionarun fotograma cada 30 segundos
- escalacada cuadro a un tamaño más pequeño (alternativamente, puedes escalar después del mosaico)
- tejacada cuadro en una imagen. El tamaño de cuadrícula predeterminado es 6x5, por lo que es posible que tengas que ajustarlo
layout
dependiendo de cuántas imágenes quieras mostrar.
El proceso puede tardar algún tiempo dependiendo de la duración y el formato de la entrada.
Respuesta2
puedes usar algo como
ffmpeg -i video.mkv -filter:v "select=not(mod(n\,10)),setpts=N/((25)*TB)" -qscale:v 2 frame%03d.jpg
- los
select
controles que fotogramas estás agarrando (en este caso uno de cada 10) - controla
setps
la velocidad de cuadros y depende de su fuente:25
para video PAL o30000/1001
NTSC qscale
controla la calidad (escala de cuantificación) de los cuadros de salida de 2 (mejor) a 31 (peor)
Acabo de notar tu edición anterior, si eso te da los marcos que deseas usar, debería estar bien como punto de partida.
Luego necesitarás unir las imágenes en un solo recurso usando una herramienta comoImagenMagia
montage -background "transparent" -depth 8 -type TrueColorMatte frame??.jpg \
-geometry 50x50 -tile 10x10 -matte -transparent "transparent" \
-type TrueColorMatte -depth 8 allframes.jpg