Перейти к содержимому

Конвертировать видео в GIF

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

  • Не сохраняется
  • Без очереди и ожидания
  • Без регистрации и водяных знаков

Как это работает

1

Добавьте видео

Перетащите MP4, MOV, WEBM, AVI или любое другое видео. Появится лента кадров.

2

Выберите отрезок

Задайте начало и конец, затем частоту кадров и ширину. Десять кадров в секунду при ширине 480 пикселей подходят для большинства чатов.

3

Скачайте GIF

Он зациклен бесконечно, а размер файла показан до сохранения.

Что может хранить GIF и чего это стоит

Кадры берутся в фиксированные моменты, а не смешиваются: десять в секунду означает ближайший декодированный кадр каждую десятую долю секунды, так что у исходника 30 fps отбрасываются два кадра из трёх. Плавное движение слегка дёргается, и избежать этого можно только повышением частоты — а оно прямо пропорционально увеличивает файл, потому что GIF платит за каждый кадр отдельно.

Больше всего возраст формата виден в цвете. Каждый кадр сводится к 256 цветам, выбранным из этого кадра, и дизеринг не применяется, поэтому небо, градиент или оттенок кожи приходят заметными полосами — а поскольку палитра пересчитывается для каждого кадра, эти полосы слегка смещаются от кадра к кадру, что выглядит как лёгкое мерцание по всему циклу. С плоским материалом таких проблем нет: запись экрана, сессия в терминале или штриховая анимация часто изначально содержат меньше 256 цветов и выходят точными.

Тайминг хранится как задержка каждого кадра в сотых долях секунды, поэтому точно представить можно лишь некоторые частоты кадров. Десять в секунду — ровно 10 сотых; пятнадцать дали бы 6,67, поэтому кадры чередуются между 7 и 6 сотыми с переносом округления, и весь цикл сохраняет заданную длину, а не укорачивается постепенно.

Если нужно другое

ffmpeg делает GIF лучше, чем этот инструмент, и на фотографическом материале разница огромна: его фильтры palettegen и paletteuse строят одну палитру на весь клип и применяют дизеринг относительно неё, что убирает полосы и мерцание, вызванные покадровыми палитрами. gifsicle оптимизирует результат ещё сильнее, а его режим с потерями — ещё больше. Ни то, ни другое недоступно из браузера, и если вы делаете GIF регулярно, эти две команды стоят того, чтобы их освоить.

Частые вопросы

Почему мой GIF такой большой?

GIF родом из 1989 года: никакого сжатия движения и 256 цветов на кадр. Трёхсекундный клип шириной 480 пикселей при 10 fps обычно весит 1–3 MB, а удвоение ширины увеличивает это примерно вчетверо. Ширина и частота кадров — два главных регулятора: уменьшите один из них, прежде чем сокращать длительность.

Какую частоту кадров выбрать?

10 fps хорошо смотрится для записей экрана и воспринимается плавным для большинства действий; 15 fps заметно плавнее и в полтора раза тяжелее; 25 fps — для коротких быстрых клипов, где всё дело в движении.

Какой длины может быть GIF?

До минуты, хотя всё длиннее десяти секунд обычно лучше оставить видео. Ограничение нужно потому, что более длинный GIF весит десятки мегабайт — и грузится медленнее, чем видео, из которого он сделан.

Моё видео где-нибудь сохраняется?

Нет. Кадры отрисовываются, а GIF собирается здесь, и на результате нет водяного знака.

Почему цвета выглядят полосами?

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

Звук сохранится?

GIF вообще не может хранить звук. Если звук важен, оставьте видео и воспользуйтесь инструментом «Сжать видео».

Полезно знать: Не больше 60 секунд и 900 кадров на GIF. Прозрачность не переносится. Каждый кадр хранится целиком, поэтому размер файла растёт вместе с длительностью, шириной и частотой кадров.

Разместите этот инструмент на своём сайте

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