GIFని AV1 వీడియోతో భర్తీ చేయడానికి ఇది సమయం

GIFని AV1 వీడియోతో భర్తీ చేయడానికి ఇది సమయం

ఇది 2019 మరియు మేము GIFలను నిర్ణయించే సమయం ఆసన్నమైంది (లేదు, మేము ఈ నిర్ణయం గురించి మాట్లాడటం లేదు! మేము ఇక్కడ ఎప్పటికీ అంగీకరించము! - ఇక్కడ మేము ఆంగ్లంలో ఉచ్చారణ గురించి మాట్లాడుతున్నాము, మాకు ఇది సంబంధితమైనది కాదు - సుమారు. అనువాదం) GIFలు పెద్ద మొత్తంలో స్థలాన్ని తీసుకుంటాయి (సాధారణంగా అనేక మెగాబైట్లు!), మీరు వెబ్ డెవలపర్ అయితే, మీ కోరికలకు పూర్తిగా విరుద్ధంగా ఉంటుంది! వెబ్ డెవలపర్‌గా, మీరు వినియోగదారులు డౌన్‌లోడ్ చేయాల్సిన అంశాలను తగ్గించాలనుకుంటున్నారు, తద్వారా సైట్ త్వరగా లోడ్ అవుతుంది. అదే కారణంతో, మీరు జావాస్క్రిప్ట్‌ను కనిష్టీకరించండి, PNG, JPEGని ఆప్టిమైజ్ చేయండి మరియు కొన్నిసార్లు మార్చండి JPEG నుండి WebP. అయితే పాత GIFతో ఏమి చేయాలి?

మేము ఎక్కడికి వెళ్తున్నామో మాకు GIFలు అవసరం లేదు!

సైట్ లోడింగ్ వేగాన్ని మెరుగుపరచడమే మీ లక్ష్యం అయితే, మీరు GIFలను వదిలించుకోవాలి! అయితే మీరు యానిమేటెడ్ చిత్రాలను ఎలా తయారు చేస్తారు? సమాధానం వీడియో. మరియు చాలా సందర్భాలలో, మీరు మెరుగైన నాణ్యత మరియు 50-90% స్పేస్ ఆదా పొందుతారు! జీవితంలో, చాలా విషయాలు వాటి లాభాలు మరియు నష్టాలను కలిగి ఉంటాయి. మీరు GIFని వీడియోతో భర్తీ చేసినప్పుడు, చాలా తరచుగా మీరు ఎటువంటి నష్టాలను కనుగొనలేరు.

అన్ని GIFలతో డౌన్!

అదృష్టవశాత్తూ, GIFలను వీడియోలతో భర్తీ చేయడం ఇటీవలి సంవత్సరాలలో సర్వసాధారణం, కాబట్టి అవసరమైన అన్ని సాధనాలు ఇప్పటికే వాడుకలో ఉన్నాయి. ఈ పోస్ట్‌లో, నేను చక్రాన్ని తిరిగి ఆవిష్కరించను, కానీ ఇప్పటికే ఉన్న పరిష్కారాలను కొద్దిగా మెరుగుపరుస్తాను. కాబట్టి ఇక్కడ సారాంశం ఉంది:

  1. GIFని తీసుకొని దానిని వీడియోగా మార్చండి
  2. H.264 లేదా VP9ని ఉపయోగించి వీడియోను ఎన్కోడ్ చేయండి, అనగా. దానిని కుదించండి మరియు MP4 లేదా WebM కంటైనర్‌లో ప్యాక్ చేయండి
  3. భర్తీ చేయండి <img> యానిమేటెడ్ GIF ఆన్‌తో <video> రోలర్ తో
  4. GIF ప్రభావం కోసం సౌండ్ మరియు లూప్ లేకుండా ఆటోప్లే ఆన్ చేయండి

ప్రక్రియను వివరించే మంచి డాక్యుమెంటేషన్ Google వద్ద ఉంది.

ఇది 2019

