Li lè pou ranplase GIF ak AV1 videyo

Li lè pou ranplase GIF ak AV1 videyo

Se 2019 e li lè pou nou deside sou GIFs (non, nou pa pale de desizyon sa a! Nou pap janm dakò isit la! - isit la nou ap pale sou pwononsyasyon an angle, pou nou sa a pa enpòtan - approx. tradiksyon). GIF yo pran yon gwo kantite espas (anjeneral plizyè megabyte!), Ki, si ou se yon pwomotè entènèt, konplètman kontrè ak dezi ou! Kòm yon pwomotè entènèt, ou vle minimize bagay itilizatè yo bezwen telechaje pou sit la chaje byen vit. Pou menm rezon an, ou minify JavaScript, optimize PNG, JPEG, epi pafwa konvèti JPEG pou WebP. Men, kisa pou fè ak vye GIF a?

Nou p ap bezwen GIF kote nou prale!

Si objektif ou se amelyore vitès chaje sit, Lè sa a, ou bezwen debarase m de GIF! Men, ki jan Lè sa a, ou fè foto anime? Repons lan se videyo. Ak nan pifò ka yo, ou pral jwenn pi bon kalite ak ekonomi espas nan 50-90%! Nan lavi, pifò bagay yo gen avantaj ak dezavantaj yo. Lè ou ranplase GIF ak videyo, pi souvan ou p'ap ka jwenn okenn inconvénients.

Anba tout GIF!

Erezman, ranplase GIF ak videyo te komen nan dènye ane yo, kidonk tout zouti ki nesesè yo deja itilize. Nan pòs sa a, mwen pa pral reenvante volan an, men pral sèlman yon ti kras amelyore solisyon yo ki deja egziste. Se konsa, isit la nan esansyèl la:

  1. Pran yon GIF epi konvèti li nan yon videyo
  2. Kode videyo a lè l sèvi avèk H.264 oswa VP9, ​​​​i.e. konprese li epi pake li nan MP4 oswa WebM veso
  3. Ranplase <img> ak GIF anime sou <video> ak roulo
  4. Limen autoplay san son ak bouk pou yon efè GIF

Google gen bon dokiman ki dekri pwosesis la.

Se 2019

Se 2019 kounye a. Pwogrè ap avanse, e nou dwe kenbe avèk li. Jiskaprezan nou te gen de opsyon codec ki lajman sipòte atravè tout navigatè ak zouti kodaj videyo:

  1. H.264 - prezante an 2003 ak pi lajman itilize jodi a
  2. VP9 - te parèt nan 2013 ak reyalize amelyorasyon konpresyon nan prèske 50% konpare ak H.264, byenke jan yo ekri isit la se pa tout bagay ki pa toujou tèlman woz

Remak: Malgre ke H.265 se pwochen vèsyon an nan H.264 epi li kapab fè konpetisyon ak VP9, ​​​​mwen pa konsidere li akòz sipò navigatè pòv, jan yo montre nan paj la. https://caniuse.com/#feat=hevc. Depans lisans yo se rezon prensipal poukisa H.265 pa vin gaye anpil tankou H.264 e poukisa Alliance of Open Media consortium ap travay ak yon codec gratis, AV1.

Sonje byen, objektif nou se retresi GIF gwo nan gwosè ki pi piti posib pou pi vit tan chaj. Li ta yon etranj 2019 si nou pa t 'gen yon nouvo estanda pou konpresyon videyo nan asenal nou an. Men, li egziste epi yo rele AV1. Avèk AV1 ou kapab reyalize apeprè 30% amelyorasyon nan konpresyon konpare ak VP9. Lepota! 🙂

AV1 se nan sèvis ou depi 2019!

Sou Bureau

Dènyèman, sipò pou dekodaj videyo AV1 te ajoute nan vèsyon Desktop Google Chrome 70 и Firefox 65. Kounye a, sipò Firefox se bug e li ka lakòz aksidan, men bagay yo ta dwe amelyore ak adisyon a dav1d dekodeur deja nan Firefox 67 (deja lage, men sipò te parèt - approx. trad.). Pou plis detay sou nouvo vèsyon an li - dav1d 0.3.0 lage: menm pi vit!

Sou smartphones

Kounye a pa gen okenn sipò pyès ki nan konpitè pou smartphones akòz mank dekodè ki apwopriye yo. Ou ka fè dekodaj lojisyèl, byenke sa ap mennen nan ogmante konsomasyon batri. Premye SOC mobil ki sipòte dekodaj pyès ki nan konpitè AV1 ap parèt an 2020.

Lè sa a, lektè yo nan atik la ap tankou, "Se konsa, si telefòn mobil yo pa sipòte li byen ankò, poukisa itilize AV1?"

