Isikhathi sokushintsha i-GIF ngevidiyo ye-AV1

Isikhathi sokushintsha i-GIF ngevidiyo ye-AV1

Unyaka ka-2019 futhi sekuyisikhathi sokuthi sinqume ngama-GIF (cha, asikhulumi ngalesi sinqumo! Ngeke sivume lapha! - lapha sikhuluma ngokuphimisela ngesiNgisi, kithina lokhu akubalulekile - cishe. ukuhumusha). Ama-GIF athatha indawo enkulu (ngokuvamile ama-megabytes amaningana!), okuthi, uma ungumthuthukisi wewebhu, aphikisana ngokuphelele nezifiso zakho! Njengonjiniyela wewebhu, ufuna ukunciphisa izinto abasebenzisi okudingeka bazilande ukuze isayithi lilayishe ngokushesha. Ngesizathu esifanayo, wenza kube lula i-JavaScript, uthuthukise i-PNG, i-JPEG, futhi ngezinye izikhathi uguqule JPEG kuya kuWebP. Kodwa yini okufanele uyenze nge-GIF endala?

Ngeke sidinge ama-GIF lapho siya khona!

Uma umgomo wakho uwukuthuthukisa isivinini sokulayisha isayithi, kuzomele ukhiphe ama-GIF! Kepha uzenza kanjani izithombe ezipopayi? Impendulo yividiyo. Futhi ezimweni eziningi, uzothola ikhwalithi engcono nokonga kwesikhala kuka-50-90%! Empilweni, izinto eziningi zinobuhle nobubi bazo. Uma ushintsha i-GIF ngevidiyo, ngokuvamile ngeke ukwazi ukuthola noma yikuphi ukonakala.

Phansi ngawo wonke ama-GIF!

Ngenhlanhla, ukususa ama-GIF ngamavidiyo sekuyinto evamile eminyakeni yamuva, ngakho wonke amathuluzi adingekayo aseyasetshenziswa kakade. Kulokhu okuthunyelwe, ngeke ngibuyisele isondo, kodwa ngizothuthukisa kancane izixazululo ezikhona. Ngakho nali iphuzu:

  1. Thatha i-GIF bese uyiguqulela kuvidiyo
  2. Faka ikhodi ividiyo usebenzisa i-H.264 noma i-VP9, ​​i.e. yicindezele bese uyipakisha kusiqukathi se-MP4 noma se-WebM
  3. Faka esikhundleni <img> nge-GIF egqwayizayo evuliwe <video> nge-roller
  4. Vula ukuzidlalela ngaphandle komsindo futhi uvule umphumela we-GIF

I-Google inamadokhumenti amahle achaza inqubo.

Ngu-2019

Sekungu-2019 manje. Inqubekelaphambili iya phambili, futhi kumele sihambisane nayo. Kuze kube manje sibe nezinketho ezimbili ze-codec ezisekelwa kabanzi kuzo zonke iziphequluli namathuluzi wokufaka amakhodi wevidiyo:

  1. H.264 - yethulwa ngo-2003 futhi isetshenziswa kabanzi namuhla
  2. VP9 - ivele ngo-2013 futhi yazuza ukuthuthukiswa kokucindezelwa okucishe kube ngu-50% uma kuqhathaniswa ne-H.264, nakuba njengoba bebhala lapha akuzona zonke izinto ezihlale zimnandi

Qaphela: Nakuba i-H.265 iyinguqulo elandelayo ye-H.264 futhi ikwazi ukuncintisana ne-VP9, ​​angiyicabangi ngenxa yokungasekelwa kahle kwesiphequluli, njengoba kuboniswe ekhasini. https://caniuse.com/#feat=hevc. Izindleko zokulayisensa ziyisizathu esiyinhloko esenza ukuthi i-H.265 ingasakazeki njenge-H.264 nokuthi kungani i-Alliance of Open Media consortium isebenza nge-codec yamahhala, i-AV1.

