Анімований GIF (.gif)

Специфікація Стандарт

Graphics Interchange Format (GIF): це 8-бітний растровий формат зображень на основі палітри, розроблений компанією CompuServe, який здобув всесвітню популярність завдяки поширенню коротких зациклених анімацій на ранньому етапі розвитку інтернету.

Конвертувати з GIF у MP4

Безкоштовний конвертер з GIF у MP4 у браузері. Миттєво конвертуйте файли на своєму пристрої.

Стиснути GIF онлайн

Приватно - файли ніколи не залишають ваш пристрій

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли GIF, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли GIF, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

47 49 46 38

ПОДАННЯ В ASCII: GIF8

Стандартизація: Специфікація CompuServe GIF87a / GIF89a

Технічні характеристики

Архітектура контейнераПотоковий формат палітрових зображень із блочними заголовками та завершенням (0x3B)
СтисненняАлгоритм стиснення без втрат Lempel-Ziv-Welch (LZW) із використанням словника
Порядок байтів (Endianness)Зворотний порядок байтів для розмірів полотна й таймерів затримки.
Колірні просториІндексована 8-бітна палітра (максимум 256 кольорів на кадр)
Канали та структураІндексована палітра з 1-бітною бінарною прозорістю (увімкнено/вимкнено)
Максимальні розміри65 535 x 65 535 пікселів (2-байтні цілі числа без знака)
Прозорість1-бітна бінарна прозорість (один колірний індекс позначено як прозорий)
Потокове та прогресивне завантаженняАлгоритм рядкового інтерлейсингу у 4 проходах, підтримуваний базовою специфікацією

Технічна матриця порівняння: GIF проти конкурентів

Технічний атрибутGIF (Поточний)Animated WebPMP4 (H.264)APNG
Розмір файлуДуже великий (погане стиснення для відеокадрів)Залежить від анімації та налаштувань кодування.На 80-95 % менший за GIFПомірний
Підтримка кольорівМаксимум 256 кольорів на кадр16,7 мільйона кольорів (24-бітний повноколірний режим)16,7 мільйона кольорів (YUV 4:2:0)16,7 мільйона кольорів (24-бітний повноколірний режим)
ПрозорістьЛише 1-бітна бінарна прозорість (зубчасті краї)Повноцінний 8-бітний плавний альфа-каналБез вбудованої прозоростіПовноцінний 8-бітний плавний альфа-канал
Підтримка платформШирока підтримка на багатьох сучасних і застарілих платформахПідтримується багатьма сучасними браузерами; доступність різнитьсяПідтримується багатьма відеопрогравачами й браузерами; доступність різнитьсяПідтримується багатьма сучасними браузерами; доступність різниться

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Анімація відтворюється частково й зависає, або переглядач зображень повідомляє про неочікуваний кінець файлу (EOF).

Першопричина: Через перерване завантаження відсутній кінцевий байт 0x3B (крапка з комою), яким завершується файл.

Відновлення: Додайте байт 0x3B у кінець файлу за допомогою шістнадцяткового редактора.

Аналіз безпеки та векторів атак на парсери

Файли GIF є простими, але історично страждали від атак переповнення буфера розширення LZW та поліглотів GIFAR.

Відомі вектори атак

  • Вразливості переповнення буфера LZW у старих нативних декодерах.
  • Атаки поліглотів GIFAR: створення файлів, які водночас є коректними файлами GIF і Java JAR, для обходу фільтрів завантаження.

Рекомендації щодо захисту: Під час завантаження перекодовуйте анімовані GIF-файли користувачів у MP4 або анімований WebP, щоб заощаджувати трафік і нейтралізувати загрози поліглотів.

Історичне походження та віхи

2006Усі патенти на стиснення LZW у світі втрачають чинність, після чого GIF повністю переходить у суспільне надбання.
1995Netscape 2.0 додає блок розширення застосунку, який дає змогу зациклювати анімацію без обмежень.
1989CompuServe публікує специфікацію GIF89a, додаючи підтримку анімації та прозорих кольорів.
1987Стів Вілхайт і CompuServe випускають GIF87a для передавання кольорової графіки через модеми комутованого доступу.

