Það er kominn tími til að skipta út GIF fyrir AV1 myndband
Það er 2019 og það er kominn tími til að við ákveðum GIF (nei, við erum ekki að tala um þessa ákvörðun! Við verðum aldrei sammála hér! - hér erum við að tala um framburð á ensku, fyrir okkur á þetta ekki við - ca. þýðing). GIF-myndir taka mikið pláss (venjulega nokkur megabæti!), sem, ef þú ert vefhönnuður, er algjörlega þvert á óskir þínar! Sem vefhönnuður vilt þú lágmarka það sem notendur þurfa að hlaða niður svo að síðan hleðst hratt. Af sömu ástæðu minnkarðu JavaScript, fínstillir PNG, JPEG og breytir stundum JPEG til WebP. En hvað á að gera við gamla GIF?
Við munum ekki þurfa GIF þar sem við erum að fara!
Ef markmið þitt er að bæta hleðsluhraða vefsvæðis, þá þarftu að losna við GIF! En hvernig gerir maður þá hreyfimyndir? Svarið er myndband. Og í flestum tilfellum færðu betri gæði og plásssparnað upp á 50-90%! Í lífinu hefur flest sína kosti og galla. Þegar þú skiptir út GIF fyrir myndband muntu oftast ekki finna neina galla.
Niður með öll GIF!
Sem betur fer hefur það verið algengt að skipta út GIF fyrir myndbönd undanfarin ár, svo öll nauðsynleg verkfæri eru þegar í notkun. Í þessari færslu mun ég ekki finna upp hjólið upp á nýtt, heldur mun aðeins bæta núverandi lausnir. Svo hér er kjarni:
Taktu GIF og breyttu því í myndband
Kóðaðu myndbandið með H.264 eða VP9, þ.e. þjappaðu því og pakkaðu því í MP4 eða WebM ílát
Skipta um <img> með hreyfimyndum á GIF <video> með rúllu
Kveiktu á sjálfvirkri spilun án hljóðs og lykkju fyrir GIF áhrif
Það er 2019 núna. Framfarir þokast áfram og við verðum að halda í við það. Hingað til höfum við haft tvo merkjamálmöguleika sem eru víða studdir í öllum vöfrum og myndbandskóðunarverkfærum:
H.264 - kynnt árið 2003 og mest notað í dag
VP9 - kom fram árið 2013 og náði samþjöppunarbótum upp á tæp 50% miðað við H.264, þó eins og þeir skrifa hér það er ekki alltaf allt jafn bjart
Ath: Þó að H.265 sé næsta útgáfa af H.264 og sé fær um að keppa við VP9, tel ég það ekki vegna lélegs vafrastuðnings, eins og sýnt er á síðunni https://caniuse.com/#feat=hevc. Lic
Mundu að markmið okkar er að minnka risastór GIF í minnstu mögulegu stærð til að flýta fyrir hleðslutíma. Það væri skrítið 2019 ef við hefðum ekki nýjan staðal fyrir myndþjöppun í vopnabúrinu okkar. En hann er til og heitir AV1. Með AV1 geturðu ná um það bil 30% framförum í þjöppun samanborið við VP9. Lepota! 🙂
Sem stendur er enginn vélbúnaðarstuðningur fyrir snjallsíma vegna skorts á viðeigandi afkóðarum. Þú getur gert hugbúnaðarafkóðun, þó það muni leiða til aukinnar rafhlöðunotkunar. Fyrstu farsíma SOC sem styðja AV1 vélbúnaðarafkóðun munu birtast árið 2020.
Og þá eru lesendur greinarinnar eins og, "þannig að ef farsímar styðja það ekki almennilega ennþá, af hverju að nota AV1?"
AV1 er frekar nýr merkjamál og við erum í byrjun aðlögunar hans. Hugsaðu um þessa grein sem stigið „meðan þú eldar mun mannfjöldinn fylgja“. Stuðningur við skrifborð mun í sjálfu sér flýta fyrir vefsvæðum fyrir suma áhorfendur. Og gamla merkjamál er hægt að nota sem varatilvik þegar AV1 er ekki studdur á marktækinu. En þegar notendur skipta yfir í tæki með AV1 stuðningi verður allt tilbúið. Til að ná þessu þurfum við að búa til myndbandsmerki eins og sýnt er hér að neðan, sem gerir vafranum kleift að velja valið snið - AV1 - >> VP9 - >> H.264. Jæja, ef notandinn er með mjög gamalt tæki eða stýrikerfi sem styður alls ekki myndband (sem er afar ólíklegt með H264), þá mun hann bara sjá GIF
Það er auðvelt að búa til myndbönd í AV1. Sæktu nýjustu ffmpeg bygginguna fyrir kerfið þitt héðan og notaðu skipanirnar hér að neðan. Við notum 2 sendingar til að ná markmiðinu bitahraða. Til að gera þetta munum við keyra ffmpeg tvisvar. Í fyrsta skipti sem við skrifum niðurstöðuna í skrá sem ekki er til. Þetta mun búa til log sem þarf fyrir seinni keyrslu ffmpeg.
-i - Входной файл.
-pix_fmt - Используем формат 4:2:0 для выбора информации о цветности в видео. Существует много других возможных форматов, но 4:2:0 наиболее совместимый.
-c:v - Какой кодек использовать, в нашем случае - AV1.<br />
-b:v – Средний битрейт, которого мы хотим добиться.
-filter:v scale - Фильтр масштаба ffmpeg используется для уменьшения разрешения видео. Мы устанавливаем X:-1 что говорит ffmpeg уменьшить ширину до X, сохранив соотношение сторон.
-strict experimental - Надо указать, т.к. AV1 достаточно новый кодек.
-cpu-used - Ужасно названный параметр, который на самом деле используется для выбора уровня качества видео. Возможные значения 0-4. Чем меньше значение, тем лучше качество и, соответственно, больше время, которое займёт кодировка.
-tile-columns - Для использования нескольких тредов. Говорит AV1 разбить видео на отдельные колонки, которые могут быть перекодированы независимо для лучшей утилизации ЦПУ.
-row-mt – Тоже, что и предыдущий параметр, но разбивает так же на строки внутри колонок.
-threads - Количество тредов.
-pass - Какой проход сейчас выполняется.
-f - Используется только при первом проходе. Указывает формат выходного файла, т.е. MP4 в нашем случае.
-movflags faststart - Включаем быстрый старт видео, перемещая часть данных в начало файла. Это позволит начать воспроизведение ещё до полной загрузка файла.
Að búa til GIF
Til að búa til GIF notaði ég skipunina hér að neðan. Til að minnka stærðina skalaði ég GIF í 720px á breidd og 12 ramma á sekúndu í stað upprunalega 24 ramma á sekúndu.
Það er betra að sjá einu sinni en að lesa hundrað sinnum, ekki satt? Við skulum ganga úr skugga um að AV1 sé rétti kosturinn fyrir okkar tilgang. Ég tók ókeypis Tears Of Steel myndbandið sem er fáanlegt hér https://mango.blender.org/, og breytti því með því að nota um það bil sama bitahraða fyrir AV1, VP9, H.264 merkjamál. Niðurstöðurnar eru hér að neðan svo þú getir borið þær saman sjálfur.
Athugasemd 1: Ef skráin hér að neðan hleðst ekki fyrir þig gæti verið kominn tími til að uppfæra vafrann þinn. Ég myndi mæla með Chromium vafra eins og Chrome, Vivaldi, Brave eða Opera. Hér eru nýjustu upplýsingarnar um AV1 stuðning https://caniuse.com/#feat=av1
Athugasemd 2: Fyrir Firefox 66 á Linux þarftu að stilla fánann media.av1.enabled í merkingu true в about:config
Athugasemd 3: Ég hef ákveðið að hafa ekki venjulega GIF-mynd hér að neðan vegna stórrar stærðar þeirra og gagnamagns sem það þyrfti til að hlaða þessari síðu! (Sem væri kaldhæðnislegt, þar sem þessi síða snýst um að minnka gagnamagn á síðu :)). En þú getur séð síðustu GIF myndirnar hér https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs
Athugasemd þýðanda: Habr leyfir þér ekki að virkja sjálfvirka spilun og lykkja skrána, svo þú getur aðeins metið gæðin. Þú getur séð hvernig „teiknimyndirnar“ munu líta út í beinni útsendingu upprunalega grein.
Vettvangur 1 @ 200 Kbps
Hér er mikil hreyfing sem er sérstaklega viðkvæm við lágan bitahraða. Þú getur strax séð hversu slæmt H.264 er á þessum bitahraða, ferningar sjást strax. VP9 bætir ástandið aðeins, en reitirnir sjást enn. AV1 vinnur greinilega og gefur augljóslega betri mynd.
H.264
VP9
AV1
Vettvangur 2 @ 200 Kbps
Það er mikið af hálfgagnsæru CGI efni hér. Niðurstöðurnar eru ekki eins ólíkar og síðast, en á heildina litið lítur AV1 betur út.
H.264
VP9
AV1
Vettvangur 3 @ 100 Kbps
Í þessu atriði lækkum við bitahraða niður í 100 Kbps og niðurstöðurnar eru í samræmi. AV1 heldur forystu sinni jafnvel á lágum bitahraða!
H.264
VP9
AV1
Kirsuber á köku
Til að klára þessa grein með því að finna hversu mikið bandbreidd er vistuð miðað við GIF - heildarstærð allra myndbanda er hærri... 1.62 MB!! Rétt. Sum helvítis 1,708,032 bæti! Til samanburðar eru hér GIF og AV1 myndbandsstærðir fyrir hverja senu
GIF
AV1
Atriði 1
11.7 MB
0.33 MB
Atriði 2
7.27 MB
0.18 MB
Atriði 3
5.62 MB
0.088 MB
Einfaldlega töfrandi! Er það ekki?
Ath: Skráarstærðir VP9 og H264 eru ekki gefnar upp, þar sem þær eru nánast ekki frábrugðnar AV1 vegna notkunar á sama bitahraða. Það væri óþarfi að bæta við tveimur dálkum til viðbótar með sömu stærðum, bara til að leggja áherslu á að þessir merkjamál framleiða miklu betri gæði en GIF í miklu minni skráarstærðum.