ఇప్పుడు 2019. పురోగతి ముందుకు సాగుతుంది మరియు మనం దానిని కొనసాగించాలి. ఇప్పటివరకు మేము అన్ని బ్రౌజర్‌లు మరియు వీడియో ఎన్‌కోడింగ్ సాధనాల్లో విస్తృతంగా మద్దతునిచ్చే రెండు కోడెక్ ఎంపికలను కలిగి ఉన్నాము:

  1. H.264 - 2003లో ప్రవేశపెట్టబడింది మరియు నేడు అత్యంత విస్తృతంగా ఉపయోగించబడుతుంది
  2. VP9 - 2013లో కనిపించింది మరియు H.50తో పోలిస్తే దాదాపు 264% కుదింపు మెరుగుదలలను సాధించింది, అయినప్పటికీ వారు ఇక్కడ వ్రాసినట్లు ప్రతిదీ ఎప్పుడూ అంత రోజీగా ఉండదు

గమనిక: H.265 అనేది H.264 యొక్క తదుపరి వెర్షన్ మరియు VP9తో పోటీపడే సామర్థ్యాన్ని కలిగి ఉన్నప్పటికీ, పేజీలో చూపిన విధంగా, పేలవమైన బ్రౌజర్ మద్దతు కారణంగా నేను దానిని పరిగణించను https://caniuse.com/#feat=hevc. H.265 H.264 వలె విస్తృతంగా వ్యాపించకపోవడానికి మరియు AV1 అనే రాయల్టీ రహిత కోడెక్‌తో అలయన్స్ ఆఫ్ ఓపెన్ మీడియా కన్సార్టియం ఎందుకు పని చేస్తోంది అనేదానికి లైసెన్సింగ్ ఖర్చులు ప్రధాన కారణం.

గుర్తుంచుకోండి, లోడ్ అయ్యే సమయాన్ని వేగవంతం చేయడానికి భారీ GIFలను సాధ్యమైనంత చిన్న పరిమాణానికి కుదించడమే మా లక్ష్యం. మా ఆయుధశాలలో వీడియో కంప్రెషన్ కోసం కొత్త ప్రమాణం లేకుంటే అది 2019లో వింతగా ఉంటుంది. కానీ అది ఉనికిలో ఉంది మరియు దీనిని AV1 అని పిలుస్తారు. AV1తో మీరు చేయవచ్చు VP30తో పోల్చితే కుదింపులో సుమారు 9% మెరుగుదలని సాధించండి. లేపోటా! 🙂

AV1 2019 నుండి మీ సేవలో ఉంది!

డెస్క్‌టాప్‌లపై

డెస్క్‌టాప్ వెర్షన్‌లకు ఇటీవల AV1 వీడియో డీకోడింగ్‌కు మద్దతు జోడించబడింది Google Chrome 70 и మొజిల్లా ఫైర్ఫాక్స్. ప్రస్తుతం Firefox మద్దతు బగ్గీగా ఉంది మరియు క్రాష్‌లకు కారణమవుతుంది, అయితే దీని జోడింపుతో విషయాలు మెరుగుపడాలి dav1d డీకోడర్ ఇప్పటికే Firefox 67లో ఉంది (ఇప్పటికే విడుదలైంది, కానీ మద్దతు కనిపించింది - సుమారు అనువాదం.). కొత్త వెర్షన్ గురించి వివరాల కోసం చదవండి - dav1d 0.3.0 విడుదల: మరింత వేగంగా!

స్మార్ట్ఫోన్లలో

తగిన డీకోడర్‌లు లేకపోవడం వల్ల స్మార్ట్‌ఫోన్‌లకు ప్రస్తుతం హార్డ్‌వేర్ మద్దతు లేదు. మీరు సాఫ్ట్‌వేర్ డీకోడింగ్ చేయవచ్చు, అయినప్పటికీ ఇది బ్యాటరీ వినియోగాన్ని పెంచుతుంది. AV1 హార్డ్‌వేర్ డీకోడింగ్‌కు మద్దతు ఇచ్చే మొదటి మొబైల్ SOCలు 2020లో కనిపిస్తాయి.

ఆపై కథనం యొక్క పాఠకులు ఇలా ఉన్నారు, "కాబట్టి మొబైల్ ఫోన్‌లు ఇంకా సరిగ్గా మద్దతు ఇవ్వకపోతే, AV1 ఎందుకు ఉపయోగించాలి?"

AV1 అనేది చాలా కొత్త కోడెక్, మరియు మేము దాని అనుసరణ ప్రారంభంలోనే ఉన్నాము. ఈ కథనాన్ని "మీరు వంట చేస్తున్నప్పుడు, ప్రేక్షకులు అనుసరిస్తారు" దశగా భావించండి. డెస్క్‌టాప్ మద్దతు కొంత మంది ప్రేక్షకులకు సైట్‌లను వేగవంతం చేస్తుంది. మరియు లక్ష్య పరికరంలో AV1 మద్దతు లేనప్పుడు పాత కోడెక్‌లను ఫాల్‌బ్యాక్ దృష్టాంతంగా ఉపయోగించవచ్చు. కానీ వినియోగదారులు AV1 మద్దతుతో పరికరాలకు మారినప్పుడు, ప్రతిదీ సిద్ధంగా ఉంటుంది. దీన్ని సాధించడానికి, మేము దిగువ చూపిన విధంగా వీడియో ట్యాగ్‌ని సృష్టించాలి, ఇది బ్రౌజర్‌ని దాని ప్రాధాన్య ఆకృతిని ఎంచుకోవడానికి అనుమతిస్తుంది - AV1 - >> VP9 - >> H.264. సరే, వినియోగదారుకు చాలా పాత పరికరం లేదా నావిగేటర్ ఉంటే అది వీడియోకు అస్సలు మద్దతు ఇవ్వదు (ఇది H264తో చాలా అసంభవం), అప్పుడు అతను 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>

AV1 సృష్టి

AV1లో వీడియోలను సృష్టించడం సులభం. మీ సిస్టమ్ కోసం తాజా ffmpeg బిల్డ్‌ను ఇక్కడ నుండి డౌన్‌లోడ్ చేసుకోండి మరియు దిగువ ఆదేశాలను ఉపయోగించండి. లక్ష్య బిట్‌రేట్‌ను సాధించడానికి మేము 2 పాస్‌లను ఉపయోగిస్తాము. దీన్ని చేయడానికి మేము రెండుసార్లు ffmpegని అమలు చేస్తాము. మేము మొదటి సారి ఫలితాన్ని ఉనికిలో లేని ఫైల్‌కి వ్రాస్తాము. ఇది 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

పారామితుల విచ్ఛిన్నం ఇక్కడ ఉంది:

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

GIFలను తయారు చేస్తోంది

GIFని సృష్టించడానికి నేను దిగువ ఆదేశాన్ని ఉపయోగించాను. పరిమాణాన్ని తగ్గించడానికి, నేను అసలు 720 fps వీడియోకి బదులుగా GIFని 12px వెడల్పు మరియు 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

పరీక్ష ఫలితాలు

వందసార్లు చదవడం కంటే ఒకసారి చూడటం మంచిది, కాదా? మా ప్రయోజనాల కోసం AV1 సరైన ఎంపిక అని నిర్ధారించుకోండి. నేను ఇక్కడ అందుబాటులో ఉన్న ఉచిత టియర్స్ ఆఫ్ స్టీల్ వీడియోని తీసుకున్నాను https://mango.blender.org/, మరియు AV1, VP9, ​​H.264 కోడెక్‌ల కోసం దాదాపు అదే బిట్‌రేట్‌ని ఉపయోగించి మార్చబడింది. ఫలితాలు క్రింద ఉన్నాయి కాబట్టి మీరు వాటిని మీ కోసం సరిపోల్చుకోవచ్చు.

గమనిక 1: దిగువ ఫైల్ మీ కోసం లోడ్ కాకపోతే, మీ బ్రౌజర్‌ను అప్‌డేట్ చేయడానికి ఇది సమయం కావచ్చు. నేను Chrome, Vivaldi, Brave లేదా Opera వంటి Chromium ఆధారిత బ్రౌజర్‌ని సిఫార్సు చేస్తాను. AV1 మద్దతుపై తాజా సమాచారం ఇక్కడ ఉంది https://caniuse.com/#feat=av1

గమనిక 2: Linuxలో Firefox 66 కోసం మీరు ఫ్లాగ్‌ను సెట్ చేయాలి media.av1.enabled అర్థం లోకి true в about:config

