اهو وقت آهي GIF کي AV1 وڊيو سان تبديل ڪرڻ جو

اهو وقت آهي GIF کي AV1 وڊيو سان تبديل ڪرڻ جو

اهو 2019 آهي ۽ اهو وقت آهي جيڪو اسان GIFs تي فيصلو ڪيو (نه، اسان هن فيصلي بابت نه ڳالهائي رهيا آهيون! اسان هتي ڪڏهن به اتفاق نه ڪنداسين! - هتي اسان انگريزيء ۾ تلفظ جي باري ۾ ڳالهائي رهيا آهيون، اسان لاء اهو لاڳاپيل ناهي - تقريبا. ترجمو). GIFs هڪ وڏي مقدار ۾ جاء وٺندو آهي (عام طور تي ڪيترائي ميگا بائيٽ!)، جيڪو، جيڪڏهن توهان ويب ڊولپر آهيو، مڪمل طور تي توهان جي خواهش جي برخلاف آهي! ويب ڊولپر جي طور تي، توهان انهن شين کي گهٽائڻ چاهيو ٿا جيڪي صارفين کي ڊائون لوڊ ڪرڻ گهرجن ته جيئن سائيٽ جلدي لوڊ ٿئي. ساڳئي سبب لاء، توهان جاوا اسڪرپٽ کي گهٽايو، PNG، JPEG، ۽ ڪڏهن ڪڏهن تبديل ڪريو JPEG کان ويب پي. پر پراڻي GIF سان ڇا ڪجي؟

اسان کي GIFs جي ضرورت نه پوندي جتي اسان وڃي رهيا آهيون!

جيڪڏهن توهان جو مقصد سائيٽ جي لوڊشيڊنگ جي رفتار کي بهتر بڻائڻ آهي، ته توهان کي GIFs کان نجات حاصل ڪرڻ جي ضرورت آهي! پر پوءِ توهان متحرڪ تصويرون ڪيئن ٺاهيو؟ جواب آهي وڊيو. ۽ اڪثر ڪيسن ۾، توهان 50-90٪ جي بهتر معيار ۽ خلائي بچت حاصل ڪندا! زندگي ۾، اڪثر شيون انهن جا فائدا ۽ نقصان آهن. جڏهن توهان GIF کي وڊيو سان تبديل ڪندا آهيو، اڪثر ڪري توهان ڪنهن به نقصان کي ڳولڻ جي قابل نه هوندا.

سڀني GIFs سان گڏ!

خوش قسمت، ويڊيوز سان GIFs کي تبديل ڪرڻ تازو سالن ۾ عام ٿي چڪو آهي، تنهنڪري سڀ ضروري اوزار اڳ ۾ ئي استعمال ۾ آهن. هن پوسٽ ۾، مان سائيڪل کي ٻيهر نه آڻيندس، پر صرف موجوده حلن کي ٿورو بهتر ڪندس. تنهنڪري هتي جو خلاصو آهي:

  1. هڪ GIF وٺو ۽ ان کي وڊيو ۾ تبديل ڪريو
  2. H.264 يا VP9 استعمال ڪندي وڊيو کي انڪوڊ ڪريو، يعني ان کي دٻايو ۽ ان کي ايم پي 4 يا ويب ايم ڪنٽينر ۾ پيڪ ڪريو
  3. بدلائڻ <img> متحرڪ GIF سان گڏ <video> رولر سان
  4. GIF اثر لاءِ آواز ۽ لوپ کان سواءِ آٽوپلي کي چالو ڪريو

گوگل وٽ سٺي دستاويز آهي عمل کي بيان ڪندي.

اهو 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 سان ڪم ڪري رهيو آهي.

ياد رکو، اسان جو مقصد تمام وڏي GIFs کي ننڍي ممڪن سائيز تائين گھٽائڻ آھي لوڊشيڊنگ جي وقت کي تيز ڪرڻ لاءِ. اهو هڪ عجيب 2019 هوندو جيڪڏهن اسان وٽ اسان جي هٿيارن ۾ ويڊيو کمپريشن لاء نئون معيار نه هوندو. پر اهو موجود آهي ۽ AV1 سڏيو ويندو آهي. AV1 سان توهان ڪري سگهو ٿا VP30 جي مقابلي ۾ تقريباً 9 سيڪڙو بهتري حاصل ڪريو. ليپوتا! 🙂

AV1 توهان جي خدمت ۾ آهي 2019 کان!

ڊيسڪ ٽاپ تي

تازو AV1 وڊيو ڊيڪوڊنگ لاءِ سپورٽ ڊيسڪ ٽاپ ورزن ۾ شامل ڪئي وئي Google Chrome 70 и Mozilla فائر فاکس 65. في الحال فائر فاڪس سپورٽ بگي آهي ۽ حادثن جو سبب بڻجي سگهي ٿي، پر شين جي اضافي سان بهتر ٿيڻ گهرجي dav1d ڊيڪوڊر اڳ ۾ ئي فائر فاکس 67 ۾ (اڳ ۾ ئي جاري، پر حمايت ظاهر ٿيو آهي - لڳ ڀڳ ترجمو.). نئين ورجن بابت تفصيل لاءِ پڙهو- dav1d 0.3.0 رليز: اڃا به تيز!

اسمارٽ فونز تي

هن وقت سمارٽ فونز لاءِ هارڊويئر سپورٽ موجود ناهي ڇاڪاڻ ته مناسب ڊيڪوڊرز جي کوٽ جي ڪري. توهان سافٽ ويئر ڊيڪوڊنگ ڪري سگهو ٿا، جيتوڻيڪ اهو وڌائيندو بيٽري جو استعمال. AV1 هارڊويئر ڊيڪوڊنگ کي سپورٽ ڪندڙ پهريون موبائل SOCs 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 - Включаем быстрый старт видео, перемещая часть данных в начало файла. Это позволит начать воспроизведение ещё до полной загрузка файла.

GIFs ٺاهڻ

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: جيڪڏھن ھيٺ ڏنل فائل توھان لاءِ لوڊ نه ٿي ٿئي، اھو ٿي سگھي ٿو توھان جي برائوزر کي اپڊيٽ ڪرڻ جو وقت. مان سفارش ڪندس Chromium تي ٻڌل برائوزر جهڙوڪ ڪروم، Vivaldi، Brave يا Opera. هتي AV1 سپورٽ تي تازي معلومات آهي https://caniuse.com/#feat=av1

نوٽ 2: لينڪس تي فائر فاکس 66 لاءِ توهان کي پرچم قائم ڪرڻ جي ضرورت پوندي media.av1.enabled معنيٰ ۾ true в about:config

نوٽ 3: مون فيصلو ڪيو آهي ته هيٺ ڏنل باقاعده GIFs شامل نه ڪرڻ جي ڪري انهن جي وڏي سائيز ۽ ڊيٽا جي مقدار جي ڪري ان کي هن صفحي کي لوڊ ڪرڻ جي ضرورت پوندي! (جيڪو حيرت انگيز هوندو، ڇاڪاڻ ته هي صفحو هڪ صفحي تي ڊيٽا جي مقدار کي گهٽائڻ بابت آهي :)). پر توھان ڏسي سگھوٿا فائنل GIFs هتي https://github.com/singhkays/its-time-replace-gifs-with-av1-video/blob/master/GIFs

مترجم جو نوٽ: حبر توهان کي خودڪار طريقي سان فعال ڪرڻ ۽ فائل کي لوپ ڪرڻ جي اجازت نٿو ڏئي، تنهنڪري توهان صرف معيار جو اندازو لڳائي سگهو ٿا. توهان ڏسي سگهو ٿا ته ”متحرڪ تصويرون“ ڪهڙيون نظر اينديون رهن ٿيون اصل مضمون.

منظر 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 ساڄو. ڪجهه fucking 1,708,032 بائيٽ! مقابلي لاءِ، هتي آهن GIF ۽ AV1 وڊيو سائيز هر منظر لاءِ

GIF
AV1

منظر 1
11.7 ايم بي
0.33 ايم بي

منظر 2
7.27 ايم بي
0.18 ايم بي

منظر 3
5.62 ايم بي
0.088 ايم بي

بلڪل شاندار! آهي نه؟

نوٽ: VP9 ۽ H264 جون فائلون نه ڏنيون ويون آهن، ڇاڪاڻ ته اهي ساڳيا بٽريٽ جي استعمال جي ڪري عملي طور تي AV1 کان مختلف نه آهن. ساڳئي سائيز سان ٻه وڌيڪ ڪالمن شامل ڪرڻ بيڪار ٿيندو، صرف ان ڳالهه کي اجاگر ڪرڻ لاءِ ته اهي ڪوڊيڪس تمام ننڍڙن فائلن جي سائزن تي GIF کان وڌيڪ بهتر معيار پيدا ڪن ٿا.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو