Анімований PNG (.apng)

Звіт Стандарт

APNG розширює PNG багатокадровою анімацією та статичним зображенням; програми без підтримки APNG можуть показати лише нерухоме зображення.

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

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

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

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

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

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

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

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

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

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

89 50 4E 47 0D 0A 1A 0A

ПОДАННЯ В ASCII: ‰PNG....

Стандартизація: Звіт групи спільноти W3C (2021) / Розширення Mozilla

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

Архітектура контейнераПотік блоків PNG, зокрема блоків acTL (керування анімацією), fcTL (керування кадрами) і fdAT (дані кадрів)
СтисненняАлгоритм стиснення Deflate (zlib) з ковзним вікном LZ77 та застосуванням двовимірної адаптивної фільтрації для кожного кадру
Порядок байтів (Endianness)Порядок байтів від старшого до молодшого (Big-Endian; мережевий порядок байтів)
Колірні просториsRGB, Display P3, Вбудований профіль ICC (iCCP)
Канали та структураRGBA (8 або 16 біт на канал, Truecolor + 8-бітний альфа-канал)
Максимальні розміри2 147 483 647 x 2 147 483 647 пікселів (31-бітне обмеження PNG)
ПрозорістьПовна прозорість із 8-бітним альфа-каналом (256 рівнів плавної напівпрозорості)
Потокове та прогресивне завантаженняФайли APNG містять статичне зображення; декодери, що ігнорують фрагменти анімації, можуть показати його як нерухоме.

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

Технічний атрибутAPNG (Поточний)GIFWEBPAVIF
Глибина кольору24-біт RGB (16.7 млн кольорів)8-біт індексований (256 кольорів)24-біт RGB (16.7 млн кольорів)10-біт / 12-біт HDR
Прозорість альфа-каналуПлавна 8-бітна прозорість альфа-каналу (256 рівнів)1-бітна бінарна маска (увімкнено/вимкнено)8-бітна плавна альфа-прозорість8-бітна / 10-бітна плавна альфа-прозорість
Зворотна сумісністьДеякі програми для PNG можуть показувати статичне зображення; анімація потребує підтримки APNG.Підтримка залежить від браузера.Відсутня у застарілих програмахВідсутня у застарілих програмах
Ефективність стисненняDeflate (помірна ефективність)LZW (низька ефективність)Ключові/диференційні кадри VP8 (висока ефективність)Міжкадрове стиснення AV1 (дуже висока ефективність)

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

Анімація відтворює лише перший кадр і ніколи не зациклюється та не просувається далі.

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

Відновлення: Зберіть кадри в новий контейнер за допомогою apngasm або File2File.app Animation Converter, щоб відновити коректні блоки керування анімацією.

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

Засоби розбору APNG обробляють повторювані блоки керування кадрами; неправильні розміри можуть спричинити переповнення цілого числа або вичерпання динамічної пам’яті.

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

  • Переповнення цілих чисел при обчисленні зміщення кадру (x_offset / y_offset), що призводить до компонування кадру за межами буфера.
  • Невідповідність ширини та висоти кадру, що призводить до читання за межами буфера під час змішування кадрів.
  • Нескінченні цикли розпакування анімації можуть вичерпати ресурси процесора в серверних службах генерації мініатюр.

Рекомендації щодо захисту: Перевіряйте загальні межі анімованого полотна та обмежуйте максимальну допустиму кількість кадрів перед растеризацією.

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

2021W3C офіційно реєструє специфікацію APNG як визнаний стандарт спільноти.
2017У Chrome 59 додали вбудовану підтримку APNG; підтримка залежить від браузера та його версії.
2008Apple впроваджує APNG для анімованих стікерів в iOS і графіки у браузері Safari.
2004Стюарт Парментер та Владімір Вукічевич створюють специфікацію APNG для анімації стану мережі у Mozilla Firefox.

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

  • Повний 24-бітний колір RGB і 8-бітний альфа-канал прозорості повністю усувають зубчасті краї, властиві 1-бітній прозорості GIF.
  • Файли APNG містять статичне зображення; декодери, що ігнорують фрагменти анімації, можуть показати його як нерухоме.
  • Багато сучасних браузерів підтримують відтворення APNG; доступність залежить від браузера та його версії.

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

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

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

  • Офіційна група розробників PNG відхилила APNG у 2007 році на користь окремого формату MNG, який зрештою не здобув популярності.
  • Компанія Apple використовувала APNG для анімованих стікерів в App Store для iMessage в iOS 10, що стимулювало масове поширення на мобільних пристроях.
  • Якщо ви відкриєте файл APNG у давній програмі для перегляду зображень з 1990-х років, вона просто покаже перший кадр без аварійного завершення роботи.

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

Чому APNG кращий за GIF?

APNG підтримує 16.7 мільйона кольорів та 256 рівнів плавної прозорості альфа-каналу, тоді як GIF обмежений 256 кольорами та різкою 1-бітною прозорістю.

Чи підтримують сучасні браузери APNG?

Багато сучасних браузерів підтримують відтворення APNG; доступність залежить від браузера та його версії.

Чи можу я конвертувати APNG у стандартний GIF або MP4?

Так. File2File.app може конвертувати анімації APNG у легкі файли GIF, MP4 або WebM безпосередньо у вашому веббраузері.