Miniatura de arquivos SWF no Linux

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

[ Hits: 2.717 ]

Blog: http://www.eduardomozartdeoliveira.wordpress.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

Adicionando memória virtual (SWAP) temporária no GNU/Linux

"RGB and YUV not found" ao executar um jogo no PCSXR [Resolvido]

Compilação do M64Py à partir do código-fonte no Debian 10 "Buster"

Comando "df -h" retorna 0 em espaço disponível (Avail) após instalação do Ubuntu [Resolvido]

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

Leitura recomendada

Alterando senha do administrador de uma base OpenLDAP

Plugins, Codecs e Softwares Proprietários com o Autoplus

Vim/gVim - Alternância Intuitiva entre Maiúsculo e Minúsculo

Steam no openSUSE 13.2 64 bits sob o Xfce

Eliminando "screen tearing" no Debian + xorg

  

Comentários
[1] Comentário enviado por eduardomozart em 20/01/2023 - 14:50h

Para quem tiver interesse em gerar as miniaturas no Windows, o Gnash para Windows está disponível para download em http://web.archive.org/web/20151026043439/http://getgnash.org/packages/releases/windows/
Para quem busca uma solução pronta para criação de Thumbnails no Windows Explorer, pode instalar a última versão do Adobe Flash Player e usar o programa Media Preview, que inclui o suporte a criação de thumbnails automáticas de arquivos SWF para Windows.

[2] Comentário enviado por eduardomozart em 05/02/2024 - 13:57h

Algumas informações adicionais para essa dica:
Você também pode realizar a integração de Thumbnailers com o seu gerenciador de arquivos (como o Nautilus), ou seja, a maioria permite que você execute comandos para gerar a thumbnail automaticamente ao acessar uma pasta que contenha um arquivo com determinado Mime Type/extensão.
As thumbnails geradas pelos Thumbnailers são salvas em $HOME/.cache/thumbnails e o nome é o caminho absoluto do arquivo em hash MD5. A especificação completa de Thumbnails da FreeDesktop Specification pode ser encontrada em: https://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html
O Deepin File Manager (dde-file-manager) do Deepin 20 aparentemente não segue a especificação, com ligeiras alterações referente ao modo como as Thumbnails são geradas: aparentemente ele usa o caminho absoluto do arquivo, o tamanho do arquivo e um caractere nulo em hash MD5, conforme pode ser visto no código-fonte do DDE File Manager: https://github.com/linuxdeepin/dde-file-manager/blob/142659efe5e10d24bab971cc40a267acbd8e1760/src/df...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts