Introducción

Escribindo o anterior artigo, o de Presenterm, precisei engadir un ficheiro animado para amosar como quedaría a presentación no final. Como tendo a xerar as imaxes en PNG con Spectacle xa quixen aproveitar estas mesmas imaxes para facelo.

Escenario

Para o que quería tiña catro imaxes: presenterm01.png, presenterm02.png, presenterm03.png, presenterm04.png.

E quería que estas quedasen coma un único arquivo presenterm.png. Nunha rápida busca por internet falábase de webs para facelo, ou doutras ferramentas. Pero nalgures, non recordo agora onde alguén suxería utilizar FFMPEG, ferramenta que nunca usei. Eu tiña en mente atopar algún manual de Krita que permitise facelo sen moito choio. Pero o da liña de comandos chamoume a atención. Xa que xeralmente é un proceso moito máis rápido. E era certo.

O comando

Unha rápida consulta a Lumo doume o comando que precisaba.

ffmpeg -framerate 0.5 -i presenterm%02d.png \
       -vf "scale=iw:ih:flags=lanczos" \
       -plays 0 -f apng presenterm.png
Fragmento Explicación
ffmpeg é o comando encargado de xerar a secuencia
-framerate 0.5 indica a taxa de frames, neste caso cada pantalla transcorrerá a 0.5 frames. Canto máis alto o número máis rápido transicionará
-i presenterm%02d.png indica os ficheiros a coller, neste caso reemprazará %02d, por 01, 02, 03… que son os nomes que tiña
-vf “scale=iw:ih:flags=lanczos” mantén o tamaño orixinal (iw:ih). Podes cambiar scale=WIDTH:HEIGHT se queres redimensionar. O filtro lanczos ofrece unha mellor calidade ao escalar
-Plays 0 número de veces que se reproducirá o bucle. 0 significa bucle infinito
-f apng usa o codificador APNG
presenterm.png nome do ficheiro de saída

Resultado

Secuencia xerada con FFMPEG

Conclusión

Se temos a opción de utilizar un comando de terminal, xeralmente é máis rápido e doado que movernos por unha aplicación convencional. Hoxe en día esta é a clase de utilizade que para mín ten sentido darlle a unha IA. Non quero perder a tarde a aprender a facer isto con FFMPEG, xa que non é algo que vaia a facer continuamente. Prefiro que a IA me aforre ese tempo e adicalo a facer a tarefa que teño entre mans.

Xa para futuras consultas queda aquí o comando e aforro o consumo de preguntarlle algo que xa teño á IA.

Fontes

Lumo: Web de lumo