
Praegu on 2019. aasta ja meil on aeg teha otsus GIF-ide osas ( â siin on jutt ingliskeelsest hÀÀldusest, mis meie jaoks ei ole oluline â nt tĂ”lk.). GIF-id vĂ”tavad tohutult ruumi (tavaliselt mitu megabaiti!), mis, kui olete veebiarendaja, on tĂ€ielikult vastuolus teie soovidega! Veebiarendajana soovite minimeerida kĂ”ike, mida kasutajad peavad allalaadima, et leht kiiremini laadiks. Samal pĂ”hjusel minimeerite JavaScripti, optimeerite PNG-d, JPEG-i ja mĂ”nikord ka konverteerite . Mis me aga teeme vana GIF-iga?
Kohtades, kuhu me suundume, ei ole GIF-e vaja!
Kui teie eesmĂ€rk on veebilehe laadimise kiirus, siis tuleb GIF-idest lahti saada! Aga kuidas siis teha animeeritud pilte? Vastus on video. Ja enamikul juhtudel saate parema kvaliteedi ja ruumi kokkuhoiu 50â90%! Elus on enamikul asjadel oma plussid ja miinused. Kui asendate GIF-i videoga, ei leia te enamasti miinuseid.
KÀsi alla kÔikidele GIF-idele!
KÀesoleval ajal on GIF-ide asendamine videoga olnud tavapÀrane praktika viimastel aastatel, nii et kÔik vajalikud tööriistad on juba olemas. Selles postituses ei hakka ma ratast leiutama, vaid natuke tÀiustan olemasolevaid lahendusi. Nii et siin on asi:
- VÔtke GIF ja konverteerige see videoks
- Koodige video H.264 vÔi VP9 abil, st tihendage see ja pakkige MP4 vÔi WebM konteinerisse
- Asendage
<img>animeeritud GIFvideoga - Lubage automaatne esitamine ilma helita ja tsĂŒklit, et saavutada GIF-i efekt
Praegu on 2019. aasta
Praegu on 2019. aasta. Edusammud liiguvad edasi ja me peame sellest mitte maha jÀÀma. Seni on meil olnud kaks koodekit, mis on laialdaselt toetatud kÔigis brauserites ja videode kodeerimise tööriistades:
- H.264 â esmakordselt tutvustatud 2003. aastal ja laialdaselt kasutusel tĂ€napĂ€eval
- , mis on toetatud umbes Ÿ browsereid (sealhulgas mobiilseadmeid). â esmakordselt tutvustatud 2013. aastal ja saavutanud peaaegu 50% parema tihenduse vĂ”rreldes H.264, kuigi ei ole kĂ”ik ja mitte alati nii roosilised
MĂ€rkus: kuigi H.265 standard on jĂ€rgmine versioon H.264 ja suudab konkureerida VP9-ga, ei vaata ma seda nĂ”rkade brauseritoe tĂ”ttu, nagu on nĂ€idatud lehelt . Ăks peamisi pĂ”hjusi, miks H.265 ei ole saanud sama populaarseks kui H.264, on litsentsimise kulud, ning seetĂ”ttu töötab Alliance of Open Media avatud koodekiga AV1, mis ei nĂ”ua tasu.
Pidage meeles, et meie eesmĂ€rk on vĂ€hendada suuri GIF-e vĂ”imalikult vĂ€ikseks, et kiirendada laadimist. 2019. aasta oleks olnud kummaline, kui meil poleks olnud uut videotihenduse standardit. Kuid see on olemas ja seda kutsutakse AV1. AV1 vĂ”imaldab . Imeline! đ
AV1 on teie kÀsutuses alates 2019. aastast!
Arvutites
Hiljuti lisati AV1 video dekodeerimise tugi töölauaversioonidesse ja . Praegu on Firefoxi tugi veidi vigane ja vĂ”ib pĂ”hjustada kokkupea, kuid asjad peaksid paranema koos juba Firefox 67 ( â toimetaja mĂ€rkus). Lisateabe jaoks lugeda â
Nutitelefonides
Nutitelefonides puudub praegu riistvaraline tugi, kuna sobivaid dekoodreid pole. Programmiline dekodeerimine on vÔimalik, kuid see suurendab aku kasutust. Esimesed mobiilised SOC-d, mis toetavad AV1 riistvaralist dekodeerimist, peaksid ilmuma 2020. aastal.
Ja siis on lugejad sellised: "Aga kui mobiilid ei toeta veel korralikult, miks siis kasutada AV1?"
AV1 on ĂŒsna uus koodek ja me oleme alles selle kohandamise alguses. Vaadake sellele artiklile kui staadiumile "kui te valmistate, rahvas on eelnevalt valmis". Tugi töölauaarvutites kiirendab juba mĂ”nes mĂ”ttes veebisaite. Vanemaid koodekeid saab kasutada varuvariantidena, kui sihtseadmel pole AV1 toe. Samasugused seadmeid toetavatele seadmetele ĂŒleminekuga on kĂ”ik juba valmis. Selle saavutamiseks peame looma video sildi, nagu allpool nĂ€idatud, mis vĂ”imaldab brauseril valida eelistatud formaadi â AV1 ->> , mis on toetatud umbes Ÿ browsereid (sealhulgas mobiilseadmeid). ->> H.264. Kui kasutajal on siiski vĂ€ga vana seade vĂ”i brauser, mis ei toeta videot ĂŒldse (mida on vĂ€ga ebatĂ”enĂ€oline H264 puhul), siis ta lihtsalt nĂ€eb GIF-i
<video style="display:block; margin: 0 auto;" autoplay loop muted playsinline poster="RollingCredits.jpg">
<source src="media/RollingCredits.av1.mp4" type="video/mp4">
<source src="media/RollingCredits.vp9.webm" type="video/webm">
<source src="media/RollingCredits.x264.mp4" type="video/mp4">
<img src="media/RollingCredits.gif">
</video>AV1 loomine
AV1-s video loomine ei ole keeruline. ja kasutage allpool toodud kÀsku. Me saavutame siht-bitikiirusest kahe vooruga. Selleks kÀivitame ffmpeg kaks korda. Esmakordselt salvestame tulemuse mitteeksisteerivasse faili. See loob logi, mida on vaja teiseks ffmpeg'i kÀivitamiseks.
# Linux or Mac
## ĐŃĐŸŃ
ĐŸĐŽ 1
ffmpeg -i input.mp4 -c:v libaom-av1 -b:v 200k -filter:v scale=720:-1 -strict experimental -cpu-used 1 -tile-columns 2 -row-mt 1 -threads 8 -pass 1 -f mp4 /dev/null &&
## ĐŃĐŸŃ
ĐŸĐŽ 2
ffmpeg -i input.mp4 -pix_fmt yuv420p -movflags faststart -c:v libaom-av1 -b:v 200k -filter:v scale=720:-1 -strict experimental -cpu-used 1 -tile-columns 2 -row-mt 1 -threads 8 -pass 2 output.mp4
# Windows
## ĐŃĐŸŃ
ĐŸĐŽ 1
ffmpeg.exe -i input.mp4 -c:v libaom-av1 -b:v 200k -filter:v scale=720:-1 -strict experimental -cpu-used 1 -tile-columns 2 -row-mt 1 -threads 8 -pass 1 -f mp4 NUL && ^
## ĐŃĐŸŃ
ĐŸĐŽ 2
ffmpeg.exe -i input.mp4 -pix_fmt yuv420p -movflags faststart -c:v libaom-av1 -b:v 200k -filter:v scale=720:-1 -strict experimental -cpu-used 1 -tile-columns 2 -row-mt 1 -threads 8 -pass 2 output.mp4Siin on parameetrite selgitus:
-i - Sissefail.
-pix_fmt - Kasutame 4:2:0 formaati, et valida video värviinfot. On palju teisi võimalikke formaate, kuid 4:2:0 on kõige ühilduvam.
-c:v - Millist kodekit kasutada, meie puhul - AV1.<br />
-b:v – Keskmine bitikiirus, mida soovime saavutada.
-filter:v scale - ffmpeg'i skaalafilter, mida kasutatakse video eraldussvõime vähendamiseks. Seame X:-1, mis ütleb ffmpeg'ile vähendada laius X-ks, säilitades kuvasuhe.
-strict experimental - Tuleb märgata, kuna AV1 on piisavalt uus kodek.
-cpu-used - Kohutavalt nimetatud parameeter, mida tegelikult kasutatakse video kvaliteedi taseme valimiseks. Võimalikud väärtused 0-4. Mida madalam väärtus, seda parem kvaliteet ja vastavalt pikem kodeerimisaeg.
-tile-columns - Kasutamiseks mitme niidi puhul. Ütleb AV1-le jagada video eraldi veergudeks, mida saab iseseisvalt ümber kodeerida, et paremini kasutada protsessorit.
-row-mt – Sama, mis eelmine parameeter, kuid jagab ka ridadeks veergude sees.
-threads - Niitide arv.
-pass - Milline läbimine praegu toimub.
-f - Kasutatakse ainult esimesel läbimisel. Näitab väljundfaili formaati, st MP4 meie puhul.
-movflags faststart - Lülitame sisse kiire video alguse, nihutades osa andmetest faili algusesse. See võimaldab vaatamist alustada enne, kui fail on täielikult laaditud.
GIFi loomine
GIFi loomiseks kasutasin allolevat kÀsku. GIFi suuruse vÀhendamiseks skaalasin selle laiuseks 720px ja 12 fps asemel algse video 24 fps.
./ffmpeg -i /mnt/c/Users/kasing/Desktop/ToS.mov -ss 00:08:08 -t 12
-filter_complex "[0:v] fps=12,scale=720:-1" -y scene2.gifTesti tulemused
Parim on ĂŒks kord nĂ€ha kui sada korda lugeda, kas pole? Veendugem, et AV1 oleks meie eesmĂ€rkide jaoks Ă”ige valik. VĂ”tsin tasuta video Tears Of Steel, mis on saadaval siin , ja konvertisin selle, kasutades ligikaudu sama bitikiirus, et AV1, VP9, H.264 koodekite vahel. Tulemused on allpool, et saaksite neid ise vĂ”rrelda.
MÀrkus 1: Kui allolev fail ei lae, vÔib teil olla aeg brauserit uuendada. Soovitan Chromiumi-pÔhist brauserit, nÀiteks Chrome, Vivaldi, Brave vÔi Opera. Siin on uusim teave AV1 toe kohta
MÀrkus 2: Firefox 66 puhul Linuxis peate seadistama lipu media.av1.enabled vÀÀrtuseks true ja about:config
MÀrkus 3: Otsustasin allpool mitte lisada tavalisi GIF-e nende suuruse ja andmemahtude tÔttu, mis oleks vajalik selle lehe laadimiseks! (Mis oleks iroonia, kuna see leht kÀsitleb andmemahtude vÀhendamist :)). Kuid saate vaadata lÔplikke GIF-e siin
TĂ”lkija mĂ€rkus: Habr ei luba automaatset esitust ja faili tsĂŒklit, seega saab hinnata vaid kvaliteeti. Vaadata, kuidas "animeeritud pildid" reaalajas vĂ€lja nĂ€evad, saab siin .
Stseen 1 @ 200 Kbps
Siin on palju liikumist, mis on madalatel bitikiirusel eriti tundlik. On kohe nÀha, kui halb on H.264 sellel bitikiirusel, tulevad vÀlja ruudud. VP9 parandab olukorda veidi, kuid ruudud on endiselt nÀhtavad. AV1 vÔidab selgelt, esitades ilmselgelt parema pildi.
H.264
, mis on toetatud umbes Ÿ browsereid (sealhulgas mobiilseadmeid).
AV1
Stseen 2 @ 200 Kbps
Siin on palju poollÀbipaistvat CGI sisu. Tulemused ei erine enam nii palju kui eelmine kord, kuid kokkuvÔttes nÀeb AV1 parem vÀlja.
H.264
, mis on toetatud umbes Ÿ browsereid (sealhulgas mobiilseadmeid).
AV1
Stseen 3 @ 100 Kbps
Selles stseenis vÀhendame bitikiirus 100 Kbps-ni ja tulemused vastavad sellele. AV1 hoiab juhtpositsiooni ka madalatel bitikiirusel!
H.264
, mis on toetatud umbes Ÿ browsereid (sealhulgas mobiilseadmeid).
AV1
Kirsiks tordil
Artikli lĂ”petamiseks, tundes sÀÀstetud liiklust vĂ”rreldes GIF-iga â kĂ”ikide ĂŒlaltoodud videote kogumaht⊠1.62 MB!! Ăige. Need on 1,708,032 bitti! VĂ”rdluseks on siin GIF- ja AV1-videote suurused iga stseeni jaoks.
GIF
AV1
Stseen 1
11.7 MB
0.33 MB
Stseen 2
7.27 MB
0.18 MB
Stseen 3
5.62 MB
0.088 MB
Lihtsalt imeline! Ei ole nii?
MĂ€rkus: VP9 ja H264 failimÔÔte ei ole esitatud, kuna need on praktiliselt samad kui AV1, kuna kasutatakse sama bittide kiirus. Veel kahte veergu oleks ĂŒleliigne lisada, et rĂ”hutada, et need koodekid pakuvad palju paremat kvaliteeti kui GIF palju vĂ€iksemate failimÔÔtmetega.
Allikas: habr.com
