Os arquivos Flash (.swf) não são mais reproduzidos pelos navegadores

2

Começarei especificando que eu apliquei a correção application/vnd.adobe.flash.movie -> application/x-shockwave-flash (em /usr/share/mime/packages/freedesktop.org.xml ) do tipo mime antes e tudo estava funcionando bem.

Mas, recentemente, algo deu errado (talvez com uma atualização, não sei) e meus navegadores pararam de reproduzir arquivos em flash, o Chrome oferece para fazer o download e o Firefox mostra apenas a tela branca. Eu tentei usar gnash , mas ele não funciona com alguns arquivos e é muito lento quando isso acontece. Eu não acredito que meu problema seja único, então talvez alguém saiba como consertar isso?

Linux Mint 18.3 KDE

EDIT: Não é uma duplicata da questão mencionada como nesse caso o Firefox ainda funcionava e o problema era apenas com o Chrome. Mas eu perdi completamente o acesso ao swf.

    
por Moorindal 15.01.2018 / 16:21

1 resposta

1

Antes de prosseguir, você deve se certificar de que o pepper-flash está instalado para o Chrome / Chromium (flashplugin para Firefox), a única maneira de verificar (sem usar a solução abaixo) é reproduzir um arquivo flash na Internet. (ou no Firefox, vá para: plugins e veja se ele tem "Shockwave Flash")

Eu criei o seguinte script como solução alternativa:

#!/bin/bash
if [ -z $1 ]; then
   swf=$(ls *.swf | tail -1)
else
   swf=$@
fi


html=$(echo $swf | sed 's:swf:html:g')
echo '<embed src='$swf 'width="100%" height="100%"></embed>' | sed 's:src=:src=":g' | sed 's:swf:swf":g' > "$html"

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

(alternativamente compatível com traço)

Para usar o script, salve-o como swftohtml.sh (pode ser qualquer nome, não precisa terminar em .sh) em qualquer local desejado e, em seguida, converta-o em um comando executável faça um alias para ele em bashrc ou copie-o para / usr / bin /. Lembre-se de executar chmod + x swftohtml.sh para torná-lo executável.

O script quando executado sem argumentos procurará na pasta atual por um arquivo swf e criará um arquivo html correspondente que pode ser usado para executar esse arquivo swf em um navegador. Se houver mais de um arquivo swf na pasta, o padrão será o último (por exemplo, se você tiver filename1.0.swf e filename2.0.swf, será padronizado como filename2.0.swf)

Como alternativa, para direcionar um arquivo swf específico, você pode inserir o nome do arquivo (ou o caminho completo para o arquivo) como um argumento para o script e ele o usará. (por exemplo, swftohtml.sh nome do arquivo 1.0.swf )

Se você quiser automatizar completamente o script:

Para abrir arquivos swf automaticamente no seu navegador e automatizar a remoção do arquivo html resultante depois de usá-lo, remova o comentário de uma das seguintes linhas na parte inferior do script (dependendo do navegador):

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

O script agora abrirá o arquivo html no seu navegador assim que for criado. Se houver uma instância existente do seu navegador em execução, ela excluirá o arquivo html em 20 segundos (dando a você tempo suficiente para dizer ao navegador para abrir o arquivo com seu plug-in flash). Se não houver uma instância existente do seu navegador, o arquivo será excluído 20 segundos após o fechamento do navegador.

Com esse conjunto, você pode configurar arquivos SWF para abrir com o script e o processo agora é totalmente automatizado para que você possa abrir arquivos SWF diretamente, sem se preocupar em criar (ou excluir) os arquivos html manualmente, em outras palavras, vai se comportar como deveria agora. (Lembre-se de que pode haver alguns casos em que o arquivo html não é excluído, mas quando isso acontece, é possível ignorá-lo com segurança.)

Para usuários do Firefox:

A versão do Firefox foi um pouco mais complicada, requer que wmctrl e xdotool sejam instalados. A razão para isto é que para o firefox tocar arquivos swf locais desta forma você precisa desativar plugins.http_https_only em sobre: config , o script automaticamente desativa, abre o flash e reativa, porque essa é uma configuração que a maioria das pessoas geralmente deseja manter ativada. O navegador precisa estar aberto antes de o comando ser executado. Se você acha que é provável que seu navegador do Firefox esteja fechado quando você executar o comando, substitua a linha por:

firefox about:config & sleep 1 && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

Ele agora dará ao navegador 1 segundo para ser iniciado antes de executar o restante do script. (Pode precisar ser ajustado para computadores mais lentos).

A versão do Firefox do script sempre excluirá o arquivo após 20 segundos.

Teste de desempenho:

Eu fiz alguns testes de desempenho rudimentares e estes são meus resultados:

  • Chrome / Chromium Pepper Flash (PPAPI): mais rápido
  • Projetor Adobe Flash (NPAPI) (com preparo do vinho): rápido
  • Firefox Flashplugin (NPAPI): mais lento

Quanto à estabilidade, há casos em que o PPAPI será executado em erros / erros que o NPAPI não possui, mas são raros.

O desempenho entre o Pepper Flash e o Flash Projector foi bastante pequeno (é perceptível, mas mal), enquanto o desempenho do plugin flash do firefox era notavelmente mais lento do que o restante por algum motivo.

Assim, se jogar jogos em flash é o objetivo, eu recomendaria o uso de cromo com flash de pimenta instalado sobre o resto, em geral. Para outras tarefas, é pouco provável que isso importe.

    
por 27.10.2018 / 14:34