Соли 2019 аст ва вақти он расидааст, ки мо дар бораи GIF-ҳо тасмим гирифтем (
Мо ба GIF-ҳо дар куҷое, ки меравем, лозим нест!
Агар ҳадафи шумо беҳтар кардани суръати боркунии сайт бошад, пас шумо бояд аз GIFҳо халос шавед! Аммо чӣ тавр шумо тасвирҳои аниматсионӣ эҷод мекунед? Ҷавоб видео аст. Ва дар аксари ҳолатҳо, шумо 50-90% сифат ва фазои беҳтарро сарфа мекунед! Дар зиндагӣ, аксари чизҳо мусбат ва манфии худро доранд. Вақте ки шумо GIF-ро бо видео иваз мекунед, аксар вақт шумо ҳеҷ гуна камбудиҳоро ёфта наметавонед.
Бо ҳама GIFҳо!
Хушбахтона, иваз кардани GIF-ҳо бо видео дар солҳои охир маъмул буд, аз ин рӯ ҳама асбобҳои зарурӣ аллакай истифода мешаванд. Дар ин паём, ман чархро аз нав ихтироъ намекунам, балки танҳо каме ҳалли мавҷударо такмил медиҳам. Пас, ин аст мухтасар:
- GIF гиред ва онро ба видео табдил диҳед
- Видеоро бо истифода аз H.264 ё VP9 рамзгузорӣ кунед, яъне. онро фишурда кунед ва ба контейнери MP4 ё WebM гузоред
- Иваз кардан
<img>
бо GIF аниматсионии фаъол<video>
бо ролик - Барои эффекти GIF бе садо ва ҳалқаи худкор навозишро фаъол созед
Соли 2019 аст
Ҳоло соли 2019 аст. Пешравй пеш меравад ва мо бояд бо он пеш равем. То ба ҳол мо ду варианти кодек дорем, ки дар тамоми браузерҳо ва абзорҳои рамзгузории видео ба таври васеъ дастгирӣ мешаванд:
- H.264 - соли 2003 ҷорӣ карда шуда, имрӯз бештар истифода мешавад
- VP9 - дар соли 2013 пайдо шуд ва дар муқоиса бо H.50 тақрибан 264% беҳбуди фишурда ба даст овард, ҳарчанд
чунон ки дар ин чо менависанд на ҳама чиз на ҳамеша ин қадар гулобӣ аст
Эзоҳ: Гарчанде ки H.265 версияи навбатии H.264 аст ва қодир аст бо VP9 рақобат кунад, ман онро аз сабаби дастгирии сусти браузер, тавре ки дар саҳифа нишон дода шудааст, ҳисоб намекунам.
Дар хотир доред, ки ҳадафи мо ин аст, ки GIF-ҳои азимро ба андозаи хурдтарини имконпазир коҳиш диҳед, то вақти боркуниро суръат бахшед. Агар мо дар арсеналамон стандарти нави фишурдани видео намедоштем, соли 2019 аҷиб мебуд. Аммо он вуҷуд дорад ва AV1 номида мешавад. Бо AV1 шумо метавонед
AV1 аз соли 2019 дар хидмати шумост!
Дар мизи корӣ
Ба наздикӣ дастгирии рамзгузории видеои AV1 ба версияҳои мизи корӣ илова карда шуд
Дар смартфонҳо
Дар айни замон аз сабаби набудани декодерҳои мувофиқ барои смартфонҳо дастгирии сахтафзор мавҷуд нест. Шумо метавонед рамзгузории нармафзорро иҷро кунед, гарчанде ки ин боиси афзоиши истеъмоли батарея мегардад. Аввалин SOC-ҳои мобилӣ, ки рамзгузории сахтафзори AV1-ро дастгирӣ мекунанд, дар соли 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 осон аст.
# 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 ман фармони зерро истифода кардам. Барои кам кардани андоза, ман GIF-ро ба андозаи 720 пиксел ва ба ҷои видеои аслии 12 кадр / сония 24 кадри сония васеъ кардам.
./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 барои мақсадҳои мо интихоби дуруст аст. Ман видеои ройгони Tears Of Steel-ро дар ин ҷо дастрас кардам
Эзоҳ 1: Агар файли зер барои шумо бор накунад, шояд вақти навсозии браузери шумо расидааст. Ман як браузери асоси Chromium ба монанди Chrome, Vivaldi, Brave ё Opera тавсия медиҳам. Ин аст маълумоти охирин дар бораи дастгирии AV1
Эзоҳ 2: Барои Firefox 66 дар Linux шумо бояд парчамро насб кунед media.av1.enabled
ба маъно true
в about:config
Эзоҳ 3: Ман тасмим гирифтам, ки GIF-ҳои муқаррариро дар зер дохил накунам, зеро андозаи онҳо ва миқдори маълумоте, ки барои бор кардани ин саҳифа лозим аст! (Ин хандаовар мебуд, зеро ин саҳифа дар бораи кам кардани миқдори маълумот дар саҳифа аст :)). Аммо шумо метавонед GIF-ҳои ниҳоиро дар ин ҷо бубинед
Шарҳи тарҷумон: Habr ба шумо имкон намедиҳад, ки худкор бозӣ ва гардиши файлро фаъол созед, аз ин рӯ шумо танҳо сифатро арзёбӣ карда метавонед. Шумо метавонед бубинед, ки "тасвирҳои аниматсионӣ" дар зинда чӣ гуна хоҳанд буд
Саҳнаи 1 @ 200 Кбит/с
Дар ин ҷо ҳаракат хеле зиёд аст, ки махсусан дар суръати паст ҳассос аст. Шумо метавонед фавран бубинед, ки H.264 дар ин бит чӣ қадар бад аст; квадратҳо фавран намоён мешаванд. VP9 вазъиятро андаке бехтар мекунад, вале майдонхо хануз намоёнанд. AV1 ба таври возеҳ ғолиб меояд ва тасвири баръало беҳтареро ба вуҷуд меорад.
H.264
VP9
AV1
Саҳнаи 2 @ 200 Кбит/с
Дар ин ҷо миқдори зиёди мундариҷаи шаффоф CGI мавҷуд аст. Натиҷаҳо аз замони гузашта фарқ намекунанд, аммо дар маҷмӯъ AV1 беҳтар ба назар мерасад.
H.264
VP9
AV1
Саҳнаи 3 @ 100 Кбит/с
Дар ин саҳна, мо суръати битро то 100 Кбит / сония коҳиш медиҳем ва натиҷаҳо мувофиқанд. AV1 ҳатто дар суръати паст пешсафи худро нигоҳ медорад!
H.264
VP9
AV1
Гелос дар торт
Барои ба итмом расонидани ин мақола бо эҳсоси ҳаҷми маҷрои сарфашуда дар муқоиса бо GIF - андозаи умумии ҳамаи видеоҳо баландтар аст... 1.62 МБ!! Дуруст. Баъзе 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 бо андозаи хеле хурдтари файл сифати хеле беҳтар истеҳсол мекунанд.
Манбаъ: will.com