Wasal iż-żmien li tissostitwixxi GIF bil-vidjo AV1

Wasal iż-żmien li tissostitwixxi GIF bil-vidjo AV1

Wasal l-2019 u wasal iż-żmien li niddeċiedu fuq GIFs (le, mhux qed nitkellmu dwar din id-deċiżjoni! Qatt mhu se naqblu hawn! - hawn qed nitkellmu dwar il-pronunzja bl-Ingliż, għalina dan mhux rilevanti - approx. traduzzjoni). GIFs jieħdu ammont kbir ta 'spazju (ġeneralment diversi megabytes!), Li, jekk inti żviluppatur tal-web, huwa kompletament kuntrarju għax-xewqat tiegħek! Bħala żviluppatur tal-web, trid timminimizza l-affarijiet li l-utenti jridu jniżżlu sabiex is-sit jgħabbi malajr. Għall-istess raġuni, timminifja JavaScript, tottimizza PNG, JPEG, u xi drabi tikkonverti JPEG għal WebP. Imma x'għandek tagħmel mal-GIF il-qadim?

Mhux se jkollna bżonn GIFs fejn sejrin!

Jekk l-għan tiegħek huwa li ttejjeb il-veloċità tat-tagħbija tas-sit, allura trid teħles mill-GIFs! Imma allura kif tagħmel stampi animati? It-tweġiba hija video. U f'ħafna każijiet, int se tikseb kwalità aħjar u iffrankar ta 'spazju ta' 50-90%! Fil-ħajja, ħafna affarijiet għandhom il-vantaġġi u l-iżvantaġġi tagħhom. Meta tissostitwixxi GIF bil-vidjo, ħafna drabi ma tkunx tista 'ssib xi żvantaġġi.

Niżżel il-GIFs kollha!

Fortunatament, is-sostituzzjoni tal-GIFs b'vidjows kienet komuni f'dawn l-aħħar snin, għalhekk l-għodda kollha meħtieġa diġà qed jintużaw. F'din il-kariga, mhux se nivvinta r-rota mill-ġdid, iżda se ntejjeb biss ftit is-soluzzjonijiet eżistenti. Allura hawn il-qofol:

  1. Ħu GIF u jaqilbu għal vidjo
  2. Kodifika l-vidjo billi tuża H.264 jew VP9, ​​i.e. ikkompressah u ippakkjah f'kontenitur MP4 jew WebM
  3. Ibdel <img> bil GIF animat fuq <video> bir-romblu
  4. Ixgħel awtoplay mingħajr ħoss u loop għal effett GIF

Google għandha dokumentazzjoni tajba li tiddeskrivi l-proċess.

Wasal l-2019

Issa wasal l-2019. Il-progress jimxi 'l quddiem, u rridu nlaħqu miegħu. S'issa kellna żewġ għażliet ta' codec li huma appoġġjati b'mod wiesa' fil-browsers u l-għodod kollha ta' kodifikazzjoni tal-vidjo:

  1. H.264 - introdotta fl-2003 u l-aktar użata llum
  2. VP9 - deher fl-2013 u kiseb titjib fil-kompressjoni ta' kważi 50% meta mqabbel ma' H.264, għalkemm kif jiktbu hawn mhux kollox mhux dejjem daqshekk ward

Nota: Għalkemm H.265 hija l-verżjoni li jmiss ta 'H.264 u kapaċi tikkompeti ma' VP9, ​​​​ma nqishiex minħabba appoġġ fqir tal-browser, kif muri fil-paġna https://caniuse.com/#feat=hevc. L-ispejjeż tal-liċenzjar huma r-raġuni ewlenija għaliex H.265 ma sarx mifrux daqs H.264 u għaliex il-konsorzju Alliance of Open Media qed jaħdem b'codec mingħajr royalties, AV1.

Ftakar, l-għan tagħna huwa li niċkienu GIFs enormi għall-iżgħar daqs possibbli biex tħaffef il-ħinijiet tat-tagħbija. Ikun stramba 2019 kieku ma kellniex standard ġdid għall-kompressjoni tal-vidjo fl-armament tagħna. Iżda jeżisti u jissejjaħ AV1. Bil AV1 tista ' tikseb madwar 30% titjib fil-kompressjoni meta mqabbla ma 'VP9. Lepota! 🙂

AV1 huwa għas-servizz tiegħek mill-2019!

Fuq id-desktops

Riċentement appoġġ għad-dekodifikazzjoni tal-vidjo AV1 ġie miżjud mal-verżjonijiet tad-desktop Google Chrome 70 и Mozilla Firefox 65. Bħalissa l-appoġġ għal Firefox huwa buggy u jista 'jikkawża ħabtiet, iżda l-affarijiet għandhom jitjiebu biż-żieda ta' dekoder dav1d diġà fil-Firefox 67 (diġà rilaxxati, iżda l-appoġġ deher - madwar. trad.). Għal dettalji dwar il-verżjoni l-ġdida aqra - dav1d 0.3.0 rilaxx: saħansitra aktar malajr!

Fuq smartphones

Bħalissa m'hemm l-ebda appoġġ ta 'hardware għal smartphones minħabba n-nuqqas ta' decoders xierqa. Tista 'tagħmel dekodifikazzjoni tas-softwer, għalkemm dan iwassal għal żieda fil-konsum tal-batterija. L-ewwel SOCs mobbli li jappoġġjaw id-dekodifikazzjoni tal-ħardwer AV1 se jidhru fl-2020.

U allura l-qarrejja tal-artiklu huma bħal, "mela jekk il-mowbajls għadhom ma jappoġġjawhx sew, għaliex tuża AV1?"

