Animasyonlu GIF (.gif)

CompuServe Standart

Graphics Interchange Format (GIF), CompuServe tarafından geliştirilen 8 bit palet tabanlı bir raster görsel biçimidir. İlk web dönemindeki kısa döngülü animasyonları popülerleştirmesiyle dünya çapında tanınır.

GIF biçimini MP4 biçimine dönüştür

Tarayıcında GIF biçimini MP4 biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.

GIF dosyasını çevrimiçi sıkıştır

Özel - dosyalar cihazınızdan asla ayrılmaz

İncele ve Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, GIF dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

Bayt düzeyinde başlık imzası (sihirli baytlar)

İşletim sistemleri ve dosya çözümleyicileri, GIF dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

47 49 46 38

ASCII GÖSTERİMİ: GIF8

Standartlaştırma: CompuServe GIF87a / GIF89a Spesifikasyonu

Teknik Özellikler

Kapsayıcı mimarisiBlok başlıkları ve bitirici bayt (0x3B) içeren akış tabanlı palet görsel formatı
SıkıştırmaLempel-Ziv-Welch (LZW) kayıpsız sözlük sıkıştırma
Bayt Düzeni (Endianness)Tuval boyutları ve gecikme sayaçları için Little-endian
Renk Uzaylarıİndekslenmiş 8-bit palet (kare başına maksimum 256 renk)
Kanallar ve Yapı1-bit ikili şeffaflığa sahip indekslenmiş palet (açık/kapalı)
Maksimum Boyutlar65.535 x 65.535 piksel (2 bayt işaretsiz tamsayılar)
Şeffaflık1-bit ikili şeffaflık (şeffaf olarak işaretlenmiş tek bir renk indeksi)
Akış ve Aşamalı İşlemeTemel spesifikasyonda desteklenen 4 geçişli çizgi tarama arası (interlacing) algoritması

Teknik karşılaştırma matrisi: GIF ve rakipleri

Teknik NitelikGIF (Güncel)Animasyonlu WebPMP4 (H.264)APNG
Dosya BoyutuÇok büyük (video kareleri için zayıf sıkıştırma)Animasyona ve kodlama ayarlarına bağlıdır.GIF'ten %80-%95 daha küçükOrta
Renk DesteğiKare başına maksimum 256 renk16,7 milyon renk (24-bit Truecolor)16,7 milyon renk (YUV 4:2:0)16,7 milyon renk (24-bit Truecolor)
ŞeffaflıkYalnızca 1-bit ikili (pürüzlü kenarlar)Tam 8-bit pürüzsüz alfa kanalıYerel şeffaflık yokTam 8-bit pürüzsüz alfa kanalı
Platform desteğiBirçok güncel ve eski platformda geniş destekBirçok güncel tarayıcıda desteklenir; kullanılabilirlik değişebilirBirçok video oynatıcı ve tarayıcıda desteklenir; kullanılabilirlik değişebilirBirçok güncel tarayıcıda desteklenir; kullanılabilirlik değişebilir

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Animasyon kısmen oynatılıp donuyor veya görsel görüntüleyici beklenmeyen EOF hatası rapor ediyor.

Kök Neden: Eksik indirme nedeniyle sonlandırma baytı 0x3B (noktalı virgül) eksik.

Kurtarma: Bir hex düzenleyiciyle dosyanın sonuna 0x3B baytını ekle.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

GIF dosyaları basittir ancak geçmişte LZW açılımı sırasında oluşan arabellek taşması saldırılarına ve GIFAR çok biçimli dosyalarına maruz kalmıştır.

Bilinen Saldırı Vektörleri

  • Eski yerel kod çözücülerde LZW arabellek taşması açıkları.
  • GIFAR çok biçimli dosya saldırıları: Yükleme filtrelerini atlamak için aynı anda hem geçerli bir GIF hem de geçerli bir Java JAR dosyası olan dosyalar üretmek.

