Como converter um vídeo para GIF usando o FFmpeg

2

Eu instalei o FFmpeg no meu XAMPP para converter fluxo de vídeo para imagens GIF.

Eu usei o código abaixo, mas não funciona.

ffmpeg -ss 00:00:05.0 -t 00:00:10.0 -i input.wmv -acodec copy -vcodec copy -async 1 output.gif
    
por Ramkumar 07.02.2013 / 12:07

1 resposta

4

Seu problema é: você não pode simplesmente copiar o vídeo de entrada e os fluxos de áudio para um GIF. GIFs precisam ser codificados de forma diferente. Basicamente, você está dizendo ao FFmpeg para realmente não converter nada.

Tente isso:

ffmpeg -ss 5 -i input.wmv -t 10 -pix_fmt rgb24 output.gif

Notas:

  • Eu reduzi os timestamps. Se você só precisa de segundos, basta especificá-los.
  • -t é uma opção de saída e deve estar entre -i e seu nome de arquivo de saída.
  • Os GIFs precisam de um formato de pixel RGB, que você precisa especificar também.
  • Talvez seja necessário reduzir o tamanho do seu vídeo para que o GIF não seja desnecessariamente grande. Tente adicionar -filter:v "scale=-1:320" ou similar para diminuir a saída para 320 pixels de altura (e ajustar a largura automaticamente ( -1 ).

Dica: "Não funciona" não é uma descrição específica do problema. Por favor, inclua sempre a saída completa do comando FFmpeg sem cortes ao fazer perguntas ao FFmpeg.

    
por 07.02.2013 / 12:09