Videó GIF-be

Videó GIF-be – online animált GIF-készítő — videoklip átalakítása ismétlődő animált GIF-fé a választott képkockasebességgel, szélességgel és palettaminőséggel. A GIF régóta létező nyílt formátum, szinte minden eszköz és csevegőplatform érti. Minden feldolgozás helyben történik a böngészőben, a fájlok soha nem kerülnek szerverre.
Támogatott bemenet: WebM, OGV (Ogg Video), MKV, AVI, GIF, WebP, APNG és más gyakori videóformátumok. Minden átalakítás helyben, a böngészőben történik; a fájlok soha nem kerülnek szerverre.
Az első használat körülbelül 30 MB-os videófeldolgozó motort tölt be az aktuális böngészőbe. Ez gyorsítótárazódik, és később újra felhasználható, ezért némi türelem szükséges.
🎥
Videofájl kiválasztása kattintással, vagy húzással és elengedéssel
WebM, OGV, MKV, AVI, GIF és más gyakori formátumok támogatottak; 500 MB alatti fájl ajánlott
Képkockasebesség: magasabb = simább, de nagyobb fájl
Maximális szélesség: automatikusan skálázva a képarány megőrzéséhez
Palettaszínek: kevesebb szín = kisebb fájl, enyhe minőségveszteség
Animált GIF-átalakítás: a képkockákat a választott sebességgel kinyeri, a maximális szélességre skálázza, és az ismétléshez optimalizált színpalettát épít. A hangsáv (ha van) elvetésre kerül.
Miért ilyen nagyok a GIF-ek? Színpaletták, ditherelés és az 1987-es formátum, amely videót is helyettesít

GIF (Graphics Interchange Format, 1987) állóképformátumnak készült kis animációs bónusszal, és ez látszik. Ezen az oldalon két tulajdonság határozza meg mindent: minden képkocka legfeljebb 256 színt tartalmazhat egy tárolt palettáról, a képkockákat pedig LZW tömöríti — egy általános célú bájtkompresszor a zip-korszakból — amely nincs tudatában annak, hogy videó kerül tárolásra. Nincs mozgáskompenzáció, nincs olyan számítás, hogy „ez a kocka nagyrészt az előző”, mint a valódi videókodekeknél; minden kocka lényegében egyenként tömörített kép. A paletta megértése a kulcs a kicsi, jó megjelenésű GIF-ekhez.

Öt tény, amely a lap további részének alapja:
• minden képkocka legfeljebb 256 színt (28) tartalmazhat egy palettáról; a valódi színes videót le kell kvantálni
• a ditherelés a hiányzó színeket a szomszédos palettaelemek pontjainak szórásával utánozza — nagyobb fájlok, simább átmenetek
• a képkockák időzítése 10 ms-os egységekben tárolódik: 10 fps → késleltetés 10 (100 ms); a gyakorlati alsó határ a 2-es késleltetés (20 ms = 50 fps)
• a képkockák függetlenül LZW-tömörítettek — a képkockák közötti tömörítés hiánya a legfőbb méretgyilkos
• kevesebb szín, kevesebb képkocka, kisebb méretek: mindegyik csökkenti az LZW bemenetét, és a hatás összeszorzódik
A 256 színes paletta és a sávosodás

Egy valódi színű videópixelhez 24 bit kell (16,7 millió lehetőség); egy GIF-pixel legfeljebb 256 színű táblázat 8 bites indexe. A videó GIF-fé alakítása ezért palettakvantálást futtat: kiválasztja a 256 színt, amely a tartalmat a legjobban képviseli, majd minden pixelt a legközelebbihez igazít. Az átmenetek ezt megfizetik — egy égbolt, amelyhez 4000 enyhén eltérő kék kellene, 30-at kap, és a sima skála látható csíkokká, az úgynevezett sávosodássá omlik össze. A nagy kontrasztú lapos grafikák (logók, játékspritek, diagramok) alig veszik észre; a fényképeket és a videót érinti a legerősebben. A konverter palettájának minősége a kimenet minőségének nagy részét adja.

Ditherelés: zaj a sima átmenetekért cserébe

A ditherelés a sávosodás klasszikus orvossága: ahelyett, hogy minden pixelt a legközelebbi palettaszínhez igazítana, a két legközelebbi szín keverékét szórja szét úgy, hogy egy kis terület átlaga megegyezzen az eredeti tónussal. Az átmenetek drámaian simábbak lesznek — a csíkok finom zajba olvadnak, amelyet a szem normál nézési távolságon összemos. Az ára a fájlméret: a zaj magas frekvenciájú részlet, és az LZW a szabályos csíkokat sokkal jobban tömöríti, mint a szórt pontokat. Ez az alapvető GIF-kompromisszum, amelyet ez az oldal bemutat: a ditherelés kikapcsolása kisebb fájlt ad sávosodással, bekapcsolása sima átmeneteket ad méretfelárral.

Képkockák időzítése: a 20 ms-os alsó határ

A GIF a képkockák közötti késleltetést 1/100 másodperces egységekben tárolja. 10 fps = 10-es késleltetés (képkockánként 100 ms); 20 fps = 5-ös késleltetés (50 ms). A legkisebb hasznos érték a 2 (20 ms, azaz 50 fps), és a gyakorlatban a legtöbb böngésző ez alattit 100 ms-ra korlátozza — a 60 fps kérése csendben lassabb lejátszást eredményez. Az alsó határon túl minden fps-növelés megszorozza a képkockák számát: ugyanazon klip 15 fps-ről 50 fps-re több mint háromszor annyi képkockát jelent, és a GIF mérete nagyjából lineárisan skálázódik a képkockák számával. Egy 10 másodperces, 15 fps-es klip 150 képkocka; 50 fps mellett 500 lenne.

Miért nőnek a GIF-ek jóval nagyobbra, mint az valódi videó

A modern videókodekek bitjeik nagy részét a képkockák közötti változás leírására fordítják — egy rögzített kamera miatt a későbbi képkockák szinte semmibe sem kerülnek. A GIF LZW-je minden képkockát friss képként lát (egyetlen képkockák közötti trükkje az átlátszóság jelzője, amely kihagyja az előző képkockával azonos pixeleket, ez jóval kevesebbet segít, mint a valódi mozgáskompenzáció). Általános szabály: ugyanarra a klipre a GIF többszörösen nagyobb lesz, mint egy jól kódolt WebM ugyanabban a felbontásban. Ha a célhely valódi videót fogad el, azt érdemes választani; a GIF csak ott jó, ahol az egyetemessége és az automatikus, ismétlődő lejátszása számít.

Gyakori tévhitek
  • "A GIF tömörített, ezért hatékony a videóhoz." Az LZW egy bájtszintű tömörítő 1987-ből, mozgásmodell nélkül; mozgó felvételeknél ez a web legkevésbé hatékony, széles körben használt formátuma.
  • "A forrásom 60 fps, ezért a GIF-nek is annak kell lennie." A 20 ms-os késleltetési alsó határ 50 fps-re korlátozza a GIF-et, a böngészők pedig az alsó határ alatti késleltetéseket felfelé korlátozzák. A képkockánkénti hűség nem az, amit a GIF képes nyújtani.
  • "A dithering csupán zaj, amelyet ki kellene kapcsolni." Ez szándékos minőség/méret kompromisszum: kikapcsolva kisebb fájl lesz sávosodással, bekapcsolva sima átmenetek, amelyek több bájtba kerülnek.
  • "Kevesebb szín mindig rosszul néz ki." Lapos grafikáknál és nagy kontrasztú animációknál már 64 szín is megegyezhet a 256-tal — és tovább csökkenti a fájlt.

Kapcsolódó eszközök: Videó WebP/APNG-re a valódi tömörítésű, valódi színű animációhoz, GIF videóvá a fordított irányhoz (paletta valódi színné), Videó WebM-re ugyanarra a klipre valódi videóként, és a Videóvágó a forrás levágásához az átalakítás előtt.