Как конвертировать видео в GIF с помощью FFmpeg

Как конвертировать видео в GIF с помощью FFmpeg

Я установил FFmpeg на свой XAMPP для преобразования потокового видео в изображения GIF.

Я использовал код ниже, но он не работает.

ffmpeg -ss 00:00:05.0 -t 00:00:10.0 -i input.wmv -acodec copy -vcodec copy -async 1 output.gif

решение1

Ваша проблема: Вы не можете просто скопировать входные видео и аудио потоки в GIF. GIF-файлы должны быть закодированы по-другому. По сути, вы говорите FFmpeg на самом деле ничего не конвертировать.

Попробуйте вместо этого следующее:

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

Примечания:

  • Я сократил временные метки. Если вам нужны только секунды, то достаточно указать их.
  • -t— это выходной параметр, который должен располагаться между -iи именем выходного файла.
  • Для GIF-файлов необходим формат пикселей RGB, который вам также необходимо указать.
  • Возможно, вам придется уменьшить размер видео, чтобы GIF не стал неоправданно большим. Попробуйте добавить -filter:v "scale=-1:320"или подобное, чтобы уменьшить размер вывода до 320 пикселей в высоту (и автоматически настроить ширину ( -1).

Совет: "Это не работает" — недостаточно конкретное описание проблемы. Пожалуйста, всегда включайте полный, неразрезанный вывод команды FFmpeg, когда задаете вопросы по FFmpeg.

Связанный контент