O Windows conta com o programa
Media Preview, que possibilita a visualização de thumbnails (miniaturas) de arquivos SWF no Windows Explorer. O
Ubuntu 10.04 possibilitava a visualização de thumbnails de arquivos SWF através do
Nautilus. Porém, com o lançamento da versão 10.10 (Maverick) do Ubuntu, este recurso foi removido.
Não consegui encontrar formas de restaurar esta funcionalidade integrada ao Nautilus. Porém, é possível usar o
GNU Gnash (reprodutor de mídia Flash open-source) para obter capturas em formato de imagem (PNG) do conteúdo do arquivo SWF, de forma a criar, ao lado do arquivo (na classificação por "nomes" do Nautilus), um arquivo de imagem para pré-visualizar o conteúdo do mesmo.
Abra o Terminal. Agora, precisamos instalar o
Gnash para obtermos a captura de imagem do arquivo SWF. Em distribuições Debian-like (como o Deepin), o Gnash pode ser obtido através do apt-get:
sudo apt-get update
$ sudo apt-get install gnash
No Ask Ubuntu [1], cita as dependências para compilação manual do "dump-gnash" e, no Floorplanner Tech Blog [2], como compilá-lo manualmente, caso sua distribuição não possua o Gnash em seus repositórios. Você pode encontrar ambos os links nas referências.
Após a instalação do Gnash, ainda no Terminal, crie o script "/usr/local/bin/swfthumbnailer.sh":
sudo nano /usr/local/bin/swfthumbnailer.sh
O script abaixo é uma adaptação dos scripts disponíveis no Ask Ubuntu [1] e Floorplanner Tech Blog [2] que recebe como parâmetro o caminho completo do arquivo SWF (ex: /home/eduardo/Downloads/test.swf) e cria um arquivo de imagem no mesmo local do arquivo SWF com a extensão PNG (ex: /home/eduardo/Downloads/test.png). Copie e cole o seguinte conteúdo no arquivo:
#!/usr/bin/env bash
#if [[ $3 ]]; then
raw="$(mktemp)"
#dump-gnash $2 -P "FlashVars=url=file://$1" -D "$raw" --max-advances 1 -j 500 -k 500
dump-gnash "$1" -D "$raw" --max-advances 1 -j 500 -k 500
#tail -c 1MB "$raw" | convert -size 500x500 -depth 8 rgba:- -separate -swap 0,2 -combine -trim png:"$3"
tail -c 1MB "$raw" | convert -size 500x500 -depth 8 rgba:- -separate -swap 0,2 -combine -trim png:"${1%.*}.png"
trap "rm $raw" EXIT
#else
#echo "Insufficient arguments (expected 3 arguments)"
#exit 1
#fi
Pressione a combinação de teclas "Ctrl + X" e "Enter" para salvar as alterações.
Agora, para criar a imagem de miniatura de arquivos SWF, basta executar o seguinte comando no terminal:
swfthumbnailer.sh /home/eduardo/Downloads/test.swf
Será gerado um arquivo de imagem PNG no mesmo local do arquivo SWF (ex: /home/eduardo/Downloads/test.png).
Você pode automatizar este processo através da interface gráfica, tornando-a mais integrada ao Nautilus ou ao seu gerenciador de arquivos padrão. O Deepin permite a associação de arquivos com scripts através da interface gráfica, porém, você pode
criar esta associação manualmente em distribuições que não contam com este recurso.
Após associar a extensão SWF com o script, basta dar botão direito no arquivo e selecionar "Abrir com > swfthumbnailer.swf" para criar a miniatura automaticamente. Múltiplos arquivos podem ser selecionados ao mesmo tempo no Nautilus para criação da miniatura, facilitando o processo.
Infelizmente, o Gnash suporta apenas animações SWF v7, e alguns recursos SWF v8 e v9. Portanto, algumas animações mais novas não gerarão imagens de miniatura (apenas uma imagem de fundo preto). Para reprodução de animações Flash no
Linux, recomendo o Flash Player Projector para Linux, disponível na seção [Debug Downloads](https://www.adobe.com/support/flashplayer/debug_downloads.html) da Adobe.
Referências
1. Missing Thumbnails for .swf files in Nautilus?. Ask Ubuntu. Disponível em: <
https://askubuntu.com/questions/16867/missing-thumbnails-for-swf-files-in-nautilus>. Acesso em: 03 set. 2018.
2. Server-side PNG rendering of SWF images using Gnash. Floorplanner Tech Blog. Disponível em: <
http://web.archive.org/web/20120130052603/http://techblog.floorplanner.com/2010/11/02/server-side-rendering-of-swf-images-using-gnash/>. Acesso em: 03 set. 2018.
3. GNU Gnash. Free Software Foundation. Disponível em: <
https://www.gnu.org/software/gnash/>. Acesso em: 03 set. 2018.