Crie um mosaico de capturas de tela de um filme com ffmpeg
Se você estiver usando algo mais antigo que o Ubuntu 15.04, então o chamado pacote " ffmpeg
" do repositório se refere a uma versão falsa do fork Libav que não tem a funcionalidade que você precisa, então você terá para baixar uma versão estática de ffmpeg
ou seguir um select
, scale
e tile
:
./ffmpeg -i input -vf "select=gt(scene\,0.4),scale=160:-1,tile" -frames:v 1 \
-qscale:v 3 preview.jpg
Neste exemplo, a saída será 960x450
. Você pode adicionar um filtro de escala adicional se quiser alterar isso ou alterar o tamanho de cada bloco. Exemplo para uma saída de 600 pixels de largura:
./ffmpeg -i input -vf "select=gt(scene\,0.4),scale=160:-1,tile,scale=600:-1" \
-frames:v 1 -qscale:v 3 preview.jpg
Você pode até adicionar texto à saída. Este exemplo adicionará 24 pixels de preenchimento preto ao topo da imagem e adicionará o texto "Homem de Ferro" no centro do preenchimento.
./ffmpeg -i input -vf "select=gt(scene\,0.4), \
scale=160:-1, \
tile, \
scale=600:-1, \
pad=iw:ih+24, \
drawtext=fontsize=30:box=1:fontfile=/usr/share/fonts/TTF/Vera.ttf:text='Iron Man':x=(w-text_w)/2:0"
-frames:v 1 -qscale:v 3 preview.jpg
Outras coisas
-
Você pode controlar a qualidade de saída com
-qscale:v
. O alcance efetivo é uma escala linear de 2-31; onde 2 é a melhor qualidade. -
Veja a
select
documentação do filtro para obter mais informações.