గమనిక 3: సాధారణ GIFలను వాటి పెద్ద పరిమాణం మరియు ఈ పేజీని లోడ్ చేయడానికి అవసరమైన డేటా మొత్తం కారణంగా దిగువన చేర్చకూడదని నేను నిర్ణయించుకున్నాను! (ఇది హాస్యాస్పదంగా ఉంటుంది, ఎందుకంటే ఈ పేజీ పేజీలోని డేటా మొత్తాన్ని తగ్గించడం గురించి :)). కానీ మీరు ఇక్కడ చివరి GIFలను చూడవచ్చు https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

అనువాదకుని గమనిక: ఫైల్‌ను ఆటోప్లే చేయడానికి మరియు లూప్ చేయడానికి Habr మిమ్మల్ని అనుమతించదు, కాబట్టి మీరు నాణ్యతను మాత్రమే అంచనా వేయగలరు. "యానిమేటెడ్ చిత్రాలు" ప్రత్యక్షంగా ఎలా కనిపిస్తాయో మీరు చూడవచ్చు అసలు వ్యాసం.

దృశ్యం 1 @ 200 Kbps

ఇక్కడ చాలా కదలికలు ఉన్నాయి, ఇది తక్కువ బిట్రేట్ల వద్ద ముఖ్యంగా సున్నితంగా ఉంటుంది. ఈ బిట్‌రేట్‌లో H.264 ఎంత చెడ్డదో మీరు వెంటనే చూడవచ్చు; చతురస్రాలు వెంటనే కనిపిస్తాయి. VP9 పరిస్థితిని కొద్దిగా మెరుగుపరుస్తుంది, కానీ చతురస్రాలు ఇప్పటికీ కనిపిస్తాయి. AV1 స్పష్టంగా గెలుస్తుంది, స్పష్టంగా మెరుగైన చిత్రాన్ని రూపొందించింది.

H.264

VP9

AV1

దృశ్యం 2 @ 200 Kbps

ఇక్కడ చాలా అపారదర్శక CGI కంటెంట్ ఉంది. ఫలితాలు చివరిసారిగా భిన్నంగా లేవు, కానీ మొత్తంగా AV1 మెరుగ్గా కనిపిస్తోంది.

H.264

VP9

AV1

దృశ్యం 3 @ 100 Kbps

ఈ దృశ్యంలో, మేము బిట్‌రేట్‌ను 100 Kbpsకి తగ్గిస్తాము మరియు ఫలితాలు స్థిరంగా ఉంటాయి. AV1 తక్కువ బిట్రేట్ల వద్ద కూడా తన నాయకత్వాన్ని కొనసాగిస్తుంది!

H.264

VP9

AV1

కేక్ మీద చెర్రీ

GIFతో పోలిస్తే బ్యాండ్‌విడ్త్ మొత్తం సేవ్ చేయబడిందని భావించడం ద్వారా ఈ కథనాన్ని పూర్తి చేయడానికి - అన్ని వీడియోల మొత్తం పరిమాణం ఎక్కువగా ఉంది... 1.62 MB!! కుడి. కొన్ని ఫకింగ్ 1,708,032 బైట్లు! పోలిక కోసం, ప్రతి సన్నివేశం కోసం GIF మరియు AV1 వీడియో పరిమాణాలు ఇక్కడ ఉన్నాయి

GIF
AV1

దృశ్యం 1
11.7 MB
0.33 MB

దృశ్యం 2
7.27 MB
0.18 MB

దృశ్యం 3
5.62 MB
0.088 MB

కేవలం అద్భుతమైన! అది కాదా?

గమనిక: VP9 మరియు H264 ఫైల్ పరిమాణాలు ఇవ్వబడలేదు, ఎందుకంటే అవి ఒకే బిట్‌రేట్‌ని ఉపయోగించడం వలన AV1 నుండి ఆచరణాత్మకంగా భిన్నంగా లేవు. ఈ కోడెక్‌లు చాలా చిన్న ఫైల్ పరిమాణాలలో GIF కంటే మెరుగైన నాణ్యతను ఉత్పత్తి చేస్తాయని హైలైట్ చేయడానికి, ఒకే పరిమాణాలతో మరో రెండు నిలువు వరుసలను జోడించడం అనవసరం.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి