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

W3C Стандарт

APNG разширява PNG с многокадрова анимация и статично изображение; програмите без поддръжка на APNG може да показват само статичното изображение.

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

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

Проверка и метаданни

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

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

Поверително - файловете никога не напускат устройството ви

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

Байтов подпис на заглавката (сигнатурни байтове)

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

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

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

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

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

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

Контейнерна архитектураPNG поток от блокове с блокове acTL (контрол на анимацията), fcTL (контрол на кадъра) и fdAT (данни за кадъра)
КомпресияDeflate (zlib) с плъзгащ се прозорец LZ77 и адаптивен двумерен филтър за всеки кадър
Поредност на байтовете (Endianness)Ред от старшия към младшия байт (Big-Endian, мрежов ред на байтовете).
Цветови пространстваsRGB, Display P3, Embedded ICC Profile (iCCP)
Канали и структураRGBA (8 или 16 бита на канал за пълноцветно изображение и 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 (Animation Control) преди първия блок IDAT.

Възстановяване: Сглобете повторно кадрите с apngasm или Animation Converter на File2File.app, за да възстановите валидните блокове за контрол на анимацията.

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

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

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

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

Най-добри практики за защита: Проверявайте общите граници на анимираното платно и ограничавайте максималния брой кадри преди растеризиране.

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

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

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

Защо APNG е по-добър от GIF?

APNG поддържа 16,7 милиона цвята и 256 нива на плавна прозрачност с алфа канал, докато GIF е ограничен до 256 цвята и груба 1-битова прозрачност.

Поддържат ли съвременните браузъри APNG?

Много съвременни браузъри поддържат възпроизвеждане на APNG; наличността зависи от браузъра и версията.

Мога ли да конвертирам APNG в стандартен GIF или MP4?

Да. File2File.app може да конвертира APNG анимации в компактни GIF, MP4 или WebM файлове направо в браузъра.