Mae'n bryd disodli GIF gyda fideo AV1

Mae'n bryd disodli GIF gyda fideo AV1

Mae'n 2019 ac mae'n hen bryd i ni benderfynu ar GIFs (na, nid ydym yn sôn am y penderfyniad hwn! Ni fyddwn byth yn cytuno yma! - dyma ni'n sôn am ynganu yn Saesneg, i ni nid yw hyn yn berthnasol - tua. cyfieithiad). Mae GIFs yn cymryd llawer iawn o le (fel arfer sawl megabeit!), sydd, os ydych chi'n ddatblygwr gwe, yn gwbl groes i'ch dymuniadau! Fel datblygwr gwe, rydych chi am leihau'r pethau y mae angen i ddefnyddwyr eu llwytho i lawr fel bod y wefan yn llwytho'n gyflym. Am yr un rheswm, rydych chi'n lleihau JavaScript, yn gwneud y gorau o PNG, JPEG, ac weithiau'n trosi JPEG i WebP. Ond beth i'w wneud gyda'r hen GIF?

Ni fydd angen GIFs lle rydyn ni'n mynd!

Os mai'ch nod yw gwella cyflymder llwytho'r safle, yna mae angen i chi gael gwared ar GIFs! Ond sut felly ydych chi'n gwneud lluniau animeiddiedig? Yr ateb yw fideo. Ac yn y rhan fwyaf o achosion, byddwch yn cael gwell ansawdd a gofod arbedion o 50-90%! Mewn bywyd, mae gan y rhan fwyaf o bethau eu manteision a'u hanfanteision. Pan fyddwch chi'n disodli GIF â fideo, yn aml ni fyddwch chi'n gallu dod o hyd i unrhyw anfanteision.

Lawr gyda'r holl GIFs!

Yn ffodus, mae disodli GIFs â fideos wedi bod yn gyffredin yn ystod y blynyddoedd diwethaf, felly mae'r holl offer angenrheidiol eisoes yn cael eu defnyddio. Yn y swydd hon, ni fyddaf yn ailddyfeisio'r olwyn, ond dim ond ychydig yn gwella'r atebion presennol y byddaf. Felly dyma'r hanfod:

  1. Cymerwch GIF a'i drosi'n fideo
  2. Amgodio'r fideo gan ddefnyddio H.264 neu VP9, ​​h.y. ei gywasgu a'i bacio i mewn i gynhwysydd MP4 neu WebM
  3. Amnewid <img> gyda GIF animeiddiedig ymlaen <video> gyda rholer
  4. Trowch autoplay ymlaen heb sain a dolen i gael effaith GIF

Mae gan Google ddogfennaeth dda sy'n disgrifio'r broses.

Mae'n 2019

Mae'n 2019 nawr. Mae cynnydd yn symud ymlaen, a rhaid inni gadw i fyny ag ef. Hyd yn hyn rydym wedi cael dau opsiwn codec sy'n cael eu cefnogi'n eang ar draws pob porwr ac offer amgodio fideo:

  1. H.264 - a gyflwynwyd yn 2003 ac a ddefnyddir fwyaf heddiw
  2. VP9 - ymddangosodd yn 2013 a chyflawnodd welliannau cywasgu o bron i 50% o gymharu â H.264, er wrth iddynt ysgrifennu yma nid yw popeth bob amser mor rosy

Nodyn: Er mai H.265 yw'r fersiwn nesaf o H.264 ac mae'n gallu cystadlu â VP9, ​​nid wyf yn ei ystyried oherwydd cefnogaeth porwr gwael, fel y dangosir ar y dudalen https://caniuse.com/#feat=hevc. Costau trwyddedu yw'r prif reswm pam nad yw H.265 wedi dod mor eang â H.264 a pham mae consortiwm Alliance of Open Media yn gweithio gyda codec di-freindal, AV1.

Cofiwch, ein nod yw lleihau GIFs enfawr i'r maint lleiaf posibl i gyflymu amseroedd llwytho. Byddai'n 2019 rhyfedd pe na bai gennym safon newydd ar gyfer cywasgu fideo yn ein arsenal. Ond mae'n bodoli ac fe'i gelwir yn AV1. Gyda AV1 gallwch chi cyflawni gwelliant o tua 30% mewn cywasgu o gymharu â VP9. Ystyr geiriau: Lepota! 🙂

Mae AV1 yn eich gwasanaeth ers 2019!

Ar benbyrddau

Yn ddiweddar ychwanegwyd cefnogaeth ar gyfer datgodio fideo AV1 at fersiynau bwrdd gwaith Google Chrome 70 и Mozilla Firefox 65. Ar hyn o bryd mae cefnogaeth Firefox yn bygi a gall achosi damweiniau, ond dylai pethau wella wrth ychwanegu dadgodiwr dav1d eisoes yn Firefox 67 (rhyddhau eisoes, ond mae cefnogaeth wedi ymddangos - tua. cyfieithu.). Am fanylion am y fersiwn newydd darllenwch - dav1d 0.3.0 rhyddhau: hyd yn oed yn gyflymach!

Ar ffonau clyfar

Ar hyn o bryd nid oes cefnogaeth caledwedd ar gyfer ffonau smart oherwydd diffyg datgodyddion priodol. Gallwch chi wneud dadgodio meddalwedd, er y bydd hyn yn arwain at fwy o ddefnydd o fatri. Bydd y SOCs symudol cyntaf sy'n cefnogi datgodio caledwedd AV1 yn ymddangos yn 2020.

Ac yna mae darllenwyr yr erthygl fel, “felly os nad yw ffonau symudol yn ei gefnogi'n iawn eto, pam defnyddio AV1?”

Mae AV1 yn godec gweddol newydd, ac rydym ar ddechrau ei addasiad. Meddyliwch am yr erthygl hon fel y cam “tra byddwch chi'n coginio, bydd y dorf yn dilyn”. Bydd cefnogaeth bwrdd gwaith ynddo'i hun yn cyflymu gwefannau i rai o'r gynulleidfa. A gellir defnyddio hen godecs fel senario wrth gefn pan na chefnogir AV1 ar y ddyfais darged. Ond wrth i ddefnyddwyr newid i ddyfeisiau gyda chefnogaeth AV1, bydd popeth yn barod. I gyflawni hyn, mae angen i ni greu tag fideo fel y dangosir isod, a fydd yn caniatáu i'r porwr ddewis ei fformat dewisol - AV1 - >> VP9 - >> H.264. Wel, os oes gan y defnyddiwr ddyfais neu lywiwr hen iawn nad yw'n cefnogi fideo o gwbl (sy'n annhebygol iawn gyda H264), yna bydd yn gweld y GIF yn unig

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

