FFmpeg 5.0 ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํŒจํ‚ค์ง€ ์ถœ์‹œ

5.0๊ฐœ์›” ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— FFmpeg 5.0 ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์–‘ํ•œ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํ˜•์‹(์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค ํ˜•์‹์˜ ๋…น์Œ, ๋ณ€ํ™˜ ๋ฐ ๋””์ฝ”๋”ฉ) ์ž‘์—…์„ ์œ„ํ•œ ์ผ๋ จ์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ์Œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋Š” LGPL ๋ฐ GPL ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜๋ฉฐ FFmpeg ๊ฐœ๋ฐœ์€ MPlayer ํ”„๋กœ์ ํŠธ์™€ ์ธ์ ‘ํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „ ๋ฒˆํ˜ธ์˜ ์ค‘์š”ํ•œ ๋ณ€๊ฒฝ์€ API์˜ ์ค‘์š”ํ•œ ๋ณ€๊ฒฝ๊ณผ ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์Šค ์ƒ์„ฑ ์ฒด๊ณ„๋กœ์˜ ์ „ํ™˜์œผ๋กœ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ์ค‘์š”ํ•œ ๋ฆด๋ฆฌ์Šค๋Š” XNUMX๋…„์— ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๊ณ  ์ง€์› ๊ธฐ๊ฐ„์ด ์—ฐ์žฅ๋œ ๋ฆด๋ฆฌ์Šค๋Š” XNUMX๋…„์— ํ•œ ๋ฒˆ์”ฉ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. FFmpeg XNUMX์€ ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ LTS ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

FFmpeg 5.0์— ์ถ”๊ฐ€๋œ ์ผ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ธ์ฝ”๋”ฉ ๋ฐ ๋””์ฝ”๋”ฉ์„ ์œ„ํ•œ ๊ธฐ์กด API๋ฅผ ๋Œ€ํญ ์ •๋ฆฌํ•˜๊ณ  ์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค์šฉ ๋‹จ์ผ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์šฉ ์ฝ”๋ฑ์„ ๋ถ„๋ฆฌํ•˜๋Š” ์ƒˆ๋กœ์šด N:M API๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. . ์ด์ „์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋œ ์ด์ „ API๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น„ํŠธ์ŠคํŠธ๋ฆผ ํ•„ํ„ฐ๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด API๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ„๋ฆฌ๋œ ํ˜•์‹ ๋ฐ ์ฝ”๋ฑ - ๋ฏธ๋””์–ด ์ปจํ…Œ์ด๋„ˆ ์••์ถ• ํ•ด์ œ๊ธฐ๋Š” ๋” ์ด์ƒ ๋””์ฝ”๋”์˜ ์ „์ฒด ์ปจํ…์ŠคํŠธ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฝ”๋ฑ ๋ฐ ํ˜•์‹ ๋“ฑ๋ก์„ ์œ„ํ•œ API๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ชจ๋“  ํ˜•์‹์ด ํ•ญ์ƒ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.
  • libavresample ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋” ๊ฐ„๋‹จํ•œ AVFrame ๊ธฐ๋ฐ˜ API๊ฐ€ libswscale ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Vulkan ๊ทธ๋ž˜ํ”ฝ API์— ๋Œ€ํ•œ ์ง€์›์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • VideoToolbox API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ VP9 ๋ฐ ProRes ํ˜•์‹์˜ ๋””์ฝ”๋”ฉ ๋ฐ ์ธ์ฝ”๋”ฉ์— ๋Œ€ํ•œ ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Loongson ํ”„๋กœ์„ธ์„œ์— ์‚ฌ์šฉ๋˜๋Š” LoongArch ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ง€์›๊ณผ LoongArch์—์„œ ์ œ๊ณต๋˜๋Š” LSX ๋ฐ LASX SIMD ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. H.264, VP8 ๋ฐ VP9 ์ฝ”๋ฑ์— ๋Œ€ํ•ด LoongArch ๊ด€๋ จ ์ตœ์ ํ™”๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฆฌ์†Œ์Šค ๋ชฉ๋ก ์ „์†ก์„ ์œ„ํ•œ ํ˜•์‹์„ ์ •์˜ํ•˜๋Š” Concatf ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค("ffplay concatf:split.txt").
  • ์ƒˆ๋กœ์šด ๋””์ฝ”๋” ์ถ”๊ฐ€: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM(๋ž˜์Šคํ„ฐ ์ด๋ฏธ์ง€).
  • ์ƒˆ๋กœ์šด ์ธ์ฝ”๋”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค: bitpacked, Apple Graphics(SMC), ADPCM IMA Westwood, VideoToolbox ProRes. ๋” ๋†’์€ ํ’ˆ์งˆ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด AAC ์ธ์ฝ”๋” ์„ค์ •์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋œ ๋ฏธ๋””์–ด ์ปจํ…Œ์ด๋„ˆ ํŒจ์ปค(๋จน์„œ): Westwood AUD, Argonaut Games CVG, AV1(๋‚ฎ์€ ์˜ค๋ฒ„ํ—ค๋“œ ๋น„ํŠธ์ŠคํŠธ๋ฆผ).
  • ๋ฏธ๋””์–ด ์ปจํ…Œ์ด๋„ˆ ์–ธํŒจ์ปค(๋””๋จน์„œ)๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค: IMF, Argonaut Games CVG.
  • AMR(Adaptive Multi-Rate) ์˜ค๋””์˜ค ์ฝ”๋ฑ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํŒŒ์„œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • RTP ํ”„๋กœํ† ์ฝœ(RFC 4175)์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•๋˜์ง€ ์•Š์€ ๋น„๋””์˜ค๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํŽ˜์ด๋กœ๋“œ ๋ฐ์ดํ„ฐ ํŒจ์ปค(ํŒจํ‚ทํƒ€์ด์ €)๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋น„๋””์˜ค ํ•„ํ„ฐ:
    • ์„ธ๊ทธ๋จผํŠธ ๋ฐ ์„ธ๊ทธ๋จผํŠธ - ๋น„๋””์˜ค ๋˜๋Š” ์˜ค๋””์˜ค๊ฐ€ ํฌํ•จ๋œ ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์„ ์‹œ๊ฐ„ ๋˜๋Š” ํ”„๋ ˆ์ž„์œผ๋กœ ๊ตฌ๋ถ„๋œ ์—ฌ๋Ÿฌ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.
    • hsvkey ๋ฐ hsvhold - ๋น„๋””์˜ค์˜ HSV ์ƒ‰์ƒ ๋ฒ”์œ„ ์ผ๋ถ€๋ฅผ ํšŒ์ƒ‰์กฐ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
    • greyworld - ํšŒ์ƒ‰ ์„ธ๊ณ„ ๊ฐ€์„ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ ๋น„๋””์˜ค ์ƒ‰์ƒ ๋ณด์ •์ž…๋‹ˆ๋‹ค.
    • scharr โ€” ์ž…๋ ฅ ๋น„๋””์˜ค์— Schar ์—ฐ์‚ฐ์ž(๋‹ค๋ฅธ ๊ณ„์ˆ˜๋ฅผ ๊ฐ–๋Š” Sobel ์—ฐ์‚ฐ์ž์˜ ๋ณ€ํ˜•)๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • morpho - ๋น„๋””์˜ค์— ๋‹ค์–‘ํ•œ ํ˜•ํƒœํ•™์  ๋ณ€ํ˜•์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋ฐ ๋Œ€๊ธฐ ์‹œ๊ฐ„ - ์ด์ „์— ์ ์šฉ๋œ ํ•„ํ„ฐ์— ๋Œ€ํ•œ ์ตœ์†Œ ๋ฐ ์ตœ๋Œ€ ํ•„ํ„ฐ๋ง ์ง€์—ฐ์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค.
    • limitdiff - 2๊ฐœ ๋˜๋Š” 3๊ฐœ์˜ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
    • xcorrelate - ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ ๊ฐ„์˜ ์ƒํ˜ธ ์ƒ๊ด€์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
    • varblur - ๋‘ ๋ฒˆ์งธ ๋น„๋””์˜ค์˜ ํ๋ฆผ ๋ฐ˜๊ฒฝ์„ ์ •์˜ํ•˜๋Š” ๊ฐ€๋ณ€ ๋น„๋””์˜ค ํ๋ฆผ์ž…๋‹ˆ๋‹ค.
    • ์ƒ‰์ƒ ์ฑ„๋„ - ๋น„๋””์˜ค์— ์ƒ‰์กฐ, ์ฑ„๋„ ๋˜๋Š” ๊ฐ•๋„ ์กฐ์ •์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • colorspectrum โ€” ์ฃผ์–ด์ง„ ์ƒ‰์ƒ ์ŠคํŽ™ํŠธ๋Ÿผ์„ ๊ฐ€์ง„ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ ์ƒ์„ฑ.
    • libplacebo - libplacebo ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ HDR ์…ฐ์ด๋”๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.
    • vflip_vulkan, hflip_vulkan ๋ฐ Flip_vulkan์€ Vulkan ๊ทธ๋ž˜ํ”ฝ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋œ ์ˆ˜์ง ๋˜๋Š” ์ˆ˜ํ‰ ๋น„๋””์˜ค ํ”Œ๋ฆฝ ํ•„ํ„ฐ(vflip, hflip ๋ฐ Flip)์˜ ๋ณ€ํ˜•์ž…๋‹ˆ๋‹ค.
    • yadif_videotoolbox๋Š” VideoToolbox ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” yadif ๋””์ธํ„ฐ๋ ˆ์ด์‹ฑ ํ•„ํ„ฐ์˜ ๋ณ€ํ˜•์ž…๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ์‚ฌ์šด๋“œ ํ•„ํ„ฐ:
    • apsyclip - ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆผ์— ์‹ฌ๋ฆฌ์Œํ–ฅ ํด๋ฆฌํผ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • afwtdn - ๊ด‘๋Œ€์—ญ ์žก์Œ์„ ์–ต์ œํ•ฉ๋‹ˆ๋‹ค.
    • a decorrelate โ€” ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์— ์—ญ์ƒ๊ด€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • atilt - ์ฃผ์–ด์ง„ ์ฃผํŒŒ์ˆ˜ ๋ฒ”์œ„์— ๋Œ€ํ•ด ์ŠคํŽ™ํŠธ๋Ÿผ ์ด๋™์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • asdr - ๋‘ ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆผ ๊ฐ„์˜ ์‹ ํ˜ธ ์™œ๊ณก ๊ฒฐ์ •.
    • aspectralstats - ๊ฐ ์˜ค๋””์˜ค ์ฑ„๋„์˜ ์ŠคํŽ™ํŠธ๋Ÿผ ํŠน์„ฑ์ด ํฌํ•จ๋œ ์ถœ๋ ฅ ํ†ต๊ณ„์ž…๋‹ˆ๋‹ค.
    • adynamicsmooth - ์‚ฌ์šด๋“œ ์ŠคํŠธ๋ฆผ์˜ ๋™์  ํ‰ํ™œํ™”์ž…๋‹ˆ๋‹ค.
    • adynamicequalizer - ์‚ฌ์šด๋“œ ์ŠคํŠธ๋ฆผ์˜ ๋™์  ์ดํ€„๋ผ์ด์ œ์ด์…˜์ž…๋‹ˆ๋‹ค.
    • anlmf - ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆผ์— ์ตœ์†Œ ํ‰๊ท  ์ œ๊ณฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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