Primeiramente, mencionarei alguns dos caminhos que você não deve seguir e por que hoje em dia (desde que você esteja rodando uma distro moderna):
O Swivel pode converter de swf para imagens/vídeo, mas depende do Adobe AIR, que não está disponível no Linux.
Gnash tem um comando dump-gnash que pode funcionar e você pode tentar exportar um vídeo rgb32 bruto de 30fps, mas não funcionou no meu sistema. Vou te dar o comando de qualquer maneira:
Mas o Gnash é um projeto inacabado e abandonado e por isso vou mostrar como fazer com um projeto mantido chamado Ruffle.
Se você estiver obtendo a versão mais recente do software, também precisará obter a versão mais recente do Rust e seus componentes. Para instalar isso (no momento em que este artigo foi escrito), o comando é:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Quando tentei instalar a partir do Gerenciador de Pacotes, bati em uma parede de tijolos, o comando acima obtém a distribuição de ferrugem estável mais recente.
Talvez você também precise instalar o Java (o openJDK funcionou para mim).
git clone https://github.com/ruffle-rs/ruffle
cd ruffle/
AVISO: aparentemente você precisa de uma GPU para isso, então não funcionará em um servidor headless:/
em seguida, execute o seguinte comando:
cargo run --release --package=exporter -- path/to/file.swf
Isso instalará as dependências necessárias, iniciará o exportador e exportará o slide em alta qualidade (bem, em termos da qualidade que o Flash implementou naquela época... você também pode brincar com os argumentos da linha de comando se não estiver satisfeito) .
E sim, será necessário compilar basicamente os principais componentes do projeto, mas pelo menos o resultado final será bom.
Se o processo não funcionar, você precisará descompactar os SWFs usados:
wget http://www.swftools.org/swftools-0.9.2.tar.gz
tar xvf swftools-0.9.2.tar.gz
cd swftools-0.9.2.tar.gz/
./configure
make
agora cdno diretório src onde você encontrará o binário swfcombine que você precisará para conversão:
Primeiramente, mencionarei alguns dos caminhos que você não deve seguir e por que hoje em dia (desde que você esteja rodando uma distro moderna):
O Swivel pode converter de swf para imagens/vídeo, mas depende do Adobe AIR, que não está disponível no Linux.
Gnash tem um comando dump-gnash que pode funcionar e você pode tentar exportar um vídeo rgb32 bruto de 30fps, mas não funcionou no meu sistema. Vou te dar o comando de qualquer maneira:
De acordo com isto: https://stackoverflow.com/questions/20194270/convert-compressed-swf-to-mp4 você também pode ter sucesso com o Gnash.
Mas o Gnash é um projeto inacabado e abandonado e por isso vou mostrar como fazer com um projeto mantido chamado Ruffle.
Se você estiver obtendo a versão mais recente do software, também precisará obter a versão mais recente do Rust e seus componentes. Para instalar isso (no momento em que este artigo foi escrito), o comando é:
Quando tentei instalar a partir do Gerenciador de Pacotes, bati em uma parede de tijolos, o comando acima obtém a distribuição de ferrugem estável mais recente.
Talvez você também precise instalar o Java (o openJDK funcionou para mim).
Agora git clone ruffle master branch usando
git clone
cd na pasta ruffle:
AVISO: aparentemente você precisa de uma GPU para isso, então não funcionará em um servidor headless:/
em seguida, execute o seguinte comando:
Isso instalará as dependências necessárias, iniciará o exportador e exportará o slide em alta qualidade (bem, em termos da qualidade que o Flash implementou naquela época... você também pode brincar com os argumentos da linha de comando se não estiver satisfeito) .
E sim, será necessário compilar basicamente os principais componentes do projeto, mas pelo menos o resultado final será bom.
Se o processo não funcionar, você precisará descompactar os SWFs usados:
agora
cd
no diretório src onde você encontrará o binário swfcombine que você precisará para conversão:Sim, imprimirá erros, mas parece funcionar.
Você precisará fazer isso em cada slide, pode usar
find
ouxargs
algo semelhante para automatizá-lo (ou talvez um curinga, se for compatível).Então você pode alimentá-lo no Ruffle como mostrado acima.
De acordo com a sua entrada (PNG ou vídeo bruto), você pode querer fazer algo assim para combinar o áudio com o vídeo:
Deixe-me saber se isso funciona para o seu caso de uso.
PS se você quiser mesclar o mp3 de uma só vez: https://superuser.com/questions/202809/join-multiple-mp3-files-lossless
Editar 1:
Tente o seguinte para adicionar o áudio à imagem: