Следующий совет предназначен для разработчиков программного обеспечения на компьютерах Mac OS или Linux.

Когда у меня есть видео, которое я хотел бы превратить в GIF, я не нашел очевидного способа сделать это, который не включал бы отправку его в один из многих схематических конвертеров в Интернете. Если вы хотите выполнить преобразование на своем собственном компьютере на своих условиях, приведенный ниже сценарий bash для вас.

Вам нужно будет установить ffmpeg, который представляет собой инструмент для преобразования видео из командной строки, Imagemagick и эту версию gifsicle со сжатием с потерями, чтобы уменьшить размер толстого gif до чего-то управляемого.

Как пользоваться

После установки ffmpeg, Imagemagick и gifsicle выполните следующую команду в том же каталоге, что и скрипт, из вашего терминала:

$ ./movie2gif.sh myclip.mp4
> FILENAME: myclip.mp4, FPS: 24, RATE: 100%
> Generating gif from frames...
> Optimizing gif with gifsicle...
> 10MB     optimized.gif   
> Done.

Вы можете настроить количество кадров в секунду (чем выше, тем плавнее анимация, но больше размер файла) и скорость клипа относительно реального времени.

$ ./movie2gif.sh myclip.mp4 30 200
> FILENAME: myclip.mp4, FPS: 30, RATE: 200%
> Generating gif from frames...
> Optimizing gif with gifsicle...
> 10MB     optimized.gif   
> Done.

Скрипт выведет как unoptimized.gif, необработанный gif из вашего клипа, так и optimized.gif, который является результатом сжатия с потерями и будет значительно меньше.

Настройка

Возможно, вы захотите настроить некоторые значения, входящие в gifsicle. --lossy=50 довольно агрессивен, поэтому вы можете уменьшить его. --colors 200 означает, что в финальном изображении будут использоваться только 200 уникальных цветов из возможных 255. Игра с этим значением может помочь уменьшить размер файла, но качество становится неприемлемым ниже определенного значения. -j=2 означает использование двух ядер, увеличьте значение по мере необходимости для вашей установки. ;)