Savunmaya yönelik en iyi uygulamalar: Bant genişliğinden tasarruf etmek ve çok biçimli dosya tehditlerini etkisizleştirmek için kullanıcıların yüklediği animasyonlu GIF'leri anında MP4 veya animasyonlu WebP'ye dönüştür.

Tarihsel kökenler ve önemli dönüm noktaları

2006LZW sıkıştırmasını kapsayan tüm küresel patentlerin süresi dolarak GIF'i tamamen kamu malı haline getirmiştir.
1995Netscape 2.0, sonsuz animasyon döngüsüne izin veren Uygulama Uzantısı Bloğunu tanıttı.
1989CompuServe, animasyon ve şeffaf renkler ekleyen GIF89a spesifikasyonunu yayınladı.
1987Steve Wilhite ve CompuServe, çevirmeli modemler üzerinden renkli grafikleri aktarmak için GIF87a'yı yayınladı.

Temel Avantajlar ve Artılar

  • GIF birçok tarayıcı ve görüntü aracı tarafından desteklenir, ancak uyumluluk platforma ve uygulamaya göre değişir.
  • Video kodek müzakeresi veya lisans kısıtlamaları olmaksızın anında oynatma.
  • 256 renk paleti dahilinde kayıpsız sıkıştırma.

Teknik Kısıtlamalar ve Eksiler

  • Kesinlikle 256 renk paleti ile sınırlıdır (fotoğraflarda ciddi renk bantlaşmasına neden olur).
  • Modern MP4, WebM veya animasyonlu WebP video formatlarına kıyasla son derece verimsiz dosya boyutu (genellikle 5 ila 10 kat daha büyük).
  • İkili 1-bit şeffaflık, beyaz olmayan arka planlarda pürüzlü, pikselli saçaklara neden olur (alfa karıştırma yoktur).

İlginç Teknik Bilgiler

  • Yaratıcı Steve Wilhite, 2013 yılında yaptığı açıklamada, amaçlanan telaffuzun yumuşak G ile 'JIF' olduğunu açıkça belirtmiştir.
  • Döngüsel animasyonlar resmi CompuServe spesifikasyonunun bir parçası değildi; Netscape, 1995 yılında 'NETSCAPE2.0' uzantı bloğunu ekledi.
  • 1994 yılında Unisys, GIF araçları oluşturan geliştiricilere karşı LZW yazılım patentini agresif bir şekilde uygulayacağını duyurdu; bu durum, açık kaynak topluluğunu patent içermeyen bir alternatif olarak Taşınabilir Ağ Grafikleri (PNG) formatını icat etmeye doğrudan yönlendirdi.

Sıkça Sorulan Teknik Sorular

Animasyonlu GIF'ler neden MP4 videolardan çok daha büyük?

GIF, 1987 yılında statik bir görsel formatı olarak tasarlanmıştır. Kareler arası hareket vektörleri, makro bloklar ve zamansal öngörülü kodlama gibi modern video sıkıştırma kavramlarından uzaktır. Her kareyi tam ve bağımsız bir raster görsel olarak saklar, bu da devasa dosya boyutlarıyla sonuçlanır.

Bir GIF'in boyutunu nasıl küçültebilirim?

Paletteki renk sayısını veya kare hızını azaltabilir (ör. 30 fps'den 15 fps'ye), piksel boyutlarını küçültebilir ya da en iyisi dosyayı modern animasyonlu WebP veya MP4 biçimine dönüştürebilirsin.

GIF ses veya müzik parçalarını destekler mi?

Hayır. CompuServe GIF spesifikasyonu katı bir şekilde bit eşlem görsel kareleri ve zamanlama gecikmeleri için oluşturulmuştur; ses akışları için hiçbir veri yapısı veya senkronizasyon kapsayıcısı içermez. 'Sesli GIF' oynatıyor gibi görünen modern platformlar aslında sesi kapatılmış veya sesi açılamayan MP4/WebM video dosyaları sunmaktadır.