ʻO ka manawa kēia e pani ai iā GIF me ka wikiō AV1

ʻO ka manawa kēia e pani ai iā GIF me ka wikiō AV1

ʻO 2019 kēia a ʻo ka manawa kēia i hoʻoholo ai mākou i nā GIF (ʻaʻole, ʻaʻole mākou e kamaʻilio e pili ana i kēia hoʻoholo! ʻAʻole loa mākou e ʻae ma ʻaneʻi! - eia mākou e kamaʻilio nei e pili ana i ka ʻōlelo Pelekane, no mākou ʻaʻole pili kēia - approx. unuhi). Lawe nā GIF i ka nui o ka lewa (maʻa mau megabytes!), a inā he mea hoʻomohala pūnaewele ʻoe, kūʻē loa i kou makemake! Ma ke ʻano he mea hoʻomohala pūnaewele, makemake ʻoe e hōʻemi i nā mea e pono ai nā mea hoʻohana e hoʻoiho i mea e hoʻouka wikiwiki ai ka pūnaewele. No ke kumu like, hoʻemi ʻoe i ka JavaScript, hoʻonui i ka PNG, JPEG, a i kekahi manawa hoʻololi JPEG i WebP. Akā he aha ka hana me ka GIF kahiko?

ʻAʻole pono mākou i nā GIF ma kahi a mākou e hele ai!

Inā ʻo kāu pahuhopu ka hoʻomaikaʻi ʻana i ka wikiwiki o ka hoʻouka ʻana i ka pūnaewele, a laila pono ʻoe e kāpae i nā GIF! Akā pehea ʻoe e hana ai i nā kiʻi animated? He wikiō ka pane. A i ka hapanui o nā hihia, e loaʻa iā ʻoe ka maikaʻi maikaʻi a me ka mālama wahi o 50-90%! I ke ola, loaʻa ka hapa nui o nā mea i nā pono a me nā pōʻino. Ke hoʻololi nei ʻoe iā GIF me ka wikiō, ʻaʻole hiki iā ʻoe ke ʻike i nā mea ʻino.

Iho me nā GIF āpau!

ʻO ka mea pōmaikaʻi, he mea maʻamau ka hoʻololi ʻana i nā GIF me nā wikiō i nā makahiki i hala iho nei, no laila ua hoʻohana ʻia nā mea pono āpau. Ma kēia pou, ʻaʻole wau e hana hou i ka huila, akā e hoʻomaikaʻi iki wale i nā hoʻonā i loaʻa. No laila, eia ke kumu nui:

  1. Lawe i kahi GIF a hoʻololi iā ia i wikiō
  2. Hoʻopili i ke wikiō me H.264 a i ʻole VP9, ​​ʻo ia hoʻi. e hoʻopaʻa a hoʻokomo i loko o ka pahu MP4 a i ʻole WebM
  3. Hoʻololi <img> me ka GIF animated <video> me ka huila
  4. E hoʻā i ka pāʻani auto me ke kani ʻole a me ka loop no ka hopena GIF

Loaʻa iā Google nā ​​palapala maikaʻi e wehewehe ana i ke kaʻina hana.

ʻO 2019 kēia

ʻO 2019 kēia manawa. Ke neʻe nei ka holomua, a pono kākou e hoʻomau me ia. I kēia manawa ua loaʻa iā mākou ʻelua mau koho codec i kākoʻo nui ʻia ma nā polokalamu kele pūnaewele a me nā hāmeʻa hoʻopili wikiō:

  1. H.264 - hoʻokomo ʻia i ka makahiki 2003 a hoʻohana nui ʻia i kēia lā
  2. VP9 - ʻike ʻia i ka makahiki 2013 a loaʻa i ka hoʻomaikaʻi ʻana i ka hoʻoikaika ʻana ma kahi o 50% i hoʻohālikelike ʻia me H.264, ʻoiai i ko lakou kakau ana maanei ʻAʻole like nā mea a pau i nā manawa a pau

'Ōlelo Aʻo: ʻOiai ʻo H.265 ka mana hou o H.264 a hiki iā ia ke hoʻokūkū me VP9, ​​ʻaʻole wau i manaʻo ma muli o ke kākoʻo ʻana o ka polokalamu kele pūnaewele maikaʻi ʻole, e like me ka mea i hōʻike ʻia ma ka ʻaoʻao. https://caniuse.com/#feat=hevc. ʻO nā kumukūʻai laikini ke kumu nui ʻaʻole i laha nui ʻia ka H.265 e like me H.264 a no ke aha e hana nei ka Alliance of Open Media consortium me kahi codec royalty-free, AV1.

E hoʻomanaʻo, ʻo kā mākou pahuhopu ka hōʻemi ʻana i nā GIF nui i ka liʻiliʻi liʻiliʻi e hiki ai ke wikiwiki i nā manawa hoʻouka. He mea ʻē ia 2019 inā ʻaʻole i loaʻa iā mākou kahi maʻamau hou no ka hoʻopili wikiō i kā mākou arsenal. Aia nō naʻe a kapa ʻia ʻo AV1. Me AV1 hiki iā ʻoe loaʻa ma kahi o 30% ka hoʻomaikaʻi ʻana i ka hoʻoemi i hoʻohālikelike ʻia me VP9. Lepota! 🙂

Aia ʻo AV1 i kāu lawelawe mai ka makahiki 2019!

Ma nā pākaukau

Ua hoʻohui hou ʻia ke kākoʻo no ka hoʻololi wikiō AV1 i nā mana papapihi Google Chrome 70 и Mozilla Firefox 65. I kēia manawa, ʻoi aku ka maikaʻi o ke kākoʻo ʻo Firefox a hiki ke hōʻeha, akā pono e hoʻomaikaʻi nā mea me ka hoʻohui o dav1d decoder aia ma Firefox 67 (ua hoʻokuʻu ʻia, akā ua ʻike ʻia ke kākoʻo - kokoke. unuhi.). No nā kikoʻī e pili ana i ka mana hou e heluhelu - dav1d 0.3.0 hoʻokuʻu: ʻoi aku ka wikiwiki!

Ma nā smartphones

I kēia manawa ʻaʻohe kākoʻo ʻenehana no nā kelepona ma muli o ka nele o nā decoders kūpono. Hiki iā ʻoe ke hana i ka decoding polokalamu, ʻoiai e alakaʻi kēia i ka hoʻonui ʻana i ka hoʻohana ʻana i ka pākaukau. E ʻike ʻia nā SOC mobile mua e kākoʻo ana i ka decoding hardware AV1 i 2020.

A laila like ka poʻe heluhelu o ka ʻatikala, "no laila inā ʻaʻole kākoʻo pono nā kelepona paʻa iā ia, no ke aha e hoʻohana ai iā AV1?"

He codec hou loa ʻo AV1, a aia mākou i ka hoʻomaka ʻana o kāna hoʻololi ʻana. E noʻonoʻo i kēia ʻatikala ma ke ʻano "ʻoiai ʻoe e kuke ai, e hahai ka lehulehu". ʻO ke kākoʻo ʻo Desktop iā ia iho e wikiwiki i nā pūnaewele no kekahi o ka lehulehu. A hiki ke hoʻohana ʻia nā codec kahiko ma ke ʻano he hiʻohiʻona hāʻule ke kākoʻo ʻole ʻia ʻo AV1 ma ka hāmeʻa. Akā ke hoʻololi nei nā mea hoʻohana i nā polokalamu me ke kākoʻo AV1, e mākaukau nā mea āpau. No ka hoʻokō ʻana i kēia, pono mākou e hana i kahi hōʻailona wikiō e like me ka mea i hōʻike ʻia ma lalo nei, e hiki ai i ka polokalamu kele ke koho i kāna ʻano makemake - AV1 - >> VP9 - >> H.264. ʻAe, inā he mea kahiko loa ka mea hoʻohana a i ʻole ka mea hoʻokele i kākoʻo ʻole i ke wikiō (ʻaʻole paha me H264), a laila e ʻike wale ʻo ia i ka 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>

Hana ʻia o AV1

Maʻalahi ka hana ʻana i nā wikiō ma AV1. Hoʻoiho i ka hana ffmpeg hou loa no kāu ʻōnaehana mai ʻaneʻi a hoʻohana i nā kauoha ma lalo nei. Hoʻohana mākou i 2 mau ala e hoʻokō ai i ka bitrate. No ka hana ʻana i kēia, e holo mākou i ka ffmpeg ʻelua. ʻO ka manawa mua mākou e kākau i ka hopena i kahi faila ʻole. E hana kēia i kahi log e pono ai no ka holo lua o 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

Eia ka wehe ʻana o nā ʻāpana:

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

Ke hana nei i kahi GIF

No ka hana ʻana i ka GIF ua hoʻohana au i ke kauoha ma lalo nei. No ka hōʻemi ʻana i ka nui, ua hoʻonui au i ka GIF i 720px ākea a me 12 fps ma kahi o ka wikiō 24 fps mua.

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

Nā hopena hōʻike

