UltKit
Изображения11
PDF13
Документы и данные7
Видео6
Аудио4
Другие инструменты22

Как сделать GIF из видео: размер, частота кадров и цикл

Чтобы сделать GIF из видео, выберите момент длиной от двух до шести секунд, уменьшите его до 320–640 px по ширине, снизьте частоту кадров до 10–15 fps и дайте конвертеру построить палитру из 256 цветов по этому фрагменту. От этих четырех решений зависит, получите ли вы четкую зацикленную гифку на 2 MB или файл на 30 MB, который не примет ни один мессенджер.

Mina SatoMina SatoРедактор раздела об аудио и видео
Обновлено 11 мин чтения
Старинный кинопроектор на деревянном ящике, посылающий яркий луч света сквозь дымку в темной комнате

Что на самом деле хранит файл GIF

GIF старше веб-страниц. Первую версию, GIF87a, CompuServe опубликовала в 1987 году, чтобы пересылать статичные картинки по коммутируемым соединениям. Редакция 1989 года, GIF89a, добавила две функции, сделавшие возможной анимацию: задержку для каждого кадра и один прозрачный цвет. Зацикливание появилось позже, в 1995 году, когда Netscape Navigator 2.0 начал читать небольшое расширение приложения с числом повторов. Любой анимированный GIF сегодня — по-прежнему файл GIF89a с этим блоком внутри, поэтому он воспроизводится практически в любом браузере и почтовом клиенте.

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

Есть ещё две вещи, которых в GIF нет. В нём нет звуковой дорожки, поэтому звук из видео просто пропадает. А тайминг грубый: задержки хранятся в сотых долях секунды, и большинство браузеров принимают задержку 0 или 1 сотую за 10 сотых, поэтому GIF, собранный на 50 fps и выше, играет медленнее, а не плавнее. На практике полезный диапазон — от 10 до 25 fps.

GIF89a добавил анимацию
1989
Максимум цветов в кадре
256
Минимальный шаг задержки
1/100 с
Звуковых дорожек
0

Почему GIF раздуваются и в каком порядке их уменьшать

Современный видеокодек вроде H.264 лишь время от времени хранит кадр целиком, а большинство кадров описывает как небольшие изменения относительно предыдущего. GIF умеет немного из этого — обновлять только прямоугольник предыдущего кадра, — но предсказания движения в нём нет. Как только камера двигается, меняется почти каждый пиксель, и каждый кадр хранится почти целиком. Поэтому клип с телефона в 2 MB может превратиться в GIF на 15 MB, а запись экрана с движением мыши над неподвижным окном остаётся совсем маленькой.

Размер GIF примерно равен ширине, умноженной на высоту и на число кадров, со скидкой на то, насколько много остаётся неизменным между кадрами. Поэтому рычаги легко ранжировать. Длительность сокращает кадры один к одному: четыре секунды вместо восьми уменьшают файл вдвое. Ширина сокращает пиксели квадратично: переход с 640 px на 320 px оставляет в каждом кадре четверть пикселей. Частота кадров снова снижает число кадров линейно, а 12 fps неожиданно хорошо подходит для жестов и лиц. Уменьшение числа цветов помогает меньше, чем ожидают, обычно на 10–30 процентов, потому что LZW важнее повторяющиеся узоры, чем размер палитры.

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

  1. 1-йСократите клипКаждая убранная секунда уносит с собой свои кадры; 2–6 секунд хватает для большинства реакций.
  2. 2-йУменьшите ширинуВдвое меньшая ширина оставляет четверть пикселей; 320–480 px подходит для окна чата.
  3. 3-йСнизьте частоту кадров10–15 fps сохраняют читаемое движение; 8 fps подходит для медленных записей экрана.
  4. 4-йСократите цвета и дизеринг64–128 цветов без дизеринга для графики; 256 с дизерингом для съёмки.

Как выбрать начало и конец фрагмента

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

Подумайте и о том, с чего GIF начнёт воспроизводиться. Многие мессенджеры и почтовые клиенты показывают первый кадр, пока файл загружается, а Outlook для Windows версий 2007–2016 показывает только первый кадр и вообще не анимирует. Начинайте с кадра, который хорошо выглядит как статичная картинка, а не с размытия посреди панорамы. Если смысл GIF — подпись или результат, удержите этот финальный момент полсекунды, увеличив значение Конец, чтобы зрители успели прочитать его до нового круга.

TipСнимайте исходник с расчётом на GIF: держите телефон неподвижно, заполняйте кадр объектом и не используйте зум. Статичный кадр при тех же настройках может весить вдвое меньше, чем снятый с рук.

Две руки держат кинохлопушку с рукописными номерами сцены и дубля на фоне пустынного неба
Фото: Unsplash

Лимиты размера GIF в Discord, Slack, GIPHY, X и Reddit

