์ด์ œ GIF๋ฅผ AV1 ๋น„๋””์˜ค๋กœ ๊ต์ฒดํ•  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค

์ด์ œ GIF๋ฅผ AV1 ๋น„๋””์˜ค๋กœ ๊ต์ฒดํ•  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค

2019๋…„์ด๊ณ  ์ด์ œ GIF๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•  ๋•Œ์ž…๋‹ˆ๋‹ค(์•„๋‹ˆ์š”, ์šฐ๋ฆฌ๋Š” ์ด ๊ฒฐ์ •์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค! ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์— ๊ฒฐ์ฝ” ๋™์˜ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค! - ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ์˜์–ด ๋ฐœ์Œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ์ด๊ฒƒ์€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ฒˆ์—ญ). GIF๋Š” ์—„์ฒญ๋‚œ ์–‘์˜ ๊ณต๊ฐ„(๋ณดํ†ต ์ˆ˜ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ!)์„ ์ฐจ์ง€ํ•˜๋Š”๋ฐ, ์ด๋Š” ์›น ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์›ํ•˜๋Š” ๊ฒƒ๊ณผ ์™„์ „ํžˆ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค! ์›น ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ๋น ๋ฅด๊ฒŒ ๋กœ๋“œ๋˜๋„๋ก ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ํ•ญ๋ชฉ์„ ์ตœ์†Œํ™”ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ์ด์œ ๋กœ JavaScript๋ฅผ ์ถ•์†Œํ•˜๊ณ  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๋งŒํผ ๋„๋ฆฌ ๋ณด๊ธ‰๋˜์ง€ ์•Š์€ ์ฃผ๋œ ์ด์œ ์ด๋ฉฐ Alliance of Open Media ์ปจ์†Œ์‹œ์—„์ด ๋กœ์—ดํ‹ฐ ์—†๋Š” ์ฝ”๋ฑ์ธ AV1๊ณผ ํ˜‘๋ ฅํ•˜๊ณ  ์žˆ๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ๋Œ€ํ•œ GIF๋ฅผ ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ์ž‘์€ ํฌ๊ธฐ๋กœ ์ค„์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๋ฌด๊ธฐ๊ณ ์— ๋น„๋””์˜ค ์••์ถ•์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํ‘œ์ค€์ด ์—†๋‹ค๋ฉด 2019๋…„์€ ์ด์ƒํ•œ ํ•ด๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์กด์žฌํ•˜๋ฉฐ AV1์ด๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. AV1์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. VP30์— ๋น„ํ•ด ์••์ถ•๋ฅ ์ด ์•ฝ 9% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.. ๋ ˆํฌํƒ€! ๐Ÿ™‚

AV1์€ 2019๋…„๋ถ€ํ„ฐ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

๋ฐ์Šคํฌํƒ‘์—์„œ

์ตœ๊ทผ AV1 ๋น„๋””์˜ค ๋””์ฝ”๋”ฉ ์ง€์›์ด ๋ฐ์Šคํฌํ†ฑ ๋ฒ„์ „์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ๊ธ€ ํฌ๋กฌ 70 ะธ ๋ชจ์งˆ๋ผ ํŒŒ์ด์–ด ํญ์Šค 65. ํ˜„์žฌ 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๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์›๋ณธ 720fps ๋น„๋””์˜ค ๋Œ€์‹  GIF๋ฅผ ๋„ˆ๋น„ 12px, 24fps๋กœ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

./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 ๋น„๋””์˜ค๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. 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 @ 200Kbps

์—ฌ๊ธฐ์—๋Š” ์›€์ง์ž„์ด ๋งŽ์œผ๋ฉฐ ํŠนํžˆ ๋‚ฎ์€ ๋น„ํŠธ ์ „์†ก๋ฅ ์—์„œ ๋ฏผ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋น„ํŠธ ์ „์†ก๋ฅ ์—์„œ H.264๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋‚˜์œ์ง€ ์ฆ‰์‹œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‚ฌ๊ฐํ˜•์ด ์ฆ‰์‹œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. VP9๋Š” ์ƒํ™ฉ์„ ์•ฝ๊ฐ„ ๊ฐœ์„ ํ•˜์ง€๋งŒ ์‚ฌ๊ฐํ˜•์€ ์—ฌ์ „ํžˆ โ€‹โ€‹ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. AV1์ด ๋ถ„๋ช…ํžˆ ์Šน๋ฆฌํ•˜์—ฌ ๋ถ„๋ช…ํžˆ ๋” ๋‚˜์€ ์‚ฌ์ง„์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

H.264

VP9

AV1

์žฅ๋ฉด 2 @ 200Kbps

์—ฌ๊ธฐ์—๋Š” ๋ฐ˜ํˆฌ๋ช… CGI ์ฝ˜ํ…์ธ ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์ง€๋‚œ๋ฒˆ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š์ง€๋งŒ ์ „์ฒด์ ์œผ๋กœ AV1์ด ๋” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

H.264

VP9

AV1

์žฅ๋ฉด 3 @ 100Kbps

์ด ์žฅ๋ฉด์—์„œ๋Š” ๋น„ํŠธ ์ „์†ก๋ฅ ์„ 100Kbps๋กœ ๋‚ฎ์ถ”์—ˆ๊ณ  ๊ฒฐ๊ณผ๋Š” ์ผ๊ด€๋ฉ๋‹ˆ๋‹ค. AV1์€ ๋‚ฎ์€ ๋น„ํŠธ ์ „์†ก๋ฅ ์—์„œ๋„ ์„ ๋‘๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค!

H.264

VP9

AV1

์ผ€์ดํฌ์— ์ฒด๋ฆฌ

GIF์— ๋น„ํ•ด ๋Œ€์—ญํญ์ด ์ ˆ์•ฝ๋˜๋Š” ๋Š๋‚Œ์œผ๋กœ ๊ธ€์„ ๋งˆ๋ฌด๋ฆฌํ•˜์ž๋ฉด, ์ „์ฒด ์˜์ƒ์˜ ์ „์ฒด ํฌ๊ธฐ๊ฐ€ ๋” ํฌ๋‹ค๋Š” ์ ... 1.62MB!! ์˜ค๋ฅธ์ชฝ. 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€