Crear un PNG animado con FFMPEG
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

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
Artigos Relacionados:
- Executando modelos de IA en local con Jan.ai
- Instalar Displaylink openSuse Tumbleweed
- Presenterm
- Cómo instalar Traefik con docker
- Configurar sshfs para acceder al sistema de ficheros de forma segura
- Instalar Displaylink openSuse Tumbleweed
- Instalar Fedora con BTRFS, cifrado e Snapshots activos
- AWK
- Mudar as DNS en Fedora
- Distrobox
- Instalar Fedora en VirtualBox
- Eliminar liñas nun ficheiro con sed
- Cómo crear un live USB dende a terminal
- Engadir tarefas a Systemd
- Copiar a saída do terminal ao portapapeis
- Configurar acceso SFTP a un directorio
- Inicio de sesión automático en Alpine linux
- Crear un usuario con permisos restrinxidos para backups
- error: gpg failed to sign the data
- Xestionar varias claves ssh
- Cómo instalar Traefik con docker
- Configurar sshfs para acceder al sistema de ficheros de forma segura
- Securizar sudo no noso sistema
- Cómo instalar Raspberry OS
- Instalando docker en modo rootless en Debian
- Configuración e uso de GPG en linux