Бюджет задаёт место назначения GIF, а не настройки. В 2024 году Discord снизил бесплатный лимит загрузки до 10 MB на файл, и именно в него люди упираются чаще всего; Nitro Basic поднимает его до 50 MB, а Nitro — до 500 MB. GIPHY принимает загрузки до 15 секунд и 100 MB. X принимает GIF до 15 MB и при загрузке превращает их в зацикленное видео, а Reddit принимает GIF до 100 MB, но тоже показывает их как видео. Slack принимает файлы до 1 GB, но кастомные эмодзи должны весить меньше 128 KB, а это значит крошечную ширину, короткий цикл и мало цветов.

Электронная почта — особый случай. Gmail разрешает вложения до 25 MB на письмо, а Outlook.com — до 20 MB, но GIF, вставленный прямо в тело рассылки или подписи, должен весить заметно меньше 1 MB, чтобы письмо быстро открывалось на мобильном интернете. В чатах ориентируйтесь на половину лимита, а не на значение впритык, ведь у получателей может быть медленное соединение. Приведённые ниже цифры актуальны на 2025 год; если файл совсем на грани, проверьте справку сервиса.

Лимиты загрузки GIF на 2025 год
Куда загружаетсяЛимитЧто происходит с GIF
Discord, бесплатный аккаунт10 MB на файлВоспроизводится в чате и зациклен
Discord Nitro Basic / Nitro50 MB / 500 MBВоспроизводится в чате и зациклен
Сообщение в Slack / кастомный эмодзи1 GB / 128 KBАнимируется в сообщении, если зритель не отключил анимацию
Загрузка в GIPHY15 секунд, 100 MBОтдаётся в версиях GIF, MP4 и WebP
X (Twitter)15 MBПреобразуется в беззвучный зацикленный MP4
Reddit100 MBПреобразуется в видео для воспроизведения
Внутри письмаРекомендуется меньше 1 MBOutlook 2007–2016 для Windows показывает только первый кадр

Когда MP4, WebM, WebP или APNG лучше GIF

X превращает каждый загруженный GIF в MP4 с 2014 года из-за трафика. Те же пять секунд, что весят 4 MB как GIF, в H.264 обычно умещаются в несколько сотен килобайт, с полноценным цветом вместо 256 оттенков и без шума дизеринга. GIPHY и Tenor делают то же самое: кнопка GIF в клавиатуре обычно загружает небольшой MP4 или WebP. Поэтому честный вопрос не в том, как сделать лучший GIF, а в том, нужен ли GIF вообще там, куда вы публикуете.

Настоящий GIF нужен, когда место показывает изображения, но не видео: тело письма, README или issue на GitHub, тикет в Jira, вики, старый форум, презентация, которая должна работать в любом просмотрщике. Везде, где видео проигрывается прямо в ленте без звука, а это большинство соцсетей и современных мессенджеров, цикл в MP4 или WebM выглядит лучше и загружается быстрее. На собственной веб-странице элемент <video autoplay muted loop playsinline> ведёт себя как GIF и занимает долю байтов.

Между ними есть два формата изображений. Анимированный WebP от Google поддерживает миллионы цветов и сжатие с потерями, а в Safari воспроизводится с версии 14 (2020 год), так что теперь работает во всех актуальных браузерах, хотя многие приложения вне браузера его по-прежнему не принимают. APNG расширяет PNG кадрами, сохраняет полный цвет и настоящую альфа-прозрачность, и именно его используют Apple и LINE для анимированных стикеров. Если GIF уже есть и его нужно уменьшить для сайта, который воспроизводит видео, превращение GIF обратно в MP4 обычно даёт самую большую экономию.

Работает везде

GIF

256 цветов, без звука, большие файлы, но везде отображается как изображение.

  • Тела писем, README, тикеты и вики
  • Зацикливается без кнопки воспроизведения
  • Худшее соотношение размера и качества из четырёх
Best for: Места, которые показывают изображения, но не видео.
Самый компактный

MP4 или WebM

Полный цвет и сжатие движения, часто в десять раз меньше по размеру.

  • Может сохранить звук
  • Автоматически воспроизводится без звука в большинстве соцсетей
  • Большинство почтовых приложений не показывает в письме
Best for: Посты в соцсетях, мессенджеры и веб-страницы, которые вы контролируете.
Форматы изображений

Анимированный WebP или APNG

Полноцветные анимированные изображения; APNG добавляет плавную прозрачность.

  • Работают во всех актуальных браузерах
  • Неровная поддержка в настольных приложениях и почте
  • APNG часто используют для стикеров
Best for: Сайты и наборы стикеров.

Шесть способов сделать GIF из видео

Телефоны справляются без дополнительных приложений. На iPhone в приложении «Команды» (Shortcuts) есть действие Make GIF: оно принимает видео или Live Photo, а Live Photo с эффектом «Петля» или «Маятник» — быстрый способ снять исходник. В приложении «Галерея» на Samsung во время воспроизведения видео появляется кнопка GIF, которая записывает видимый фрагмент в виде GIF. Приложение GIPHY и его веб-версия GIF Maker позволяют обрезать, добавить подпись и загрузить ролик в одном месте, но результат будет публичным, если вы его только не сохраните. В Photoshop команда File > Import > Video Frames to Layers импортирует до 500 кадров, а Export > Save for Web (Legacy) записывает GIF с настройками палитры и дизеринга.

