Nws yog lub sijhawm los hloov GIF nrog AV1 video

Nws yog lub sijhawm los hloov GIF nrog AV1 video

Nws yog 2019 thiab nws yog lub sijhawm peb txiav txim siab rau GIFs (tsis yog, peb tsis tau tham txog qhov kev txiav txim siab no! Peb yuav tsis pom zoo ntawm no! - ntawm no peb tab tom tham txog kev hais lus Askiv, rau peb qhov no tsis cuam tshuam - kwv yees. txhais lus). GIFs siv ntau qhov chaw (feem ntau yog ob peb megabytes!), uas, yog tias koj yog tus tsim lub vev xaib, yog qhov tsis sib xws rau koj lub siab nyiam! Raws li tus tsim tawm lub vev xaib, koj xav txo qis cov khoom uas cov neeg siv yuav tsum rub tawm kom lub vev xaib thauj khoom sai. Rau tib lub laj thawj, koj txo qis JavaScript, ua kom zoo dua PNG, JPEG, thiab qee zaum hloov pauv JPEG to WebP. Tab sis yuav ua li cas nrog GIF qub?

Peb yuav tsis xav tau GIFs qhov twg peb yuav mus!

Yog tias koj lub hom phiaj yog txhawm rau txhim kho qhov chaw thauj khoom ceev, ces koj yuav tsum tau tshem ntawm GIFs! Tab sis ua li cas koj thiaj li ua cov duab animated? Cov lus teb yog video. Thiab feem ntau, koj yuav tau txais qhov zoo dua thiab qhov chaw txuag ntawm 50-90%! Hauv lub neej, ntau yam muaj lawv qhov zoo thiab qhov tsis zoo. Thaum koj hloov GIF nrog video, feem ntau koj yuav tsis tuaj yeem pom qhov tsis zoo.

Nrog txhua GIFs!

Luckily, hloov GIFs nrog cov yeeb yaj kiab tau tshwm sim nyob rau xyoo tas los no, yog li tag nrho cov cuab yeej tsim nyog twb tau siv lawm. Nyob rau hauv no ncej, kuv yuav tsis reinvent lub log, tab sis tsuas yog me ntsis txhim kho cov kev daws teeb meem uas twb muaj lawm. Yog li ntawm no yog lub ntsiab lus:

  1. Siv GIF thiab hloov nws mus rau ib qho video
  2. Hloov cov yees duab siv H.264 lossis VP9, ​​​​ie. compress nws thiab ntim rau hauv MP4 lossis WebM thawv
  3. Hloov <img> nrog animated GIF rau <video> nrog rau cov menyuam
  4. Qhib autoplay yam tsis muaj suab thiab voj rau GIF nyhuv

Google muaj cov ntaub ntawv zoo piav txog cov txheej txheem.

Nws yog 2019

Nws yog 2019 tam sim no. Kev vam meej txav mus tom ntej, thiab peb yuav tsum ua raws li nws. Txog tam sim no peb tau muaj ob txoj kev xaiv codec uas tau txais kev txhawb nqa thoob plaws txhua qhov browsers thiab cov cuab yeej encoding video:

  1. H.264 - tau tshaj tawm xyoo 2003 thiab feem ntau siv niaj hnub no
  2. VP9 - tshwm sim hauv 2013 thiab ua tiav kev txhim kho compression ntawm yuav luag 50% piv rau H.264, txawm hais tias raws li lawv sau ntawm no tsis yog txhua yam tsis yog ib txwm muaj rosy

Nco ntsoov: Txawm hais tias H.265 yog tus tom ntej version ntawm H.264 thiab muaj peev xwm sib tw nrog VP9, ​​​​Kuv tsis xav txog nws vim qhov browser tsis zoo, raws li qhia hauv nplooj ntawv https://caniuse.com/#feat=hevc. Cov nqi ntawv tso cai yog qhov laj thawj tseem ceeb vim li cas H.265 tsis tau dhau los ua H.264 thiab yog vim li cas Alliance of Open Media consortium ua haujlwm nrog cov codec tsis muaj nuj nqis, AV1.