Creu AV1

Mae creu fideos yn AV1 yn hawdd. Dadlwythwch yr adeilad ffmpeg diweddaraf ar gyfer eich system o'r fan hon a defnyddiwch y gorchmynion isod. Rydym yn defnyddio 2 docyn i gyrraedd y gyfradd did targed. I wneud hyn byddwn yn rhedeg ffmpeg ddwywaith. Y tro cyntaf i ni ysgrifennu'r canlyniad i ffeil nad yw'n bodoli. Bydd hyn yn creu log a fydd ei angen ar gyfer ail rediad 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

Dyma ddadansoddiad o'r paramedrau:

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

Gwneud GIFs

I greu'r GIF defnyddiais y gorchymyn isod. Er mwyn lleihau'r maint, graddiais y GIF i 720px o led a 12 fps yn lle'r fideo 24 fps gwreiddiol.

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

Canlyniadau profion

Mae'n well gweld unwaith na darllen ganwaith, iawn? Gadewch i ni sicrhau mai'r AV1 yw'r dewis cywir at ein dibenion ni. Cymerais y fideo Tears Of Steel rhad ac am ddim sydd ar gael yma https://mango.blender.org/, a'i drawsnewid gan ddefnyddio tua'r un gyfradd did ar gyfer codecau AV1, VP9, ​​H.264. Mae'r canlyniadau isod er mwyn i chi allu eu cymharu drosoch eich hun.

