Você não menciona em sua postagem se já tentou o comando mais básico que deve realizar isso:
ffmpeg -i input.swf output.gif
Supondo que funcione, haverá problemas de qualidade, porque o GIF é um formato de 256 cores. (A Imgur estendeu recentemente o formato de arquivo para o GIFV, que usa o vídeo WebM, mas esse é um tópico separado)
Se isso não funcionou, é porque você não tem um decodificador SWF ou um codificador GIF. Você pode executar este comando para ver quais codecs / formatos são suportados pela sua versão do FFMpeg:
ffmpeg -formats
A saída disso é bem detalhada (listará tudo) e você pode usar grep
para reduzi-lo para você:
ffmpeg -formats | grep -i GIF
ffmpeg -formats | grep -i SWF
Para mim, recebo isto:
DE gif GIF Animation
E avm2 SWF (ShockWave Flash) (AVM2)
DE swf SWF (ShockWave Flash)
Isso mostra que minha versão do FFMpeg suporta decodificação e codificação de GIF e SWF.
Você também pode querer testar a conversão para um AVI antes de convertê-lo para GIF, para ver a qualidade antes de qualquer problema de GIF:
ffmpeg -i input.swf -sameq output.avi
Pode ficar louco por tentar usar o sinalizador -sameq
porque o SWF não tem uma "qualidade". Você também pode tentar -b:v 900k
para definir a taxa de bits do vídeo muito alta.
Atualizar
A fonte que você vinculou pode ser facilmente compilada em qualquer sistema Linux que tenha o GCC e a biblioteca "zlib" (quase tudo tem isso). Aqui está como eu a compilei:
sudo apt-get install build-essential zlib-dev
wget -o main.c "http://svn.perian.org/ffmpeg/tools/cws2fws.c"
gcc main.c -lz
Agora você pode executar a ferramenta para converter assim:
./a.out input.swf decompressed.swf
Felicidades