Khumbula, inhloso yethu ukunciphisa ama-GIF amakhulu abe ngusayizi omncane kakhulu ukusheshisa izikhathi zokulayisha. Kungaba isimanga u-2019 ukube besingenalo izinga elisha lokuminyanisa ividiyo ku-arsenal yethu. Kodwa ikhona futhi ibizwa nge-AV1. Nge-AV1 ungakwazi zuza cishe ukuthuthukiswa okungu-30% ekucindezelweni uma kuqhathaniswa ne-VP9. Lepota! 🙂

I-AV1 isensizweni yakho kusukela ngo-2019!

Kumadeskithophu

Usekelo lwakamuva lokuqoshwa kwevidiyo ye-AV1 lwengezwe ezinguqulweni zedeskithophu I-Google Chrome 70 и I-Mozilla Firefox 65. Njengamanje ukusekelwa kweFirefox kuyiphutha futhi kungabangela ukuphahlazeka, kodwa izinto kufanele zithuthuke ngokungezwa kwe i-decoder ye-dav1d isivele ikuFirefox 67 (isivele ikhululiwe, kodwa ukusekelwa sekuvele - cishe. transl.). Ukuze uthole imininingwane mayelana nenguqulo entsha funda - Ukukhishwa kwe-dav1d 0.3.0: ngokushesha okukhulu!

Kuma-smartphone

Okwamanje akukho ukusekelwa kwehadiwe kuma-smartphones ngenxa yokuntuleka kwama-decoder afanelekile. Ungenza i-software decoding, nakuba lokhu kuzoholela ekwandeni kokusetshenziswa kwebhethri. Ama-SOC okuqala eselula asekela ukuqoshwa kwehadiwe ye-AV1 azovela ngo-2020.

Bese kuthi abafundi bendatshana bafane nokuthi, “ngakho-ke uma omakhalekhukhwini bengakayisekeli kahle, kungani kusetshenziswa i-AV1?”

I-AV1 iyikhodekhi entsha, futhi sisekuqaleni kokujwayela kwayo. Cabanga ngalesi sihloko njengesiteji "ngenkathi upheka, isixuku sizolandela". Ukusekelwa kwedeskithophu kukodwa kuzosheshisa amasayithi kwezinye zezethameli. Futhi amakhodekhi amadala angasetshenziswa njengesimo sokubuyela emuva lapho i-AV1 ingasekelwe kudivayisi eqondiwe. Kodwa njengoba abasebenzisi beshintshela kumadivayisi anosekelo lwe-AV1, yonke into izobe isilungile. Ukufeza lokhu, sidinga ukwakha ithegi yevidiyo njengoba kukhonjisiwe ngezansi, ezovumela isiphequluli ukuthi sikhethe ifomethi yaso esiyikhethayo − AV1 - >> VP9 - >> H.264. Hhayi-ke, uma umsebenzisi enedivayisi endala kakhulu noma i-navigator engasekeli ividiyo nhlobo (okuyinto engenakwenzeka kakhulu nge-H264), khona-ke uzobona i-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>

Ukwakhiwa kwe-AV1

Ukudala amavidiyo nge-AV1 kulula. Landa i-ffmpeg yakamuva yokwakha yesistimu yakho kusuka lapha bese usebenzisa imiyalo engezansi. Sisebenzisa amaphasi angu-2 ukuze sifinyelele i-bitrate eqondiwe. Ukwenza lokhu sizosebenzisa i-ffmpeg kabili. Isikhathi sokuqala sibhala umphumela efayeleni elingekho. Lokhu kuzodala ilogi ezodingeka ekusebenzeni kwesibili kwe-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

Nakhu ukuhlukaniswa kwamapharamitha:

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

Ukwenza ama-GIF

Ukwakha i-GIF ngisebenzise umyalo ongezansi. Ukuze nginciphise usayizi, ngikale i-GIF yaba ngu-720px ububanzi no-12 fps esikhundleni sevidiyo yokuqala engu-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.gif

Imiphumela yokuhlola

