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

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

Animated Portable Network Graphics (APNG) розширює стандартний формат PNG підтримкою багатокадрової анімації з повноцінним 24-бітним кольором Truecolor та 8-бітним альфа-каналами прозорості, зберігаючи зворотну сумісність зі стандартними декодерами PNG.

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

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

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

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

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

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

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

Сигнатура заголовка на байтовому рівні (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)Прямий порядок байтів (мережевий порядок байтів)
Колірні просториsRGB, Display P3, Вбудований профіль ICC (iCCP)
Канали та структураRGBA (8-біт або 16-біт на канал Truecolor + 8-біт альфа-канал)
Максимальні розміри2 147 483 647 x 2 147 483 647 пікселів (31-бітне обмеження PNG)
ПрозорістьПовна 8-бітна альфа-прозорість (256 рівнів плавної напівпрозорості)
Потокове та прогресивне завантаженняПотокове передавання чанків; негайно рендерить перший кадр на застарілих парсерах PNG, що не підтримують анімацію

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

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

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

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

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

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

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

Аналізатори APNG обробляють повторювані чанки керування кадрами, де невірні розміри можуть викликати переповнення цілих чисел або вичерпання купи пам'яті.

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

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

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

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

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

Головні переваги та плюси

  • Повний 24-бітний колір RGB плюс 8-бітна прозорість альфа-каналу, що повністю усуває артефакти зубчастих країв 1-бітної прозорості GIF.
  • 100% зворотна сумісність із застарілими декодерами PNG (які без проблем відображають основний резервний кадр).
  • Універсальне нативне апаратне прискорення відтворення у всіх сучасних десктопних, iOS та Android браузерах.

Технічні обмеження та мінуси

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

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

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

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

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

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

Чи підтримує кожен браузер APNG?

Так. Кожен сучасний браузер (Chrome, Safari, Firefox, Edge) нативно підтримує APNG з 2017 року.

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

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