Nco ntsoov, peb lub hom phiaj yog kom txo qis GIFs loj rau qhov me me tshaj plaws kom ua kom lub sijhawm thauj khoom sai. Nws yuav yog ib qho txawv txawv 2019 yog tias peb tsis muaj tus qauv tshiab rau kev ua yeeb yaj kiab hauv peb lub arsenal. Tab sis nws muaj thiab hu ua AV1. Nrog AV1 koj tuaj yeem ua tiav kwv yees li 30% kev txhim kho hauv compression piv rau VP9. Lepota! 🙂

AV1 yog ntawm koj qhov kev pabcuam txij li xyoo 2019!

Hauv desktops

Tsis ntev los no kev txhawb nqa rau AV1 video decoding tau ntxiv rau desktop versions Google Chrome 70 и Mozilla Firefox 65. Tam sim no Firefox txhawb nqa yog buggy thiab tuaj yeem ua rau muaj kev sib tsoo, tab sis txhua yam yuav tsum txhim kho nrog qhov sib ntxiv ntawm dav 1d decoder twb nyob rau hauv Firefox 67 (twb tso tawm lawm, tab sis kev txhawb nqa tau tshwm sim - kwv yees. txhais.). Yog xav paub ntxiv txog tus tshiab version nyeem - dav1d 0.3.0 tso tawm: sai dua!

Hauv smartphones

Tam sim no tsis muaj kev txhawb nqa kho vajtse rau cov xov tooj smartphones vim tsis muaj cov decoders tsim nyog. Koj tuaj yeem ua software decoding, txawm tias qhov no yuav ua rau muaj roj teeb ntau ntxiv. Thawj SOCs txawb txhawb AV1 kho vajtse txiav txim siab yuav tshwm sim hauv 2020.

Thiab tom qab ntawd cov neeg nyeem ntawm tsab xov xwm zoo li, "yog li yog tias lub xov tooj ntawm tes tsis txhawb nqa nws zoo, vim li cas siv AV1?"

AV1 yog ib tug tshiab codec, thiab peb yog nyob rau hauv thaum pib ntawm nws adaptation. Xav txog tsab xov xwm no raws li "thaum koj ua noj, pawg neeg yuav ua raws" theem. Kev txhawb nqa Desktop hauv nws tus kheej yuav ua kom cov vev xaib nrawm rau qee cov neeg tuaj saib. Thiab cov codecs qub tuaj yeem siv los ua qhov kev poob qis thaum AV1 tsis txaus siab ntawm lub hom phiaj ntaus ntawv. Tab sis raws li cov neeg siv hloov mus rau cov khoom siv nrog kev txhawb nqa AV1, txhua yam yuav npaj txhij. Txhawm rau ua tiav qhov no, peb yuav tsum tau tsim ib daim ntawv teev video raws li qhia hauv qab no, uas yuav tso cai rau lub browser xaiv nws cov hom nyiam - AV1 -> VP9 -> H.264. Zoo, yog hais tias tus neeg siv muaj ib tug heev qub ntaus ntawv los yog navigator uas tsis txhawb video txhua (uas tsis zoo li H264), ces nws yuav cia li pom 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>

Tsim AV1

Tsim cov yeeb yaj duab hauv AV1 yog ib qho yooj yim. Download tau qhov tseeb ffmpeg tsim rau koj lub cev los ntawm no thiab siv cov lus txib hauv qab no. Peb siv 2 passes kom ua tiav lub hom phiaj bitrate. Ua li no peb yuav khiav ffmpeg ob zaug. Thawj zaug peb sau qhov tshwm sim rau cov ntaub ntawv tsis muaj nyob. Qhov no yuav tsim ib lub cav uas yuav xav tau rau kev khiav thib ob ntawm 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

Ntawm no yog ib qho kev faib ntawm cov parameter:

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

Ua GIFs

Txhawm rau tsim GIF Kuv siv cov lus txib hauv qab no. Txhawm rau txo qhov loj me, kuv tau ntsuas qhov GIF rau 720px dav thiab 12 fps es tsis yog thawj 24 fps video.

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

Ntsuas cov txiaj ntsig

Nws yog qhov zoo dua los pom ib zaug dua li nyeem ib puas zaug, txoj cai? Cia peb ua kom paub tseeb tias AV1 yog qhov kev xaiv zoo rau peb lub hom phiaj. Kuv muab cov yeeb yaj kiab Tears Of Steel pub dawb muaj nyob ntawm no https://mango.blender.org/, thiab hloov dua siab tshiab nws siv kwv yees li qub bitrate rau AV1, VP9, ​​​​H.264 codecs. Cov txiaj ntsig hauv qab no yog li koj tuaj yeem muab piv rau koj tus kheej.

Nco tseg 1: Yog tias cov ntaub ntawv hauv qab no tsis thauj khoom rau koj, nws yuav yog lub sijhawm los hloov kho koj tus browser. Kuv xav pom zoo rau Chromium raws li browser xws li Chrome, Vivaldi, Brave lossis Opera. Nov yog cov ntaub ntawv tshiab tshaj plaws ntawm AV1 kev txhawb nqa https://caniuse.com/#feat=av1

Nco tseg 2: Rau Firefox 66 ntawm Linux koj yuav tsum tau teeb tsa tus chij media.av1.enabled rau hauv lub ntsiab lus true в about:config

Nco tseg 3: Kuv tau txiav txim siab tsis suav nrog GIFs li niaj zaus hauv qab no vim lawv qhov loj me thiab cov ntaub ntawv nws xav tau kom thauj cov nplooj ntawv no! (uas yuav yog ironic, txij li nplooj ntawv no yog hais txog kev txo cov ntaub ntawv ntawm nplooj ntawv :)). Tab sis koj tuaj yeem pom GIFs kawg ntawm no https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

Tus neeg txhais lus ceeb toom: Habr tsis tso cai rau koj los ua kom autoplay thiab voj cov ntaub ntawv, yog li koj tsuas tuaj yeem ntsuas qhov zoo. Koj tuaj yeem pom dab tsi "cov duab animated" yuav zoo li nyob ntawm thawj tsab ntawv.

Scene 1 @ 200 Kbps

Muaj ntau lub zog ntawm no, uas yog tshwj xeeb tshaj yog rhiab ntawm tsawg bitrates. Koj tuaj yeem pom tam sim ntawd H.264 phem npaum li cas ntawm qhov bitrate no; squares pom tam sim ntawd. VP9 txhim kho qhov xwm txheej me ntsis, tab sis cov squares tseem pom. AV1 kom meej meej yeej, tsim ib daim duab pom tseeb zoo dua.

H.264

VP9

AV1

Scene 2 @ 200 Kbps

Muaj ntau cov ntsiab lus CGI translucent ntawm no. Cov txiaj ntsig tsis txawv li lub sijhawm dhau los, tab sis tag nrho AV1 zoo dua.

H.264

VP9

AV1

Scene 3 @ 100 Kbps

Hauv qhov xwm txheej no, peb tig tus nqi qis mus rau 100 Kbps thiab cov txiaj ntsig tau zoo ib yam. AV1 tuav nws cov thawj coj txawm tias tsawg bitrates!

H.264

VP9

AV1

Cherry ntawm lub ncuav mog qab zib

Txhawm rau ua kom tiav cov kab lus no los ntawm kev xav tias tus nqi bandwidth tau txais kev cawmdim piv rau GIF - tag nrho qhov loj ntawm tag nrho cov yeeb yaj kiab yog siab dua ... 1.62mb ua!! Txoj cai. Qee fucking 1,708,032 bytes! Rau kev sib piv, ntawm no yog GIF thiab AV1 video ntau thiab tsawg rau txhua qhov chaw

GIF
AV1

Scene 1
11.7 MB
0.33 MB

Scene 2
7.27 MB
0.18 MB

Scene 3
5.62 MB
0.088 MB

Tsuas yog stunning! Tsis yog nws?

Nco ntsoov: Cov ntaub ntawv ntau thiab tsawg ntawm VP9 thiab H264 tsis tau muab, vim lawv xyaum tsis txawv ntawm AV1 vim yog siv tib lub bitrate. Nws yuav tsis rov ua dua ntxiv rau ob kab ntxiv nrog qhov ntau thiab tsawg, tsuas yog los qhia tias cov codecs tsim tau zoo dua GIF ntawm ntau cov ntaub ntawv me me.

Tau qhov twg los: www.hab.com

Ntxiv ib saib