Π‘Π΅ΠΉΡΠ°Ρ 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 ΠΈ Π΄ΠΎΠ±ΠΈΠ²ΡΠΈΠΉΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΆΠ°ΡΠΈΡ ΠΏΠΎΡΡΠΈ Π½Π° 50% ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ H.264, Ρ
ΠΎΡΡ
ΠΊΠ°ΠΊ ΠΏΠΈΡΡΡ Π·Π΄Π΅ΡΡ Π½Π΅ Π²ΡΡ ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ ΡΠ°Π΄ΡΠΆΠ½ΠΎ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Ρ
ΠΎΡΡ ΡΡΠ°Π½Π΄Π°ΡΡ H.265 β ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ H.264 ΠΈ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Ρ VP9, Ρ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π΅Π³ΠΎ ΠΈΠ·-Π·Π° ΡΠ»Π°Π±ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π½Π°ΡΠ° ΡΠ΅Π»Ρ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ GIFΡ Π΄ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ. ΠΡΠΎ Π±ΡΠ» Π±Ρ ΡΡΡΠ°Π½Π½ΡΠΉ 2019 Π³ΠΎΠ΄, Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ Π² Π°ΡΡΠ΅Π½Π°Π»Π΅ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ. ΠΠΎ ΠΎΠ½ Π΅ΡΡΡ ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ AV1. Π‘ AV1 ΠΌΠΎΠΆΠ½ΠΎ
AV1 ΠΊ Π²Π°ΡΠΈΠΌ ΡΡΠ»ΡΠ³Π°ΠΌ Ρ 2019 Π³ΠΎΠ΄Π°!
ΠΠ° Π΄Π΅ΡΠΊΡΠΎΠΏΠ°Ρ
ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ AV1 Π²ΠΈΠ΄Π΅ΠΎ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΠΠ° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ
ΠΠ»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠΎΠ². ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠ°Π²Π΄Π° ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄Π° Π±Π°ΡΠ°ΡΠ΅ΠΈ. ΠΠ΅ΡΠ²ΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ SOC Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ AV1 ΠΏΠΎΡΠ²ΡΡΡΡ Π² 2020 Π³ΠΎΠ΄Ρ.
Π ΡΡΡ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΡΡΠ°ΡΡΠΈ ΡΠ°ΠΊΠΈΠ΅ Β«ΡΠ°ΠΊ Π΅ΡΠ»ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΠΎΠΊΠ° Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ, Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AV1?Β»
AV1 β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄Π΅ΠΊ, ΠΈ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ. ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΊΠ°ΠΊ ΠΎ ΡΡΠ°Π΄ΠΈΠΈ Β«ΠΏΠΎΠΊΠ° Π²Ρ Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅, Π½Π°ΡΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΡΡΡΒ». ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π° Π΄Π΅ΡΠΊΡΠΎΠΏΠ°Ρ ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΆΠ΅ ΡΡΠΊΠΎΡΠΈΡ ΡΠ°ΠΉΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ. Π ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ fallback ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ 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 Π΄ΠΎ 720px Π² ΡΠΈΡΠΈΠ½Ρ ΠΈ 12 fps Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ 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 β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ Π½Π°ΡΠΈΡ
ΡΠ΅Π»Π΅ΠΉ. Π― Π²Π·ΡΠ» Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Tears Of Steel, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ Π·Π΄Π΅ΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ 1:Β ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½ΠΈΠΆΠ΅ Ρ Π²Π°Ρ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΡΠ° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ. Π― Π±Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°Π» Π±ΡΠ°ΡΠ·Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Chromium, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Chrome, Vivaldi, Brave ΠΈΠ»ΠΈ Opera. ΠΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ AV1
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ 2:Β ΠΠ»Ρ Firefox 66 Π² Linux Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»Π°Π³ media.av1.enabled
Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true
Π² about:config
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ 3: Π― ΡΠ΅ΡΠΈΠ» Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ GIF Π½ΠΈΠΆΠ΅ ΠΈΠ·-Π·Π° ΠΈΡ
Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ³ Π±Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ! (Π§ΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΎΠ½ΠΈΡΠ½ΠΎ, Π²Π΅Π΄Ρ ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΎΠ± ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ :)). ΠΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠ΅ GIFΡ Π·Π΄Π΅ΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π₯Π°Π±Ρ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠ²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΡΠΈΠΊΠ»ΠΈΡΡ ΡΠ°ΠΉΠ», ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ. ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Β«Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈΒ» Π²ΠΆΠΈΠ²ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²
Π‘ΡΠ΅Π½Π° 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Β ΠΠ!!Β ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ°ΠΊΠΈΡ -ΡΠΎ Π³ΡΡΠ±Π°Π½ΡΡ 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 ΠΏΡΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com