Без качване, 100% локално, без акаунт

Статия

Защо GIF файловете са толкова тежки

Тросекунден анимиран GIF редовно тежи повече от цяла минута MP4 видео, покриващо същия клип, което изненадва всеки, свикнал да мисли за видеото като по-тежкия формат. GIF никога не е бил проектиран да бъде ефективен начин за съхранение на движение; той е формат за изображения от 1987 г., който се случва да поддържа последователност от кадри, и всяко проектно решение зад него предхожда съвременната видео компресия с десетилетия.

GIF е последователност от изображения, не видео поток

Graphics Interchange Format, представен от CompuServe през 1987 г. и ревизиран като GIF89a през 1989 г., съхранява анимация като серия от отделни кадри с изображения, възпроизведени по ред, всеки от тях собствено компресирано неподвижно изображение. Истински видео кодек като H.264 вместо това кодира повечето кадри като разликата от предишния кадър, тъй като последователните видео кадри обикновено са много сходни, съхранявайки само какво се е променило. GIF няма еквивалентен механизъм: дори предимно статична сцена пресъхранява голяма част от всеки отделен кадър.

Диаграма, контрастираща GIF, който съхранява пълно независимо изображение на кадър, с видео кодек, който съхранява повечето кадри като разликата от предишния

256 цвята, независимо дали източникът се нуждае от тях

GIF ограничава всеки кадър до палитра от най-много 256 цвята, избрани от много по-широкия обхват, който снимка или видео всъщност съдържа. Запис на екран или видео клип с плавни градиенти и осветление се сплесква върху онази ограничена палитра, въвеждайки видимо ивичене и дитъринг, а файлът все още трябва да съхрани стойността на пълен кадър от онези намалено-цветни данни при всеки отделен кадър, без компресия между кадрите, на която да разчита.

Сравнение на цветови мостри: GIF палитра от 256 цвята до пълния цветови обхват на оригиналната снимка или видео източник

Защо форматът никога не получи съвременен заместител

Циклирането на анимацията и универсалната поддръжка на GIF, всеки браузър и приложение за съобщения може да възпроизведе такъв без плъгин, го задържаха в постоянна употреба дълго след като се появиха по-добри опции, по същия начин, по който MP3 остана след като по-ефективни аудио кодеци се появиха. WebP и APNG и двата поддържат анимация с истинска компресия по кадър и много повече цветове, и произвеждат забележимо по-малки файлове за същото съдържание, но нито един не достигна нивото на универсална поддръжка на GIF във всяка платформа и контекст на споделяне, така че GIF остава подразбирането за кратка циклична анимация, дори да е най-неефективният начин да я съхраните.

MP4 на същия клип обикновено е много по-малък

Конвертирането на същия кратък клип в MP4 с H.264 запазва компресията на разликата между кадрите на видео кодека и пълния цветови обхват, поради което файлът обикновено се озовава на частица от размера на еквивалентния GIF за идентично съдържание и дължина. Компромисът е, че MP4 се нуждае от видео плейър, вместо да се показва вградено като изображение навсякъде, където GIF го прави, макар повечето съвременни приложения за съобщения и социални платформи вече да пускат автоматично кратък MP4 по същия начин, по който биха пуснали GIF.

Конвертиране между GIF и видео без качване на нищо

Нашият инструмент GIF към видео прекодира анимиран GIF като компактен MP4, а видео към GIF прави обратното, когато истински GIF, за контекст, който конкретно се нуждае от такъв, е от каквото наистина имате нужда, и двата изцяло в браузъра ви, използвайки ffmpeg, компилиран в WebAssembly. Конвертирането на съществуващ тежък GIF в MP4 първо, после връщането към GIF само за малкото контексти, наистина изискващи формата, обикновено е най-бързият начин да намалите размера на файла на споделена анимация, без да губите цикъла.

Инструменти от тази статия

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

Защо кратък GIF тежи повече от много по-дълго MP4 видео?

GIF пресъхранява повечето от всеки кадър независимо без компресия между кадрите, ограничен до 256 цвята, докато MP4 кодира повечето кадри само като разликата от предишния и пази много повече цветови детайли. Разходите за кадър на формата GIF се натрупват бързо дори за клип, представляващ частица от дължината на видеото.

Мога ли да направя GIF по-малък, без да го конвертирам във видео?

Да, до известна степен: понижаването на честотата на кадрите, смаляването на размерите в пиксели, или скъсяването на клипа всички намаляват размера на GIF директно, тъй като по-малко или по-малки кадри означава по-малко данни за съхранение. Нищо от това не променя фундаменталната липса на компресия между кадрите на формата, поради което конвертирането в MP4 обикновено спестява далеч повече от скъсяването на GIF.

Ще се цикли ли MP4 автоматично по начина, по който го прави GIF?

Повечето приложения за съобщения и социални платформи пускат автоматично и циклират кратък MP4 вградено, по същия начин, по който обработват GIF, така че визуалният резултат обикновено е идентичен за зрителя. Контекст, показващ суров таг за изображение без поддръжка на видео плейър, някои имейли и по-стар софтуер за форуми, все още се нуждае от истински GIF файл.

Източници