Utilia

Video na GIF

Změň část videa MP4, MOV nebo WebM na animovaný GIF přímo v prohlížeči, s optimalizovanou barevnou paletou, odhadem velikosti a náhledem.

GIF vytváří FFmpeg zkompilovaný do WebAssembly, ve dvou průchodech (barevná paleta přizpůsobená tvému klipu, pak samotné snímky). Poprvé se stáhne asi 30 MB, které si prohlížeč uloží do mezipaměti. Prohlížeč je pomalejší než počítačové programy: klipy nech krátké.

Jak vytvořit GIF z videa

  1. Přetáhni video do pole nahoře, nebo na něj klikni a vyber soubor (až 300 MB).
  2. Vybrány jsou prvních 5 sekund. Přejdi na požadovaný okamžik a klikni na Nastavit začátek sem, potom na Nastavit konec sem, nebo zadej časy v sekundách (12,5) či minutách:sekundách (0:12,5). Přehrát výběr znovu přehraje zvolenou část.
  3. Zvol Snímků za sekundu a Šířka. Řádek vedle tlačítka ukazuje délku, počet snímků, velikost v pixelech a hrubý odhad velikosti souboru.
  4. Klikni na Vytvořit GIF. Objeví se ukazatel průběhu s tlačítkem Zrušit.
  5. Animovaný GIF se zobrazí jako náhled. Pokud se ti líbí, stáhni ho; je-li příliš těžký, změň nastavení a vytvoř ho znovu.

Jak převod funguje

GIF pojme jen 256 barev na snímek, zatímco snímek videa jich má miliony. Kvalita GIFu závisí hlavně na tom, kterých 256 barev se vybere. Nástroj používá dvouprůchodovou metodu FFmpeg, doporučovanou pro dobře vypadající GIFy:

  1. Průchod paletou. FFmpeg jednou přečte vybranou část a sestaví paletu 256 barev, které nejlépe vystihují právě tento klip (palettegen), s větší váhou pro pohyblivé části.
  2. Průchod kódováním. Klip přečte znovu a každý snímek namapuje na tuto paletu (paletteuse) s lehkým rozptylem chyby (dithering), který vyhlazuje barevné přechody. Znovu se tak rozptyluje jen oblast, která se mezi snímky mění, což zabraňuje blikavému šumu a zmenšuje soubor.

Snímky se také převzorkují na zvolenou snímkovou frekvenci a změní velikost filtrem Lanczos, který udržuje ostrý text a hrany. Výsledek se opakuje donekonečna, jako většina GIFů na webu.

Všechno běží ve tvém prohlížeči s FFmpeg zkompilovaným do WebAssembly. Poprvé se stáhne asi 30 MB a uloží se do mezipaměti prohlížeče. Tvoje video se nikdy nenahrává.

Jak udržet GIF malý

GIF je starý a neefektivní formát: GIF bývá 5 až 10krát těžší než stejný klip jako MP4. Jeho velikost roste se šířkou × výškou × počtem snímků, takže:

  • Zkrať klip. Pro reakci nebo ukázku je typických 2 až 6 sekund.
  • Sniž počet snímků za sekundu. 10 fps vypadá u většiny obsahu dost plynule a váží polovinu oproti 20 fps. Nahrávky obrazovky často vypadají dobře při 5–8 fps.
  • Zmenši šířku. Přechod z 640 px na 480 px sníží počet pixelů téměř na polovinu. 480 px je dobrá výchozí hodnota pro chat a sociální sítě.

Odhad velikosti počítá zhruba s 0,3 bajtu na pixel a snímek. Skutečné klipy se hodně liší: ploché nahrávky obrazovky se komprimují mnohem lépe, zrnitý záznam z kamery mnohem hůř. Když odhad přesáhne 15 MB nebo klip překročí 450 snímků, nástroj zobrazí varování. Nad 1 500 snímků odmítne pracovat, protože by převod v prohlížeči trval příliš dlouho a zabral příliš mnoho paměti.

Omezení

Prohlížeč je pomalejší než počítačový program: každý průchod dekóduje video na jednom jádře procesoru. Krátké klipy při střední šířce se převedou za pár sekund; dlouhé klipy ve full HD mohou trvat minuty. U dlouhého úryvku ho nejdřív vystřihni nástrojem pro střih videa a převeď jen tuto část. Soubory, které tvůj prohlížeč nepřehraje (AVI, některé MKV), lze převést také, ale bez náhledu: zadej čas začátku a konce.

Časté dotazy

Nahrává se moje video na server?

Ne. Převod běží ve tvém prohlížeči s FFmpeg zkompilovaným do WebAssembly. Nic se neodesílá na server.

Proč je můj GIF tak velký?

Protože GIF komprimuje špatně: každý snímek se ukládá téměř jako celý obrázek o 256 barvách. Zkrať výběr, sniž počet snímků za sekundu nebo zmenši šířku. Poloviční šířka zmenší velikost zhruba čtyřikrát.

Jakou snímkovou frekvenci zvolit?

10 fps je dobrý kompromis mezi plynulostí a velikostí. Pro rychlý pohyb, například sport nebo hry, použij 15–25 fps a pro nahrávky obrazovky či prezentace 5–8 fps.

Proč jsou dva průchody?

První průchod najde 256 barev, které tvému klipu nejlépe sedí; druhý průchod jimi vykreslí každý snímek. Jedna obecná paleta dává pruhy a špatné barvy, proto GIFy vytvořené tímto způsobem vypadají mnohem čistěji.

Je odhad velikosti přesný?

Je to hrubé vodítko, ne příslib. Používá průměrný poměr a skutečná velikost závisí na tom, jak moc se obraz hýbe a jak je podrobný. Přesná velikost se zobrazí po převodu.

Zachová GIF zvuk?

Ne. Formát GIF zvuk nemá. Chceš-li zvuk zachovat, video raději zkrať, nebo zvuk vytáhni samostatně jako MP3.