Especifique cor de fundo ao converter GIF para MP4 com ffmpeg

2

Eu tenho um GIF animado com transparência. Eu quero convertê-lo para um MP4. Quando faço isso, as regiões transparentes são preenchidas com branco totalmente opaco. Gostaria de especificar a cor usada para substituir esses pixels transparentes. Como eu faria isso?

  • Por favor, não recomende usar convert de gifsicle , o que requer uma operação separada. A velocidade é uma prioridade. A solução precisa usar apenas ffmpeg . Obrigado.
por okor 04.04.2017 / 22:28

1 resposta

2

Use

ffmpeg -f lavfi -i color=RRGGBB -i in.gif
  -filter_complex "[0][1]scale2ref[bg][gif];[bg]setsar=1[bg];[bg][gif]overlay=shortest=1"
out.mp4

Uma tela é criada, que é preta, se a cor (em hexa) não for especificada. No complexo de filtros. Ele é redimensionado para o mesmo tamanho do GIF e, em seguida, o GIF é sobreposto nele. Dentro das áreas transparentes do GIF. o fundo mostra através.

    
por 04.04.2017 / 22:42