Анимиран PNG (.apng)

W3C Стандарт

Animated Portable Network Graphics (APNG) разширява стандартния PNG формат, за да поддържа многокадрови анимации с пълни 24-битови истински цветове и 8-битова алфа прозрачност, като е напълно съвместим назад със стандартните PNG декодери.

Конвертиране на APNG към GIF

Безплатен конвертор от APNG към GIF в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Инспектиране и метаданни

Операционните системи и файловите анализатори идентифицират APNG файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

100% поверително конвертиране в браузъра - файловете никога не напускат вашето устройство

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на хедъра (Magic Bytes)

Операционните системи и файловите анализатори идентифицират APNG файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

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

ASCII ПРЕДСТАВЯНЕ: ‰PNG....

Стандартизация: W3C Community Group Report (2021) / Mozilla Extension

Технически спецификации

Контейнерна архитектураPNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks
КомпресияDeflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame
Поредност на байтовете (Endianness)Big-Endian (network byte order)
Цветови пространстваsRGB, Display P3, Embedded ICC Profile (iCCP)
Канали и структураRGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha)
Максимални размери2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit)
ПрозрачностFull 8-bit alpha channel transparency (256 levels of smooth translucency)
Стрийминг и прогресивно зарежданеProgressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers

Техническа сравнителна матрица: 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' (Animation Control), разположен преди първия IDAT блок.

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

Анализ на сигурността и вектори на атака към парсера

APNG парсерите обработват повтарящи се блокове за управление на кадри, където деформираните размери могат да доведат до цялостно препълване или изчерпване на динамичната памет.

Известни вектори на атака

  • Цялостно препълване при изчисляването на отместването на кадъра (x_offset / y_offset), водещо до извънгранично композиране на кадри.
  • Несъответстваща ширина/височина на кадъра, водеща до четене извън буфера по време на смесването на кадри.
  • Безкрайни цикли на декомпресия на анимацията, изчерпващи процесора в бекенд услугите за генериране на миниатюри.

Защитни добри практики:

Исторически произход и етапи

2021W3C официално регистрира спецификацията на APNG като признат общностен стандарт.
2017Google Chrome (v59) добавя вградена поддръжка за 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 за анимирани стикери в App Store на iOS 10, стимулирайки масовото му приемане в мобилните устройства.
  • Ако отворите APNG файл в древен преглед на изображения от 90-те години на миналия век, той просто показва първия кадър, без да забива.

Често задавани технически въпроси

Защо 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 файлове директно във вашия уеб браузър.