Kungcono ukubona kanye kunokufunda izikhathi eziyikhulu, akunjalo? Masiqinisekise ukuthi i-AV1 iyinketho elungile ngezinjongo zethu. Ngithathe ividiyo yamahhala ethi Tears Of Steel etholakala lapha https://mango.blender.org/, futhi yayiguqula isebenzisa cishe i-bitrate efanayo ye-AV1, VP9, ​​​​H.264 codec. Imiphumela ingezansi ukuze ukwazi ukuziqhathanisa nawe.

Qaphela 1: Uma ifayela elingezansi lingakulayisheli, kungase kube isikhathi sokubuyekeza isiphequluli sakho. Ngingancoma isiphequluli esisekelwe ku-Chromium esifana ne-Chrome, i-Vivaldi, i-Brave noma i-Opera. Nali ulwazi lwakamuva ngosekelo lwe-AV1 https://caniuse.com/#feat=av1

Qaphela 2: KuFirefox 66 kuLinux uzodinga ukusetha ifulegi media.av1.enabled ibe yincazelo true в about:config

Qaphela 3: Nginqume ukungafaki ama-GIF avamile ngezansi ngenxa yobukhulu bawo obukhulu kanye nenani ledatha elizolidinga ukulayisha leli khasi! (Okungaba indida, njengoba leli khasi limayelana nokunciphisa inani ledatha ekhasini :)). Kodwa ungabona ama-GIF wokugcina lapha https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

Inothi lomhumushi: I-Habr ayikuvumeli ukuthi unike amandla ukudlala ngokuzenzakalela futhi uhlanganise ifayela, ukuze ukwazi ukuhlola ikhwalithi kuphela. Ungabona ukuthi "izithombe ezipopayi" zizobukeka kanjani bukhoma isihloko sokuqala.

Isigcawu 1 @ 200 Kbps

Kuningi ukunyakaza lapha, okuzwela kakhulu kuma-bitrate aphansi. Ungabona ngokushesha ukuthi i-H.264 imbi kangakanani kule-bitrate; izikwele zibonakala ngokushesha. I-VP9 ithuthukisa isimo kancane, kodwa izikwele zisabonakala. I-AV1 iwina ngokusobala, ikhiqiza isithombe esingcono ngokusobala.

H.264

VP9

AV1

Isigcawu 2 @ 200 Kbps

Kunokuqukethwe okuningi kwe-CGI eguquguqukayo lapha. Imiphumela ayihlukile njengangesikhathi esidlule, kodwa iyonke i-AV1 ibukeka kangcono.

H.264

VP9

AV1

Isigcawu 3 @ 100 Kbps

Kulesi sigcawu, sehlisa i-bitrate ku-100 Kbps futhi imiphumela iyahambisana. I-AV1 igcina ubuholi bayo ngisho nakuma-bitrate aphansi!

H.264

VP9

AV1

Cherry ekhekheni

Ukuqeda lesi sihloko ngokuzwa inani lomkhawulokudonsa elilondoloziwe uma liqhathaniswa ne-GIF - usayizi wawo wonke amavidiyo uphakeme... 1.62 MB! Kulungile. Amanye amabhayithi angu-1,708,032! Ukuze uqhathanise, nawa amasayizi wevidiyo we-GIF no-AV1 wesigcawu ngasinye

GIF
AV1

Isigcawu 1
11.7 MB
0.33 MB

Isigcawu 2
7.27 MB
0.18 MB

Isigcawu 3
5.62 MB
0.088 MB

Kuyamangaza nje! Akunjalo?

Qaphela: Osayizi bamafayela we-VP9 ne-H264 abanikezwanga, njengoba cishe awehlukile ku-AV1 ngenxa yokusebenzisa i-bitrate efanayo. Kungaba nzima ukwengeza amanye amakholomu amabili anosayizi ofanayo, ukugqamisa nje ukuthi lawa makhodekhi akhiqiza ikhwalithi engcono kakhulu kune-GIF ngosayizi bamafayela amancane kakhulu.

Source: www.habr.com

Engeza amazwana