AV1 huwa codec pjuttost ġdid, u ninsabu fil-bidu nett tal-adattament tiegħu. Aħseb f'dan l-artikolu bħala l-istadju "filwaqt li issajjar, il-folla ssegwi". L-appoġġ tad-desktop fih innifsu se jħaffef is-siti għal xi wħud mill-udjenza. U codecs qodma jistgħu jintużaw bħala xenarju ta 'riżerva meta AV1 ma jkunx appoġġjat fuq l-apparat fil-mira. Iżda hekk kif l-utenti jaqilbu għal apparati b'appoġġ AV1, kollox ikun lest. Biex nilħqu dan, irridu noħolqu tikketta tal-vidjo kif muri hawn taħt, li tippermetti lill-browser jagħżel il-format preferut tiegħu - AV1 - >> VP9 - >> H.264. Ukoll, jekk l-utent għandu apparat jew navigatur antik ħafna li ma jappoġġjax vidjo xejn (li huwa estremament improbabbli b'H264), allura hu se jara biss il-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>

Ħolqien ta 'AV1

Il-ħolqien ta' vidjows f'AV1 huwa faċli. Niżżel l-aħħar build ffmpeg għas-sistema tiegħek minn hawn u uża l-kmandi hawn taħt. Aħna nużaw 2 passes biex niksbu l-bitrate mira. Biex nagħmlu dan aħna se nħaddmu ffmpeg darbtejn. L-ewwel darba niktbu r-riżultat f'fajl ineżistenti. Dan se joħloq log li se jkun meħtieġ għat-tieni ġirja ta '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

Hawnhekk hawn tqassim tal-parametri:

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

Nagħmlu GIFs

Biex toħloq il-GIF użajt il-kmand hawn taħt. Biex tnaqqas id-daqs, I skalat il-GIF għal 720px wiesgħa u 12 fps minflok il-vidjo oriġinali 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

Ir-riżultati tat-test

Aħjar tara darba milli taqra mitt darba, hux? Ejja niżguraw li l-AV1 hija l-għażla t-tajba għall-iskopijiet tagħna. Ħadt il-video Tears Of Steel b'xejn disponibbli hawn https://mango.blender.org/, u kkonvertitha billi tuża bejn wieħed u ieħor l-istess bitrate għall-codecs AV1, VP9, ​​​​H.264. Ir-riżultati huma hawn taħt sabiex inti tista 'tqabbelhom għalik innifsek.

Nota 1: Jekk il-fajl ta' hawn taħt ma jgħabbix għalik, jista' jkun iż-żmien li taġġorna l-browser tiegħek. Nirrakkomanda browser ibbażat fuq Chromium bħal Chrome, Vivaldi, Brave jew Opera. Hawn l-aħħar informazzjoni dwar l-appoġġ AV1 https://caniuse.com/#feat=av1

Nota 2: Għal Firefox 66 fuq Linux ser ikollok bżonn issettja l-bandiera media.av1.enabled fis-sens true в about:config

Nota 3: Iddeċidejt li ma ninkludix GIFs regolari hawn taħt minħabba d-daqs kbir tagħhom u l-ammont ta' dejta li tkun teħtieġ biex titgħabba din il-paġna! (Li jkun ironiku, peress li din il-paġna hija dwar it-tnaqqis tal-ammont ta 'dejta fuq paġna :)). Imma tista 'tara l-GIFs finali hawn https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

Nota tat-traduttur: Habr ma jippermettix li tippermetti l-awtoplay u loop l-fajl, sabiex inti tista 'biss tevalwa l-kwalità. Tista 'tara kif se jidhru ħajjin l-"istampi animati". artikolu oriġinali.

Xena 1 @ 200 Kbps

Hemm ħafna moviment hawn, li huwa speċjalment sensittiv f'bitrates baxxi. Tista' tara immedjatament kemm H.264 huwa ħażin f'dan il-bitrate; il-kwadri huma viżibbli immedjatament. VP9 itejjeb is-sitwazzjoni ftit, iżda l-kwadri għadhom viżibbli. AV1 jirbaħ b'mod ċar, u jipproduċi stampa ovvjament aħjar.

H.264

VP9

AV1

Xena 2 @ 200 Kbps

Hemm ħafna kontenut CGI trasluċidu hawn. Ir-riżultati mhumiex differenti daqs l-aħħar darba, iżda b'mod ġenerali l-AV1 jidher aħjar.

H.264

VP9

AV1

Xena 3 @ 100 Kbps

F'din ix-xena, innaqqsu l-bitrate għal 100 Kbps u r-riżultati huma konsistenti. AV1 iżomm it-tmexxija tiegħu anke b'bitrates baxxi!

H.264

VP9

AV1

Ċirasa fuq il-kejk

Biex tispiċċa dan l-artikolu billi tħoss l-ammont ta 'bandwidth issejvjat meta mqabbel mal-GIF - id-daqs totali tal-vidjows kollha huwa ogħla... 1.62 MB!! Dritt. Xi fucking 1,708,032 bytes! Għal tqabbil, hawn huma d-daqsijiet tal-vidjo GIF u AV1 għal kull xena

GIF
AV1

Xena 1
11.7 MB
0.33 MB

Xena 2
7.27 MB
0.18 MB

Xena 3
5.62 MB
0.088 MB

Sempliċement isturdament! Hux?

Nota: Id-daqsijiet tal-fajls ta 'VP9 u H264 mhumiex mogħtija, peress li prattikament mhumiex differenti minn AV1 minħabba l-użu tal-istess bitrate. Ikun żejda li żżid żewġ kolonni oħra bl-istess daqsijiet, biex tenfasizza biss li dawn il-codecs jipproduċu kwalità ħafna aħjar minn GIF f'daqsijiet ta 'fajls ħafna iżgħar.

Sors: www.habr.com

Żid kumment