Для полного контроля и пакетной обработки лучший результат даёт двухпроходный метод палитры в ffmpeg: первый фильтр сканирует клип и строит палитру из 256 цветов по его реальным цветам, второй накладывает её на каждый кадр. Команда ниже вырезает пять секунд, начиная с 0:02, масштабирует до ширины 480 px, берёт 12 кадров в секунду и зацикливает ролик навсегда. В браузере тот же шаг с палитрой выполняет конвертер видео в GIF с настройками Ширина, Частота кадров, Цвета и Дизеринг, а страница MP4 в GIF открывает его с заранее выбранным MP4. Ролики с телефона в формате MOV обрабатываются так же; если приложение их не принимает, сначала прочитайте, как конвертировать MOV в MP4.

iPhone

  1. 01В Команды соберите цепочку Select Photos → Make GIF → Save to Photo Album.
  2. 02Запустите её и выберите видео или Live Photo; длинные ролики сначала обрежьте в «Фото».
  3. 03Отправьте GIF из альбома Анимированные в «Фото».

Android

  1. 01Откройте видео в Галерее Samsung и нажмите GIF во время воспроизведения.
  2. 02Перетащите маркеры к нужному фрагменту.
  3. 03Нажмите Сохранить; на других телефонах используйте веб-конвертер в Chrome.

Компьютер

  1. 01В Photoshop выберите File > Import > Video Frames to Layers.
  2. 02Задайте задержку кадра и повтор Forever на панели Timeline.
  3. 03Экспортируйте через Save for Web (Legacy) как GIF, 128–256 цветов.
ffmpeg: 5 секунд с 0:02, ширина 480 px, 12 кадров/с, зацикливание
ffmpeg -ss 2 -t 5 -i video.mp4 -vf "fps=12,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" -loop 0 animation.gif

Плавный цикл и финальная проверка качества

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

Перед отправкой откройте GIF в реальном размере во вкладке браузера, а не как миниатюру, и посмотрите три полных цикла. Проверьте, что текст в кадре читается при выбранной ширине, что лица не превратились в постеризованные пятна и что темп совпадает с видео. Затем сравните размер файла с лимитом из таблицы выше; если он близок, вернитесь к порядку сокращений: длина, ширина, частота кадров и цвета. Для длинных роликов и всего, что со звуком, лучше подходит сжатие видео для Discord и почты.

  • Полосы на небе, в тенях и на коже

    В палитре закончились оттенки. Оставьте 256 цветов и переключите Дизеринг на Sierra или Floyd–Steinberg, а для кадров с плавными градиентами отправьте MP4.

  • GIF проигрывается быстрее или медленнее видео

    Задержки хранятся в сотых долях секунды. 10, 20 и 25 кадров/с делятся нацело; всё выше 50 кадров/с браузеры замедляют.

  • Текст в кадре не читается

    Увеличьте ширину до 640 px и снизьте частоту кадров, чтобы компенсировать вес, либо перед конвертацией обрежьте кадр до области с текстом.

  • Заметный скачок при повторе петли

    Сдвиньте Начало и Конец на совпадающие кадры или включите Бумеранг и сократите диапазон вдвое.

Главное

  • В GIF не больше 256 цветов на кадр, нет звука, а задержки кадров задаются в сотых долях секунды.
  • Размер зависит от длины, ширины и частоты кадров; сокращайте их именно в этом порядке, прежде чем трогать цвета.
  • Ориентируйтесь на 2–6 секунд, 320–640 px и 10–15 кадров/с; для записей экрана отключайте дизеринг.
  • Discord без подписки принимает 10 MB, X — 15 MB, GIPHY — 15 секунд и 100 MB, эмодзи Slack — 128 KB.
  • Там, где видео воспроизводится прямо в ленте, зацикленный MP4 или WebM меньше и выглядит лучше любого GIF.
ПоделитьсяXFacebookWhatsAppTelegram

Часто задаваемые вопросы

Какая частота кадров лучше всего подходит для GIF из видео?

Для большинства роликов 10–15 кадров/с. Быстрые спортивные или игровые сцены оправдывают 20 кадров/с; медленные записи экрана хорошо выглядят и на 8 кадрах/с, а файл получается заметно меньше.

Сколько секунд должна длиться GIF?

От двух до шести секунд хватает почти для любой реакции, демонстрации или яркого момента. После десяти секунд GIF быстро тяжелеет, и для отправки обычно лучше короткий MP4.

GIF сжимает без потерь?

Сжатие LZW внутри GIF происходит без потерь, но сама конвертация — с потерями: миллионы цветов видео сводятся к палитре из 256 на кадр. Именно отсюда берутся полосы и зернистость.

Почему X превращает мою GIF в видео?

С 2014 года X превращает загруженные GIF в зацикленные MP4, потому что видео намного меньше и сохраняет все цвета. Публикация по-прежнему повторяется без звука, как GIF.

Можно ли сделать GIF из видео с YouTube?

Только из файла, который есть на вашем устройстве и права на который у вас есть. Скачайте свою загрузку из YouTube Studio или возьмите исходную запись, затем обрежьте и конвертируйте её.

Чем GIF отличается от анимированного WebP?

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

Читайте также