Ni wakati wa kubadilisha GIF na video ya AV1

Ni wakati wa kubadilisha GIF na video ya AV1

Ni 2019 na ni wakati wa kuamua kuhusu GIF (hapana, hatuzungumzii uamuzi huu! Hatutakubali kamwe hapa! - hapa tunazungumza juu ya matamshi kwa Kiingereza, kwetu hii sio muhimu - takriban. tafsiri) GIF huchukua nafasi kubwa (kawaida megabytes kadhaa!), Ambayo, ikiwa wewe ni msanidi wa wavuti, ni kinyume kabisa na tamaa yako! Kama msanidi wa wavuti, unataka kupunguza vitu ambavyo watumiaji wanahitaji kupakua ili tovuti ipakie haraka. Kwa sababu hiyo hiyo, unapunguza JavaScript, unaboresha PNG, JPEG, na wakati mwingine unabadilisha JPEG kwa WebP. Lakini nini cha kufanya na GIF ya zamani?

Hatutahitaji GIF tunakoenda!

Ikiwa lengo lako ni kuboresha kasi ya upakiaji wa tovuti, basi unahitaji kuondoa GIFs! Lakini jinsi gani basi unaweza kufanya picha animated? Jibu ni video. Na katika hali nyingi, utapata ubora bora na akiba ya nafasi ya 50-90%! Katika maisha, mambo mengi yana faida na hasara zake. Unapobadilisha GIF na video, mara nyingi hutaweza kupata hasara zozote.

Chini na GIF zote!

Kwa bahati nzuri, kubadilisha GIF na video kumekuwa jambo la kawaida katika miaka ya hivi karibuni, kwa hivyo zana zote muhimu tayari zinatumika. Katika chapisho hili, sitaanzisha tena gurudumu, lakini nitaboresha kidogo tu suluhisho zilizopo. Kwa hivyo hapa ndio kiini:

  1. Chukua GIF na uibadilishe kuwa video
  2. Simba video kwa kutumia H.264 au VP9, ​​i.e. ikandamize na uipakie kwenye chombo cha MP4 au WebM
  3. Badilisha <img> na GIF iliyohuishwa imewashwa <video> na roller
  4. Washa uchezaji kiotomatiki bila sauti na ulete madoido ya GIF

Google ina nyaraka nzuri zinazoelezea mchakato huo.

Ni 2019

Ni 2019 sasa. Maendeleo yanasonga mbele, na lazima tuendane nayo. Kufikia sasa tumekuwa na chaguo mbili za codec ambazo zinatumika sana katika vivinjari vyote na zana za usimbaji video:

  1. H.264 - ilianzishwa mwaka 2003 na inatumiwa sana leo
  2. VP9 - ilionekana mwaka wa 2013 na kupata uboreshaji wa ukandamizaji wa karibu 50% ikilinganishwa na H.264, ingawa kama wanavyoandika hapa sio kila kitu sio cha kupendeza kila wakati

Kumbuka: Ingawa H.265 ni toleo linalofuata la H.264 na ina uwezo wa kushindana na VP9, ​​siichukulii kutokana na usaidizi duni wa kivinjari, kama inavyoonyeshwa kwenye ukurasa. https://caniuse.com/#feat=hevc. Gharama za utoaji leseni ndiyo sababu kuu kwa nini H.265 haijaenea kama H.264 na kwa nini Muungano wa Muungano wa Open Media unafanya kazi na kodeki isiyo na mrahaba, AV1.

Kumbuka, lengo letu ni kupunguza GIF kubwa hadi ukubwa mdogo iwezekanavyo ili kuharakisha nyakati za upakiaji. Ingekuwa jambo la kushangaza 2019 ikiwa hatungekuwa na kiwango kipya cha kubana video kwenye safu yetu ya uokoaji. Lakini ipo na inaitwa AV1. Ukiwa na AV1 unaweza kufikia uboreshaji wa takriban 30% katika mbano ikilinganishwa na VP9. Lepota! 🙂

AV1 iko kwenye huduma yako tangu 2019!

Kwenye kompyuta za mezani

Usaidizi wa kusimbua video wa AV1 hivi majuzi uliongezwa kwenye matoleo ya eneo-kazi Google Chrome 70 и Mozilla Firefox 65. Hivi sasa usaidizi wa Firefox ni wa hitilafu na unaweza kusababisha ajali, lakini mambo yanapaswa kuboreka kwa kuongeza dav1d avkodare tayari iko kwenye Firefox 67 (tayari imetolewa, lakini msaada umeonekana - takriban. tafsiri.). Kwa maelezo kuhusu toleo jipya soma - dav1d 0.3.0 kutolewa: haraka zaidi!

Kwenye simu mahiri

Kwa sasa hakuna usaidizi wa maunzi kwa simu mahiri kwa sababu ya kukosekana kwa visimbaji vinavyofaa. Unaweza kufanya usimbuaji wa programu, ingawa hii itasababisha kuongezeka kwa matumizi ya betri. SOC za kwanza zinazotumia usimbaji maunzi za AV1 zitaonekana mwaka wa 2020.

Na kisha wasomaji wa makala ni kama, "kwa hivyo ikiwa simu za mkononi bado haziungi mkono ipasavyo, kwa nini utumie AV1?"

AV1 ni kodeki mpya kabisa, na tuko mwanzoni mwa urekebishaji wake. Fikiria kifungu hiki kama hatua ya "wakati unapika, umati utafuata". Usaidizi wa kompyuta ya mezani yenyewe utaharakisha tovuti kwa baadhi ya watazamaji. Na kodeki za zamani zinaweza kutumika kama hali mbadala wakati AV1 haitumiki kwenye kifaa lengwa. Lakini watumiaji wanapobadilisha hadi vifaa vilivyo na usaidizi wa AV1, kila kitu kitakuwa tayari. Ili kufanikisha hili, tunahitaji kuunda lebo ya video kama inavyoonyeshwa hapa chini, ambayo itaruhusu kivinjari kuchagua umbizo linalopendelea - AV1 - >> VP9 - >> H.264. Kweli, ikiwa mtumiaji ana kifaa cha zamani sana au kirambazaji ambacho hakiauni video hata kidogo (jambo ambalo haliwezekani sana kwa H264), basi ataona tu GIF

<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>

Uundaji wa AV1

Kuunda video katika AV1 ni rahisi. Pakua muundo wa hivi punde wa ffmpeg wa mfumo wako kutoka hapa na utumie amri zilizo hapa chini. Tunatumia kupita 2 kufikia kasi ya kasi inayolengwa. Ili kufanya hivyo tutaendesha ffmpeg mara mbili. Mara ya kwanza tunaandika matokeo kwa faili ambayo haipo. Hii itaunda logi ambayo itahitajika kwa kukimbia kwa pili kwa ffmpeg.

# 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.mp4

Hapa kuna muhtasari wa vigezo:

-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 - Включаем быстрый старт видео, перемещая часть данных в начало файла. Это позволит начать воспроизведение ещё до полной загрузка файла.

Kutengeneza GIF

Ili kuunda GIF nilitumia amri iliyo hapa chini. Ili kupunguza saizi, niliongeza GIF hadi 720px kwa upana na ramprogrammen 12 badala ya video asili ya ramprogrammen 24.

./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.gif

Matokeo ya Uchunguzi

Ni bora kuona mara moja kuliko kusoma mara mia, sivyo? Hebu tuhakikishe kuwa AV1 ni chaguo sahihi kwa madhumuni yetu. Nilichukua video ya Tears Of Steel isiyolipishwa inayopatikana hapa https://mango.blender.org/, na kuibadilisha kwa kutumia takriban kasi ya biti sawa ya kodeki za AV1, VP9, ​​​​H.264. Matokeo yako hapa chini ili uweze kuyalinganisha mwenyewe.

Kumbuka 1: Ikiwa faili iliyo hapa chini haitapakia kwa ajili yako, unaweza kuwa wakati wa kusasisha kivinjari chako. Ningependekeza kivinjari chenye msingi wa Chromium kama vile Chrome, Vivaldi, Brave au Opera. Haya hapa ni maelezo ya hivi punde kuhusu usaidizi wa AV1 https://caniuse.com/#feat=av1

Kumbuka 2: Kwa Firefox 66 kwenye Linux utahitaji kuweka bendera media.av1.enabled kwenye maana true в about:config

Kumbuka 3: Nimeamua kutojumuisha GIF za kawaida hapa chini kwa sababu ya saizi yao kubwa na idadi ya data ambayo ingehitaji kupakia ukurasa huu! (Ambayo itakuwa kinaya, kwa kuwa ukurasa huu unahusu kupunguza kiasi cha data kwenye ukurasa :)). Lakini unaweza kuona GIF za mwisho hapa https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

Ujumbe wa mtafsiri: Habr haikuruhusu kuwezesha kucheza kiotomatiki na kugeuza faili, kwa hivyo unaweza tu kutathmini ubora. Unaweza kuona jinsi "picha zilizohuishwa" zitakavyoonekana moja kwa moja makala asili.

Onyesho la 1 @ 200 Kbps

Kuna harakati nyingi hapa, ambayo ni nyeti sana kwa bitrate ya chini. Unaweza kuona mara moja jinsi H.264 ilivyo mbaya kwa kasi hii; miraba inaonekana mara moja. VP9 inaboresha hali kidogo, lakini mraba bado unaonekana. AV1 inashinda kwa uwazi, ikitoa picha bora zaidi.

H.264

VP9

AV1

Onyesho la 2 @ 200 Kbps

Kuna mengi ya maudhui translucent CGI hapa. Matokeo si tofauti kama mara ya mwisho, lakini kwa ujumla AV1 inaonekana bora.

H.264

VP9

AV1

Onyesho la 3 @ 100 Kbps

Katika onyesho hili, tunapunguza kasi ya biti hadi 100 Kbps na matokeo ni thabiti. AV1 hudumisha uongozi wake hata kwa kasi ndogo!

H.264

VP9

AV1

Cherry kwenye keki

Ili kukamilisha makala haya kwa kuhisi kiasi cha kipimo data kimehifadhiwa ikilinganishwa na GIF - jumla ya ukubwa wa video zote ni kubwa zaidi... MB 1.62!! Haki. Baadhi ya kaiti 1,708,032! Kwa kulinganisha, hizi hapa ni saizi za video za GIF na AV1 kwa kila tukio

GIF
AV1

Onyesho la 1
11.7 MB
0.33 MB

Onyesho la 2
7.27 MB
0.18 MB

Onyesho la 3
5.62 MB
0.088 MB

Inashangaza tu! Sivyo?

Kumbuka: Saizi za faili za VP9 na H264 hazijatolewa, kwani kwa kweli hazitofautiani na AV1 kwa sababu ya utumiaji wa bitrate sawa. Itakuwa muhimu kuongeza safu wima mbili zaidi zenye ukubwa sawa, ili tu kusisitiza kuwa kodeki hizi hutoa ubora bora zaidi kuliko GIF katika saizi ndogo zaidi za faili.

Chanzo: mapenzi.com

Kuongeza maoni