Miniatura de arquivos SWF no Linux

Publicado por Eduardo Mozart de Oliveira em 13/09/2018

[ Hits: 1.533 ]

Blog: http://www.eduardomozartdeoliveira.blogspot.com/

 


Miniatura de arquivos SWF no Linux



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.

Outras dicas deste autor

Alterar programa padrão para arquivos no Deepin

Adicionando o ISO Master ao menu de contexto do Nautilus

Como criar pacotes RPM ou DEB pelo código-fonte utilizando FPM (Ruby on Rails)

Exibindo comandos em apresentações através do Screenkey

Pacotes RPM no CentOS - Erro: "Warning: RPMDB altered outside of yum" [Resolvido]

Leitura recomendada

Webcam do Dell Inspiron 1525 no Slackware 12.2 Linux

Adicionando Sintaxe Highlighting no Editor NANO

NFS em Debian-br-cdd

Evitando conflitos de pacotes devido overlay no Funtoo

Analisado logs do Samba

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts