animação webp para animação gif (cli)

2

Hoje fiquei surpreso ao descobrir como é difícil passar de uma animação webp para gif animação. Meus GIMP 2.8.22 e ImageMagick 7.0.7-21 on linux 4.14.13-1-ARCH parecem não suportar o formato, e a única ferramenta disponível em repos parece ser libwebp 0.4.1 , que inclui uma ferramenta de decodificação que permite extrair quadros individuais para alguns formatos de imagem, nenhum deles sendo gif (talvez seja um problema de licenciamento)

De qualquer forma, usei o seguinte script:

#!/bin/bash

DELAY=${DELAY:-10}
LOOP=${LOOP:-0}
r='realpath $1'
d='dirname $r'
pushd $d > /dev/null
f='basename $r'
n='webpinfo -summary $f | grep frames | sed -e 's/.* \([0-9]*\)$//''
pfx='echo -n $f | sed -e 's/^\(.*\).webp$//''
if [ -z $pfx ]; then
    pfx=$f
fi

echo "converting $n frames from $f 
working dir $d
file stem '$pfx'"

for ((i=0; i<$n; i++)); do
    webpmux -get frame $i $f -o $pfx.$i.webp
    dwebp $pfx.$i.webp -o $pfx.$i.png
done

convert $pfx.*.png -delay $DELAY -loop $LOOP $pfx.gif
rm $pfx.[0-9]*.png $pfx.[0-9]*.webp
popd > /dev/null

Que cria uma animação gif a partir dos quadros extraídos do arquivo fornecido no primeiro argumento.

Eu tentei em este arquivo e o resulting file foi uma espécie de artefato. É forma adequada postar neste fórum sugestões de melhoria do procedimento / invocações?

E: se houver ferramentas personalizadas para essa conversão, compartilhe seu conhecimento. :)

    
por lash 26.01.2018 / 05:02

1 resposta

1

Eu teria usado ffmpeg para essa tarefa. Dê uma olhada em this thread que deve lhe dar bons resultados.

Eu tentei com o mp4 do gif da giphy e obtive esse gif abaixo como resultado, o que parece muito bom na minha opinião!

mkdir frames
ffmpeg -i giphy.mp4 -vf scale=320:-1:flags=lanczos,fps=10 frames/ffout%03d.png
convert -loop 0 frames/ffout*.png output.gif

    
por 16.02.2018 / 00:19