Utilia

Vaizdo įrašas į GIF

Paverk vaizdo įrašo ištrauką animuotu GIF naršyklėje: pasirink pradžią ir pabaigą, kadrų dažnį bei plotį. Dviejų praėjimų paletė, be įkėlimo į serverį.

GIF kuria į WebAssembly sukompiliuotas FFmpeg dviem praėjimais (pirmiausia tavo klipui pritaikyta spalvų paletė, tada kadrai). Pirmą kartą atsisiunčiama apie 30 MB, kuriuos naršyklė laiko talpykloje. Naršyklė lėtesnė nei kompiuterio programos: klipus laikyk trumpus.

Kaip sukurti GIF iš vaizdo įrašo

  1. Nutempk vaizdo įrašą į langelį aukščiau arba spustelėk jį ir pasirink failą (iki 300 MB).
  2. Pasirenkamos pirmosios 5 sekundės. Pereik į norimą akimirką ir spustelėk Nustatyti pradžią čia, tada Nustatyti pabaigą čia, arba įvesk laikus sekundėmis (12,5) ar minutėmis:sekundėmis (0:12,5). Groti pasirinkimą pakartoja pasirinktą dalį.
  3. Pasirink Kadrus per sekundę ir Plotį. Eilutė šalia mygtuko rodo trukmę, kadrų skaičių, dydį pikseliais ir apytikslį failo dydžio įvertį.
  4. Spustelėk Sukurti GIF. Atsiranda eigos juosta su mygtuku Atšaukti.
  5. Animuotas GIF rodomas kaip peržiūra. Jei patinka, atsisiųsk; jei per sunkus, pakeisk nustatymus ir sukurk iš naujo.

Kaip veikia konvertavimas

GIF viename kadre gali turėti tik 256 spalvas, o vaizdo įrašo kadre jų milijonai. GIF kokybė daugiausia priklauso nuo to, kurios 256 spalvos pasirenkamos. Šis įrankis naudoja FFmpeg dviejų praėjimų metodą, rekomenduojamą gražiems GIF:

  1. Paletės praėjimas. FFmpeg vieną kartą perskaito pasirinktą dalį ir sukuria 256 spalvų paletę, geriausiai atspindinčią būtent šį klipą (palettegen), didesnį svorį suteikdamas judančioms dalims.
  2. Kodavimo praėjimas. Jis klipą perskaito dar kartą ir kiekvieną kadrą priskiria tai paletei (paletteuse), taikydamas lengvą paklaidos sklaidos išmarginimą (dithering) gradientams išlyginti. Iš naujo išmarginamos tik tarp kadrų besikeičiančios sritys, o tai išvengia mirgančio triukšmo ir mažina failą.

Kadrai taip pat perdiskretizuojami iki pasirinkto kadrų dažnio ir keičiamas jų dydis Lanczos filtru, kuris išlaiko ryškų tekstą ir kraštus. Rezultatas kartojamas begalę kartų, kaip dauguma GIF internete.

Viskas vyksta tavo naršyklėje su į WebAssembly sukompiliuotu FFmpeg. Pirmą kartą atsisiunčiama apie 30 MB ir laikoma naršyklės talpykloje. Tavo vaizdo įrašas niekada neįkeliamas.

Kaip išlaikyti GIF mažą

GIF yra senas ir neefektyvus formatas: GIF dažnai būna 5–10 kartų sunkesnis nei tas pats klipas kaip MP4. Jo dydis auga kartu su plotis × aukštis × kadrų skaičius, todėl:

  • Sutrumpink klipą. Reakcijai ar demonstracijai įprasta 2–6 sekundės.
  • Sumažink kadrų per sekundę skaičių. 10 kadrų/s daugumai turinio atrodo pakankamai sklandžiai ir sveria perpus mažiau nei 20 kadrų/s. Ekrano įrašai dažnai atrodo gerai ir su 5–8 kadrais/s.
  • Sumažink plotį. Nuo 640 px iki 480 px pikselių skaičius sumažėja beveik perpus. 480 px yra gera numatytoji reikšmė pokalbiams ir socialiniams tinklams.

Dydžio įvertis remiasi maždaug 0,3 baito pikseliui kadre. Tikri klipai labai skiriasi: vienodi ekrano įrašai suspaudžiami daug geriau, grūdėta kameros medžiaga – daug blogiau. Kai įvertis viršija 15 MB arba klipas turi daugiau nei 450 kadrų, įrankis parodo įspėjimą. Virš 1500 kadrų jis atsisako, nes konvertavimas užtruktų per ilgai ir naršyklėje užimtų per daug atminties.

Ribos

Naršyklė lėtesnė nei kompiuterio programos: kiekvienas praėjimas dekoduoja vaizdo įrašą viename procesoriaus branduolyje. Trumpi klipai vidutinio pločio konvertuojami per kelias sekundes; ilgi pilnos HD raiškos klipai gali užtrukti minutes. Ilgai ištraukai pirmiausia iškirpk ją vaizdo įrašų karpytuvu, tada konvertuok tik tą dalį. Failus, kurių naršyklė groti negali (AVI, kai kurie MKV), vis tiek galima konvertuoti, bet be peržiūros: įvesk pradžios ir pabaigos laikus.

Dažnai užduodami klausimai

Ar mano vaizdo įrašas įkeliamas?

Ne. Konvertavimas vyksta tavo naršyklėje su į WebAssembly sukompiliuotu FFmpeg. Niekas nesiunčiama į serverį.

Kodėl mano GIF toks didelis?

Nes GIF suspaudžia blogai: kiekvienas kadras saugomas beveik kaip pilnas paveikslas su 256 spalvomis. Sutrumpink pasirinkimą, sumažink kadrų per sekundę skaičių arba plotį. Perpus sumažinus plotį, dydis sumažėja maždaug keturis kartus.

Kokį kadrų dažnį rinktis?

10 kadrų/s yra gera pusiausvyra tarp sklandumo ir dydžio. Greitam judesiui, pavyzdžiui, sportui ar žaidimams, naudok 15–25 kadrus/s, o ekrano įrašams ar skaidrių rodymui – 5–8 kadrus/s.

Kodėl du praėjimai?

Pirmasis praėjimas randa 256 spalvas, geriausiai tinkančias tavo klipui; antrasis nupiešia kiekvieną kadrą jomis. Viena bendra paletė duoda juostavimą ir klaidingas spalvas, todėl taip sukurti GIF atrodo daug švariau.

Ar dydžio įvertis tikslus?

Tai apytikslė orientacinė reikšmė, o ne pažadas. Jis naudoja vidutinį santykį, o tikrasis dydis priklauso nuo to, kiek vaizdas juda ir kiek jame detalių. Tikslus dydis parodomas po konvertavimo.

Ar GIF išsaugo garsą?

Ne. GIF formatas garso neturi. Jei nori išsaugoti garsą, vietoj to apkarpyk vaizdo įrašą arba atskirai išgauk garsą kaip MP3.