
Captura de tela:FilmStrip
tenteiffmpeg -i video.mkv -vf fps=1 out%d.png
Mas está gerando imagens uma por uma. Preciso de todas as miniaturas em uma imagem. como na imagem acima.
Responder1
ffmpeg -i input -filter_complex \
"select='not(mod(n,30))',scale=120:-1,tile=layout=3x2" \
-vframes 1 -q:v 2 output.jpg
- selecioneum quadro a cada 30 segundos
- escalacada quadro para um tamanho menor (como alternativa, você pode dimensionar após o bloco)
- telhacada quadro em uma imagem. O tamanho da grade padrão é 6x5, então pode ser necessário ajustá-lo
layout
dependendo de quantas imagens deseja exibir.
O processo pode levar algum tempo dependendo da duração e formato da entrada.
Responder2
você pode usar algo como
ffmpeg -i video.mkv -filter:v "select=not(mod(n\,10)),setpts=N/((25)*TB)" -qscale:v 2 frame%03d.jpg
- os
select
controles de quais quadros você está capturando (neste caso, um em cada 10) - controla
setps
a taxa de quadros e depende da sua fonte -25
para vídeo PAL ou30000/1001
NTSC qscale
controla a qualidade (escala de quantização) dos quadros de saída de 2 (melhor) a 31 (pior)
acabei de notar sua edição acima, se isso fornecer os quadros que você deseja usar, deve servir como ponto de partida
você precisará juntar as imagens em um único ativo usando uma ferramenta comoImagemMagick
montage -background "transparent" -depth 8 -type TrueColorMatte frame??.jpg \
-geometry 50x50 -tile 10x10 -matte -transparent "transparent" \
-type TrueColorMatte -depth 8 allframes.jpg