Основні переваги

  • GIF підтримується багатьма браузерами та програмами для роботи із зображеннями, але сумісність залежить від платформи й застосунку.
  • Миттєве відтворення без узгодження відеокодеків чи ліцензійних обмежень.
  • Стиснення без втрат у межах 256-колірної палітри.

Технічні обмеження та недоліки

  • Обмежений лише палітрою з 256 кольорів (на фотографіях це створює виразні смуги кольору).
  • GIF-файли значно більші за файли в сучасних відеоформатах MP4, WebM або анімованому WebP (часто у 5-10 разів).
  • Бінарна 1-бітна прозорість створює зубчасті піксельні облямівки на небілих тлах (альфа-змішування не підтримується).

Цікаві технічні факти

  • Творець Стів Вілхайт у 2013 році чітко роз'яснив, що правильна вимова: «ДЖІФ» із м'яким звуком «дж».
  • Зациклені анімації не входили до офіційної специфікації CompuServe; Netscape додала блок розширення «NETSCAPE2.0» у 1995 році.
  • У 1994 році Unisys оголосила, що активно захищатиме свій програмний патент LZW від розробників інструментів для GIF. Це безпосередньо спонукало спільноту вільного програмного забезпечення створити формат Portable Network Graphics (PNG) як безпатентну альтернативу.

Поширені технічні запитання

Чому анімовані GIF-файли настільки більші за відео MP4?

Формат GIF був розроблений у 1987 році як формат статичних зображень. У ньому відсутні сучасні концепції відеостиснення, такі як міжкадрові вектори руху, макроблоки та часове прогнозоване кодування. Він зберігає кожен кадр як повне незалежне растрове зображення, що призводить до величезних розмірів файлів.

Як зменшити розмір GIF-файлу?

Ви можете зменшити кількість кольорів у палітрі, знизити частоту кадрів (наприклад, з 30 кадр/с до 15 кадр/с), зменшити розміри зображення в пікселях або, в ідеалі, конвертувати файл у сучасний анімований формат WebP чи MP4.

Чи підтримує GIF звукові або аудіодоріжки?

Ні. Специфікацію CompuServe GIF створено виключно для растрових кадрів і затримок показу; вона не містить структур даних чи контейнерів синхронізації для аудіопотоків. Сучасні платформи, які нібито відтворюють «GIF-файли зі звуком», насправді передають відеофайли MP4/WebM без звуку або такі, у яких його неможливо ввімкнути.

Пов'язані пари конвертації GIF

GIF до MP4

Перетворення анімованого GIF на MP4 повторно кодує його кадри як відео; розмір файлу, кольори й відтворення залежать від вхідних даних, налаштувань кодера та цільового програвача.

MP4 до GIF

Конвертація відео MP4 з циклічним відтворенням в анімований GIF створює формат зображення з широкою підтримкою, який відтворюється автоматично без відеопрогравача.

APNG до GIF

Перетворення APNG на GIF може допомогти, якщо цільова програма підтримує GIF, але не APNG. GIF обмежує кожен кадр палітрою до 256 кольорів, а відтворення залежить від браузера чи програми.

GIF до APNG

Перетворення анімованого файлу GIF на файл APNG перетворює застарілу растрову анімацію з 256 кольорами на сучасну повноколірну послідовність із плавною прозорістю.

LOTTIE до GIF

Перетворення JSON-файлу векторної анімації Lottie на растровий анімований GIF долає розрив між сучасною графікою на основі коду та універсальною сумісністю зображень.

WEBP до GIF

Перетворення анімованих файлів WebP на анімовані GIF поєднує сучасні формати растрової анімації зі старішими веб-стандартами, які вимагають широкої сумісності.

GIF до PDF

Поділіться першим кадром GIF як односторінковим PDF для розкадрування чи звіту. Подальші кадри, тривалість їх показу та повторення анімації не включаються.