GIF AV1 bideoarekin ordezkatzeko garaia da

GIF AV1 bideoarekin ordezkatzeko garaia da

2019a da eta bada garaia GIFak erabakitzeko (ez, ez gara erabaki honetaz ari! Hemen ez gara inoiz ados jarriko! - hemen ingeleseko ahoskeraz ari gara, guretzat hau ez da garrantzitsua - gutxi gorabehera. itzulpena). GIFek espazio kopuru handia hartzen dute (normalean hainbat megabyte!), eta hori, web garatzailea bazara, zure nahien guztiz kontrakoa da! Web garatzaile gisa, erabiltzaileek deskargatu behar dituzten gauzak gutxitu nahi dituzu, gunea azkar kargatu dadin. Arrazoi beragatik, JavaScript gutxitu, PNG, JPEG optimizatu eta batzuetan bihurtzen dituzu JPEG-ra WebPra. Baina zer egin GIF zaharrarekin?

Ez dugu GIFrik beharko nora goazen!

Zure helburua webgunea kargatzeko abiadura hobetzea bada, GIFak kendu behar dituzu! Baina, orduan, nola egiten dituzu animaziozko irudiak? Erantzuna bideoa da. Eta kasu gehienetan, kalitate hobea eta % 50-90eko espazioa aurreztuko duzu! Bizitzan, gauza gehienek alde onak eta txarrak dituzte. GIF bideoarekin ordezkatzen duzunean, gehienetan ezin izango duzu txarrik aurkitu.

GIF guztiak behera!

Zorionez, GIFak bideoekin ordezkatzea ohikoa izan da azken urteotan, beraz, beharrezko tresna guztiak erabiltzen ari dira dagoeneko. Argitalpen honetan, ez dut gurpila berrasmatuko, baina lehendik dauden irtenbideak apur bat hobetuko ditut. Beraz, hona hemen mamia:

  1. Hartu GIF bat eta bihurtu bideo batean
  2. Kodetu bideoa H.264 edo VP9 erabiliz, hau da. konprimitu eta paketatu MP4 edo WebM edukiontzian
  3. Ordezkatu <img> GIF animatuarekin aktibatuta <video> arrabolarekin
  4. Aktibatu erreprodukzio automatikoa soinurik eta begiztarik gabe GIF efektu baterako

Google-k dokumentazio ona du prozesua deskribatzen duena.

2019 da

2019 da orain. Aurrerapena aurrera doa, eta horri eutsi behar diogu. Orain arte nabigatzaile eta bideo kodetze tresna guztietan oso onartzen diren bi codec aukera izan ditugu:

  1. H.264 - 2003an aurkeztu zen eta gaur egun erabiliena
  2. VP9 - 2013an agertu zen eta ia % 50eko konpresioaren hobekuntzak lortu zituen H.264rekin alderatuta, nahiz eta hemen idazten duten bezala dena ez da beti hain arrosa

Oharra: H.265 H.264-ren hurrengo bertsioa den arren eta VP9-rekin lehiatzeko gai den arren, ez dut uste arakatzailearen laguntza eskasa dela eta, orrialdean agertzen den moduan. https://caniuse.com/#feat=hevc. Lizentzien kostuak dira H.265 H.264 bezain hedatu ez izanaren arrazoi nagusia eta Alliance of Open Media partzuergoak eskubiderik gabeko kodek batekin lan egiten duelako, AV1.

Gogoratu, gure helburua GIF erraldoiak ahalik eta tamaina txikienera murriztea dela, kargatzeko denborak bizkortzeko. 2019 bitxia izango litzateke gure arsenalean bideo-konpresioaren estandar berririk izango ez bagenu. Baina existitzen da eta AV1 deitzen zaio. AV1-ekin egin dezakezu konpresioaren %30eko hobekuntza gutxi gorabehera VP9rekin alderatuta. Lepota! 🙂

AV1 zure zerbitzura dago 2019tik!

Mahaigainetan

Duela gutxi AV1 bideo deskodetzeko laguntza gehitu zaie mahaigaineko bertsioetan Google Chrome 70 и Mozilla Firefox 65. Oraintxe bertan Firefox-en euskarria akatsa da eta hutsegitea eragin dezake, baina gauzak gehituta hobetu beharko lirateke dav1d deskodetzailea dagoeneko Firefox 67n (dagoeneko kaleratua, baina laguntza agertu da - gutxi gorabehera. itzul.). Bertsio berriari buruzko xehetasunetarako irakurri - dav1d 0.3.0 bertsioa: are azkarrago!

Smartphoneetan

Gaur egun ez dago telefono adimendunetarako hardware euskarririk, deskodetzaile egokirik ez dagoelako. Software deskodetzea egin dezakezu, nahiz eta horrek bateriaren kontsumoa areagotuko duen. AV1 hardware deskodeketa onartzen duten lehen SOC mugikorrak 2020an agertuko dira.

Eta orduan artikuluaren irakurleek honela esaten dute: "Beraz, telefono mugikorrek oraindik behar bezala onartzen ez badute, zergatik erabili AV1?"

AV1 kodeka nahiko berria da, eta bere egokitzapenaren hasieran gaude. Pentsa artikulu hau "sukasten duzun bitartean, jendetzak jarraituko du" etapa gisa. Mahaigaineko laguntzak berez webguneak bizkortuko ditu ikusle batzuentzat. Eta kodeka zaharrak agertoki gisa erabil daitezke helburuko gailuan AV1 onartzen ez denean. Baina erabiltzaileak AV1 laguntza duten gailuetara aldatzen diren heinean, dena prest egongo da. Hori lortzeko, bideo-etiketa bat sortu behar dugu behean agertzen den moduan, eta horrek nabigatzaileak bere nahiago duen formatua hautatzeko aukera emango dio - AV1 - >> VP9 - >> H.264. Beno, erabiltzaileak bideoa batere onartzen ez duen gailu edo nabigatzaile oso zaharra badu (oso zaila da H264rekin), orduan GIF-a ikusiko du

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

AV1-en bideoak sortzea erraza da. Deskargatu hemendik zure sistemarako ffmpeg eraikitze berriena eta erabili beheko komandoak. Helburuko bit-tasa lortzeko 2 pase erabiltzen ditugu. Horretarako ffmpeg bi aldiz exekutatuko dugu. Emaitza existitzen ez den fitxategi batean idazten dugun lehen aldian. Honek ffmpeg-en bigarren exekuziorako beharrezkoa izango den erregistroa sortuko du.

# 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

Hona hemen parametroen banaketa:

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

GIFak egitea

GIFa sortzeko beheko komandoa erabili dut. Tamaina murrizteko, GIF-a 720 px zabalera eta 12 fps-ra eskalatu nuen jatorrizko 24 fps-ko bideoaren ordez.

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

Probaren emaitzak

Hobe da behin ikustea ehun aldiz irakurtzea baino, ezta? Ziurta dezagun AV1 aukera egokia dela gure helburuetarako. Hemen eskuragarri dagoen Tears Of Steel bideoa hartu nuen https://mango.blender.org/, eta gutxi gorabehera bit-tasa bera erabiliz AV1, VP9, ​​​​H.264 kodeketarako. Emaitzak behean dituzu zuk zeuk alderatu ahal izateko.

1. oharra: Beheko fitxategia ez bazaizu kargatzen, baliteke arakatzailea eguneratzeko garaia izatea. Chrome, Vivaldi, Brave edo Opera bezalako arakatzaile bat gomendatuko nuke. Hona hemen AV1 laguntzari buruzko azken informazioa https://caniuse.com/#feat=av1

2. oharra: Linux-en Firefox 66rako bandera ezarri beharko duzu media.av1.enabled esanahian sartu true в about:config

3. oharra: Erabaki dut behean GIF arruntak ez sartzea, haien tamaina handia eta orrialde hau kargatzeko beharko lukeen datu kopuruagatik! (Ironikoa izango litzateke, orri hau orrialde bateko datu kopurua murriztea baita :)). Baina azken GIFak hemen ikus ditzakezu https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

Itzultzailearen oharra: Habr-ek ez dizu aukera ematen erreprodukzio automatikoa eta fitxategia begizta gaitzen, beraz, kalitatea soilik ebaluatu dezakezu. Zuzenean "irudi animatuak" nolakoak izango diren ikus dezakezu jatorrizko artikulua.

1. eszena @ 200 Kbps

Mugimendu handia dago hemen, bit-tasa baxuetan bereziki sentikorra dena. Berehala ikus dezakezu H.264 zein txarra den bit-tasa honetan; karratuak berehala ikusten dira. VP9k egoera apur bat hobetzen du, baina laukitxoak ikusten dira oraindik. AV1 argi eta garbi irabazten du, argi eta garbi argazki hobea ekoiztuz.

H.264

VP9

AV1

2. eszena @ 200 Kbps

CGI eduki zeharrargi asko dago hemen. Emaitzak ez dira azken aldian bezain desberdinak, baina orokorrean AV1 itxura hobea du.

H.264

VP9

AV1

3. eszena @ 100 Kbps

Eszena honetan, bit-tasa 100 Kbps-ra jaitsiko dugu eta emaitzak koherenteak dira. AV1-ek bere lidergoa mantentzen du bit-tasa baxuetan ere!

H.264

VP9

AV1

Tarta gainean gerezia

Artikulu hau amaitzeko GIFarekin alderatuta gordetako banda-zabalera sentituz - bideo guztien guztizko tamaina handiagoa da... 1.62 MB!! Eskuin. 1,708,032 byte madarikatu batzuk! Konparatzeko, hona hemen eszena bakoitzeko GIF eta AV1 bideo-tamainak

GIF
AV1

1. eszena
11.7 MB
0.33 MB

2. eszena
7.27 MB
0.18 MB

3. eszena
5.62 MB
0.088 MB

Besterik gabe, harrigarria! Ez da hori?

Oharra: VP9 eta H264-ren fitxategi-tamainak ez dira ematen, ia ez baitira AV1-en desberdinak bit-tasa bera erabiltzeagatik. Tamaina bereko bi zutabe gehitzea erredundantea izango litzateke, kodek hauek GIF baino askoz kalitate hobea sortzen dutela azpimarratzeko, fitxategi-tamaina askoz txikiagoan.

Iturria: www.habr.com

Gehitu iruzkin berria