AV1 se yon kodèk san patipri nouvo, e nou nan kòmansman adaptasyon li yo. Panse a atik sa a kòm etap la "pandan w ap kwit manje, foul moun yo ap swiv". Sipò Desktop nan tèt li pral akselere sit pou kèk nan odyans lan. Ak kodèk fin vye granmoun ka itilize kòm yon senaryo repli lè AV1 pa sipòte sou aparèy la sib. Men, kòm itilizatè yo chanje nan aparèy ak sipò AV1, tout bagay pral pare. Pou reyalize sa, nou bezwen kreye yon tag videyo jan yo montre anba a, ki pral pèmèt navigatè a chwazi fòma pi pito li yo - AV1 - >> VP9 - >> H.264. Oke, si itilizatè a gen yon aparèy trè ansyen oswa navigatè ki pa sipòte videyo ditou (ki trè fasil ak H264), Lè sa a, li pral jis wè GIF la

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

Kreyasyon AV1

Kreye videyo nan AV1 se fasil. Telechaje dènye ffmpeg bati pou sistèm ou a soti isit la epi sèvi ak kòmandman ki anba yo. Nou itilize 2 pas pou reyalize pousantaj sib la. Pou fè sa nou pral kouri ffmpeg de fwa. Premye fwa nou ekri rezilta a nan yon dosye ki pa egziste. Sa a pral kreye yon boutèy demi lit ki pral bezwen pou dezyèm kouri nan 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

Isit la se yon dekonpozisyon nan paramèt yo:

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

Fè GIF

Pou kreye GIF a mwen te itilize kòmandman ki anba a. Pou diminye gwosè a, mwen monte GIF a nan 720px lajè ak 12 fps olye pou yo videyo orijinal la 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

Rezilta tès yo

Li pi bon pou w wè yon fwa pase pou w li yon santèn fwa, pa vre? An n asire w AV1 a se bon chwa pou rezon nou. Mwen te pran videyo gratis Tears Of Steel ki disponib isit la https://mango.blender.org/, ak konvèti li lè l sèvi avèk apeprè menm vitès la pou AV1, VP9, ​​​​H.264 codecs. Rezilta yo anba a pou ou ka konpare yo pou tèt ou.

Nòt 1: Si fichye ki anba a pa chaje pou ou, li ka tan pou mete ajou navigatè w la. Mwen ta rekòmande yon navigatè ki baze sou Chromium tankou Chrome, Vivaldi, Brave oswa Opera. Men dènye enfòmasyon sou sipò AV1 https://caniuse.com/#feat=av1

Nòt 2: Pou Firefox 66 sou Linux w ap bezwen mete drapo a media.av1.enabled nan sans true в about:config

Nòt 3: Mwen deside pa mete GIF regilye anba a akòz gwo gwosè yo ak kantite done li ta bezwen pou chaje paj sa a! (Ki ta ironik, depi paj sa a se sou diminye kantite done sou yon paj :)). Men, ou ka wè GIF final yo isit la https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

Nòt tradiktè a: Habr pa pèmèt ou pèmèt otoplay ak bouk dosye a, kidonk, ou ka sèlman evalye bon jan kalite a. Ou ka wè ki sa "foto anime" yo pral sanble ap viv nan atik orijinal la.

Sèn 1 @ 200 Kbps

Gen yon anpil nan mouvman isit la, ki se espesyalman sansib nan to ba. Ou ka wè imedyatman ki jan H.264 move nan to sa a; kare yo vizib imedyatman. VP9 amelyore sitiyasyon an yon ti kras, men kare yo toujou vizib. AV1 byen klè genyen, pwodwi yon foto evidamman pi bon.

H.264

VP9

AV1

Sèn 2 @ 200 Kbps

Genyen anpil kontni CGI translusid isit la. Rezilta yo pa diferan tankou dènye fwa, men an jeneral AV1 a sanble pi bon.

H.264

VP9

AV1

Sèn 3 @ 100 Kbps

Nan sèn sa a, nou vire bitrate a desann nan 100 Kbps ak rezilta yo konsistan. AV1 kenbe lidèchip li menm nan to ba!

H.264

VP9

AV1

Cherry sou gato a

Чтобы закончить статью, ощутив количество сэкономленного трафика по сравнению с GIF — общий размер всех видео выше… 1.62 MB!! Dwa. Kèk fout 1,708,032 octets! Pou konparezon, isit la se gwosè videyo GIF ak AV1 pou chak sèn

GIF
AV1

Sèn 1
11.7 MB
0.33 MB

Sèn 2
7.27 MB
0.18 MB

Sèn 3
5.62 MB
0.088 MB

Senpleman sansasyonèl! Se pa li?

Remak: Gwosè dosye VP9 ak H264 yo pa bay, paske yo pratikman pa diferan de AV1 akòz itilizasyon menm vitès la. Li ta redondants pou ajoute de lòt kolòn ak menm gwosè, jis pou mete aksan ke codecs sa yo pwodwi pi bon kalite pi bon pase GIF nan taille fichier beaucoup plus.

Sous: www.habr.com

Add nouvo kòmantè