O que é um arquivo SWF?

Um arquivo SWF é o formato de distribuição do Adobe Flash: um arquivo binário que combina gráficos vetoriais, texto, vídeo, som e bytecode ActionScript para reprodução no Flash Player. A Adobe encerrou o suporte ao Flash Player em 31 de dezembro de 2020, por isso o conteúdo agora precisa de um emulador ou outro software especializado.

Como funcionam os arquivos SWF

SWF é um formato binário baseado em tags, projetado para distribuição eficiente ao Flash Player, e não para troca de gráficos entre editores. Suas tags contêm gráficos, bitmaps, som e vídeo, além de bytecode que uma máquina virtual interpreta como ActionScript. A reprodução simples é controlada apenas por uma linha do tempo; o conteúdo interativo também executa ActionScript, que pode fazer referência a recursos externos ao arquivo. Arquivos até SWF 8 usam ActionScript 1.0 ou ActionScript 2.0, enquanto SWF 9 e posteriores podem usar ActionScript 3.0 em uma segunda máquina virtual (AVM2), portanto dois arquivos com a mesma extensão podem precisar de suporte de execução diferente. A Adobe encerrou o suporte ao Flash Player em 31 de dezembro de 2020 e bloqueou a execução de conteúdo Flash nele a partir de 12 de janeiro de 2021; o Chrome 88 e o Firefox 85 removeram o suporte a Flash naquele mesmo mês de janeiro. O acesso agora depende de emulação, ferramentas de extração específicas do formato ou conversão.

Informações essenciais

  1. Os três primeiros bytes identificam o empacotamento: FWS indica ausência de compressão, CWS significa que tudo após os primeiros 8 bytes está comprimido com zlib (SWF 6 e posteriores), e ZWS indica compressão LZMA (SWF 13 e posteriores). O quarto byte é a versão do SWF. Uma ferramenta que reconhece apenas os dois primeiros tipos rejeita arquivos ZWS; o demultiplexador SWF do FFmpeg detecta apenas FWS e CWS.
  2. No SWF 9 e posteriores, o sinalizador ActionScript3 na tag FileAttributes (tag 69) registra se o arquivo usa ActionScript 3.0 ou ActionScript 1.0/2.0, que são executados em máquinas virtuais diferentes. Arquivos mais antigos usam ActionScript 1.0/2.0, e arquivos anteriores ao SWF 8 podem não ter essa tag. O Ruffle, um emulador de código aberto do Flash Player, acompanha separadamente seu suporte a cada um e se descreve como ainda não concluído, portanto teste os arquivos específicos que importam em vez de presumir que um acervo se comporta de maneira uniforme.
  3. Um demultiplexador de mídia não é um reprodutor de Flash. O demultiplexador SWF do FFmpeg expõe fluxos de vídeo incorporados, sons, bitmaps sem perdas e imagens DefineBitsJPEG2 e ignora todas as outras tags, portanto os gráficos vetoriais, a animação da linha do tempo, o comportamento do ActionScript e os bitmaps nas outras tags JPEG ficam ausentes do resultado; sua saída não é um inventário da mídia do arquivo. Transformar esse conteúdo em vídeo ou imagens estáticas exige renderizá-lo em um reprodutor ou emulador e capturar o resultado; o Ruffle inclui um exportador que renderiza quadros em PNG.
  4. O plugin original não é uma alternativa de contingência. A Adobe não disponibiliza correções de segurança para o Flash Player após a data de fim de vida, bloqueou a execução de conteúdo Flash no Flash Player a partir de 12 de janeiro de 2021, removeu suas páginas de download e alerta que cópias não autorizadas são uma fonte comum de malware.

Quando os arquivos SWF são importantes

Trate o SWF principalmente como uma entrada para migração ou preservação, pois os navegadores modernos não oferecem mais reprodução normal de Flash. Converter uma animação pode preservar os elementos visuais, mas perder scripts, interatividade ou comportamento temporal.

Como a Transloadit ajuda com arquivos SWF

A tabela de formatos de áudio/vídeo da Transloadit lista swf com suporte a leitura e gravação nos stacks do FFmpeg usados por Robots como o /video/encode. Uma linha separada, avm2, “SWF (ShockWave Flash) (AVM2)”, oferece suporte apenas a gravação.

O demultiplexador SWF do FFmpeg lê o áudio, o vídeo e alguns dados de bitmap incorporados em um arquivo e ignora outras tags, portanto a animação vetorial e o comportamento controlado por ActionScript não são convertidos.

Explore os formatos de arquivo e os recursos de compressão da Transloadit

Fontes

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente