Video till GIF - onlineskapare av animerad GIF — Gör ett videoklipp till en loopande animerad GIF med den bildfrekvens, bredd och palettkvalitet som väljs. GIF är ett långvarigt öppet format som förstås av nästan alla enheter och chattplattformar. Allt bearbetas lokalt i webbläsaren, och filerna laddas aldrig upp till någon server.
Stödd indata: WebM, OGV (Ogg Video), MKV, AVI, GIF, WebP, APNG och andra vanliga videoformat. Allt konverteras lokalt i webbläsaren; filerna laddas aldrig upp till någon server.
Första användningen läser in en videobehandlingsmotor på ungefär 30 MB i den aktuella webbläsaren. Den cachas och återanvänds därefter, så var tålmodig.
🎥
Klicka för att välja, eller dra och släpp en videofil
Stöder WebM, OGV, MKV, AVI, GIF och andra vanliga format; under 500 MB rekommenderas
Bildfrekvens:högre = jämnare men större fil
Maximal bredd:skalas automatiskt för att bevara bildförhållandet
Palettfärger:färre färger = mindre fil, lätt kvalitetsförlust
Konvertering till animerad GIF: extraherar bildrutor i vald bildfrekvens, skalar till maximal bredd och bygger en optimerad färgpalett för loopen. Ljudspåret (om något) kastas bort.
Varför är GIF-filer så stora? Paletter, dithering och formatet från 1987 som gör videoarbete
GIF (Graphics Interchange Format, 1987) konstruerades som ett bildformat för stillbilder med en liten animationsbonus, och det märks. Två egenskaper styr allt på den här sidan: varje bildruta begränsas till 256 färger valda ur en lagrad palett, och bildrutor komprimeras med LZW — en generell bytekomprimerare från zip-eran — som inte har någon aning om att en video lagras. Det finns ingen rörelsekompensation, ingen "den här bildrutan är mest den föregående"-aritmetik som riktiga videokodekar använder; varje bildruta är i praktiken en individuellt komprimerad bild. Att förstå paletten är nyckeln till små, snygga GIF-filer.
Fem fakta som förankrar resten av sidan: • varje bildruta bär högst 256 färger (28) från en palett; färgvideo måste kvantiseras ner • dithering simulerar saknade färger genom att sprida prickar av närliggande palettposter — större filer, jämnare övergångar • bildrutetiming lagras i enheter om 10 ms: 10 bilder/s → fördröjning 10 (100 ms); den praktiska nedre gränsen är fördröjning 2 (20 ms = 50 bilder/s) • bildrutor LZW-komprimeras var för sig — ingen komprimering mellan bildrutor är den främsta storleksfaktorn • färre färger, färre bildrutor, mindre mått: varje reglage minskar LZW-indatat, och effekterna multipliceras
256-färgspaletten och bandning
En pixel i en färgvideo behöver 24 bitar (16,7 miljoner möjligheter); en GIF-pixel är ett 8-bitars index i en tabell med högst 256 färger. Att konvertera en video till GIF kör därför palettkvantisering: välj de 256 färger som bäst representerar innehållet och snäpp sedan varje pixel till närmaste. Övergångar får betala priset — en himmel som kräver 4 000 lite olika blåa nyanser får 30 av dem, och den jämna övergången kollapsar till synliga ränder som kallas bandning. Kontrastrika platta grafiska element (logotyper, spelsprites, diagram) märker knappt av det; fotografier och video drabbas hårdast. En omvandlares palettkvalitet är en stor del av dess utdatakvalitet.
Dithering: att byta brus mot mjukhet
Dithering är den klassiska lösningen på bandning: i stället för att snäppa varje pixel till närmaste palettfärg sprids en blandning av de två närmaste färgerna så att medelvärdet över ett litet område matchar den ursprungliga tonen. Övergångar blir märkbart jämnare — ränderna löses upp i fint brus som ögat blandar ihop på normalt avstånd. Priset är filstorleken: brus är högfrekvent detalj, och LZW komprimerar regelbundna ränder mycket bättre än spridda prickar. Det är den grundläggande GIF-avvägningen som den här sidan visar: stäng av dithering för mindre filer med bandning, slå på den för jämna övergångar till ett storlekspåslag.
Bildrutetiming: 20 ms-golvet
GIF lagrar fördröjningen mellan bildrutor i enheter om 1/100 sekund. 10 bilder/s ger fördröjning 10 (100 ms per bildruta); 20 bilder/s ger fördröjning 5 (50 ms). Det minsta användbara värdet är 2 (20 ms, dvs. 50 bilder/s), och i praktiken begränsar de flesta webbläsare allt under det till 100 ms — att begära 60 bilder/s ger tyst långsammare uppspelning. Över golvet multipliceras antalet bildrutor för varje ökning av bilder/s: 15 bilder/s → 50 bilder/s för samma klipp ger mer än tre gånger så många bildrutor, och GIF-storleken skalar ungefär linjärt med antalet bildrutor. Ett 10 sekunder långt klipp vid 15 bilder/s är 150 bildrutor; vid 50 bilder/s skulle det bli 500.
Varför GIF-filer blåser upp sig jämfört med riktig video
Moderna videokodekar lägger det mesta av sina bitar på att beskriva förändring mellan bildrutor — en låst kamera gör att senare bildrutor nästan inte kostar något. GIF:s LZW ser varje bildruta som en ny bild (dess enda trick mellan bildrutor är en transparensflagga som hoppar över pixlar identiska med föregående bildruta, vilket hjälper mycket mindre än verklig rörelsekompensation). Tumregeln: för samma klipp ska en GIF väntas bli många gånger större än en välkodad WebM i samma upplösning. Om målet accepterar riktig video, föredra den; GIF vinner bara där dess universalitet och beteende med automatisk uppspelning och loop spelar roll.
Vanliga missuppfattningar
"GIF är komprimerad, så den är effektiv för video." LZW är en komprimerare på bytenivå från 1987 utan rörelsemodell; för rörligt material är den det minst effektiva allmänt använda formatet på webben.
"Min källa är 60 bilder/s, så GIF-filen bör också vara det." Fördröjningsgolvet på 20 ms begränsar GIF till 50 bilder/s, och webbläsare höjer fördröjningar under golvet. Bildruta-för-bildruta-trohet är inget GIF kan leverera.
"Dithering är bara brus som bör stängas av." Det är en avsiktlig kvalitet/storlek-avvägning: av ger mindre filer med bandning, på ger jämna övergångar som kostar bytes.
"Färre färger ser alltid dåliga ut." För platta grafiska element och animation med hög kontrast kan även 64 färger se likadana ut som 256 — och minska filen ytterligare.
Relaterade verktyg: Video till WebP/APNG för äkta färganimation med riktig komprimering, GIF till video för den omvända riktningen (palett till äkta färg), Video till WebM för samma klipp som riktig video, och Videoklippare för att trimma källan innan konvertering.