Nodyn 1: Os nad yw'r ffeil isod yn llwytho i chi, efallai ei bod hi'n bryd diweddaru eich porwr. Byddwn yn argymell porwr sy'n seiliedig ar Chromium fel Chrome, Vivaldi, Brave neu Opera. Dyma'r wybodaeth ddiweddaraf am gefnogaeth AV1 https://caniuse.com/#feat=av1

Nodyn 2: Ar gyfer Firefox 66 ar Linux bydd angen i chi osod y faner media.av1.enabled i mewn i ystyr true в about:config

Nodyn 3: Rwyf wedi penderfynu peidio â chynnwys GIFs rheolaidd isod oherwydd eu maint mawr a faint o ddata y byddai ei angen i lwytho'r dudalen hon! (A fyddai'n eironig, gan fod y dudalen hon yn ymwneud â lleihau faint o ddata ar dudalen :)). Ond gallwch weld y GIFs terfynol yma https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

Nodyn y cyfieithydd: Nid yw Habr yn caniatáu ichi alluogi awtochwarae a dolennu'r ffeil, felly dim ond yr ansawdd y gallwch chi ei werthuso. Gallwch weld sut olwg fydd ar y “lluniau animeiddiedig” yn fyw erthygl wreiddiol.

Golygfa 1 @ 200 Kbps

Mae yna lawer o symudiad yma, sy'n arbennig o sensitif ar gyfraddau didau isel. Gallwch weld ar unwaith pa mor ddrwg yw H.264 ar y gyfradd didau hon; mae sgwariau i'w gweld ar unwaith. Mae VP9 yn gwella'r sefyllfa ychydig, ond mae'r sgwariau yn dal i'w gweld. Mae AV1 yn amlwg yn ennill, gan gynhyrchu darlun amlwg gwell.

H.264

VP9

AV1

Golygfa 2 @ 200 Kbps

Mae llawer o gynnwys CGI tryloyw yma. Nid yw'r canlyniadau mor wahanol â'r tro diwethaf, ond ar y cyfan mae'r AV1 yn edrych yn well.

H.264

VP9

AV1

Golygfa 3 @ 100 Kbps

Yn yr olygfa hon, rydyn ni'n troi'r gyfradd bit i lawr i 100 Kbps ac mae'r canlyniadau'n gyson. Mae AV1 yn cynnal ei arweinyddiaeth hyd yn oed ar gyfraddau didau isel!

H.264

VP9

AV1

Ceirios ar y gacen

I orffen yr erthygl hon trwy deimlo faint o led band sydd wedi'i arbed o'i gymharu â GIF - mae cyfanswm maint yr holl fideos yn uwch ... 1.62 MB!! Iawn. Rhyw ffycin 1,708,032 bytes! Er mwyn cymharu, dyma'r meintiau fideo GIF ac AV1 ar gyfer pob golygfa

GIF
AV1

Golygfa 1
11.7 MB
0.33 MB

Golygfa 2
7.27 MB
0.18 MB

Golygfa 3
5.62 MB
0.088 MB

Yn syml syfrdanol! Onid yw?

Nodyn: Ni roddir meintiau ffeiliau VP9 a H264, gan nad ydynt bron yn wahanol i AV1 oherwydd y defnydd o'r un cyfradd didau. Byddai'n ddiangen ychwanegu dwy golofn arall gyda'r un meintiau, dim ond i dynnu sylw at y ffaith bod y codecau hyn yn cynhyrchu ansawdd llawer gwell na GIF ar feintiau ffeiliau llawer llai.

Ffynhonnell: hab.com

Ychwanegu sylw