ʻOi aku ka maikaʻi o ka ʻike hoʻokahi ma mua o ka heluhelu ʻana i hoʻokahi haneli, ʻeā? E hōʻoia i ka AV1 ka koho kūpono no kā mākou mau kumu. Ua lawe au i ka wikiō Tears Of Steel manuahi i loaʻa ma aneʻi https://mango.blender.org/, a hoʻololi iā ia me ka hoʻohana ʻana i ka bitrate like no nā codecs AV1, VP9, ​​​​H.264. Aia ma lalo nā hopena i hiki iā ʻoe ke hoʻohālikelike iā lākou no ʻoe iho.

Nānā 1: Inā ʻaʻole i hoʻouka ʻia ka faila ma lalo nei iā ʻoe, ʻo ia paha ka manawa e hoʻonui ai i kāu polokalamu kele pūnaewele. Manaʻo wau i kahi polokalamu kele pūnaewele Chromium e like me Chrome, Vivaldi, Brave a i ʻole Opera. Eia ka ʻike hou loa e pili ana i ke kākoʻo AV1 https://caniuse.com/#feat=av1

Nānā 2: No Firefox 66 ma Linux pono ʻoe e kau i ka hae media.av1.enabled i ke ano true в about:config

Nānā 3: Ua hoʻoholo wau ʻaʻole e hoʻokomo i nā GIF maʻamau ma lalo no ko lākou nui nui a me ka nui o ka ʻikepili e pono ai e hoʻouka i kēia ʻaoʻao! (He mea hoʻohenehene kēia, no ka mea e pili ana kēia ʻaoʻao i ka hōʻemi ʻana i ka nui o ka ʻikepili ma kahi ʻaoʻao :)). Akā hiki iā ʻoe ke ʻike i nā GIF hope loa ma aneʻi https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

ʻŌlelo a ka mea unuhi: ʻAʻole ʻae ʻo Habr iā ʻoe e ʻae i ka autoplay a hoʻopaʻa i ka faila, no laila hiki iā ʻoe ke loiloi i ka maikaʻi. Hiki iā ʻoe ke ʻike i ke ʻano o ke ʻano o nā "kiʻi animated". ʻatikala kumu.

Nānā 1 @ 200 Kbps

Nui ka neʻe ʻana ma ʻaneʻi, ʻoi aku ka maʻalahi i nā bitrates haʻahaʻa. Hiki iā ʻoe ke ʻike koke i ka hewa o ka H.264 ma kēia bitrate, ʻike koke ʻia nā ʻāpana. Hoʻomaikaʻi iki ʻo VP9 i ke kūlana, akā ʻike mau ʻia nā ʻāpana. Lanakila ʻo AV1, e hana ana i kahi kiʻi ʻoi aku ka maikaʻi.

H.264

VP9

AV1

Nānā 2 @ 200 Kbps

Nui nā maʻiʻo CGI translucent ma aneʻi. ʻAʻole ʻokoʻa nā hopena e like me ka manawa hope, akā ʻoi aku ka maikaʻi o ka AV1.

H.264

VP9

AV1

Nānā 3 @ 100 Kbps

Ma kēia hiʻohiʻona, hoʻohuli mākou i ka bitrate i 100 Kbps a paʻa nā hopena. Mālama ʻo AV1 i kāna alakaʻi ʻana me nā bitrates haʻahaʻa!

H.264

VP9

AV1

ʻO Cherry ma ka pōpō

No ka hoʻopau ʻana i kēia ʻatikala ma ka manaʻo ʻana i ka nui o ka bandwidth i mālama ʻia e like me GIF - ʻoi aku ka nui o ka nui o nā wikiō āpau... 1.62 MB!! Akau. He 1,708,032 bytes! No ka hoʻohālikelike, eia nā nui wikiō GIF a me AV1 no kēlā me kēia hiʻohiʻona

GIF
AV1

Nānā 1
11.7 MB
0.33 MB

Nānā 2
7.27 MB
0.18 MB

Nānā 3
5.62 MB
0.088 MB

Kahaha wale! ʻAʻole anei?

'Ōlelo Aʻo: ʻAʻole hāʻawi ʻia nā nui faila o VP9 a me H264, no ka mea, ʻaʻole like lākou me AV1 ma muli o ka hoʻohana ʻana i ka bitrate like. He mea ʻoi aku ka maikaʻi o ka hoʻohui ʻana i ʻelua kolamu me nā nui like, e hōʻike wale i ka hana ʻana o kēia mau codec i ka maikaʻi ʻoi aku ka maikaʻi ma mua o GIF ma nā liʻiliʻi liʻiliʻi.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka