๋น๋์ค/์ค๋์ค ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ ๋ฐ ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ ๋ฌธ FFmpeg ๊ฐ๋ฐ์๋ฅผ ๊ณ ์ฉํ์ธ์. ํธ๋์ค์ฝ๋ฉ, ์คํธ๋ฆฌ๋ฐ, ๋ฏธ๋์ด ์๋ํ ์ ๋ฌธ๊ฐ์ ๋๋ค.
์์ํ๊ธฐ
FFmpeg์ ์ธํฐ๋ท ์ ๋ฐ์ ๊ฑธ์น ๋น๋์ค ๋ฐ ์ค๋์ค ์ฒ๋ฆฌ์ ํต์ฌ์ ๋๋ค. ์ ํฌ FFmpeg ๊ฐ๋ฐ์๋ค์ ํธ๋์ค์ฝ๋ฉ ๋ฐ ํฌ๋งท ๋ณํ๋ถํฐ ์คํธ๋ฆฌ๋ฐ ์ธํ๋ผ ๋ฐ ์๋ํ๋ ๋ฏธ๋์ด ์ํฌํ๋ก์ ์ด๋ฅด๊ธฐ๊น์ง ๋ง์ถคํ ๋ฏธ๋์ด ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํฉ๋๋ค. ์ด๋ค์ ๊น์ด ์๋ FFmpeg ์ง์๊ณผ ํ๋์ ์ธ ํด๋ผ์ฐ๋ ์ธํ๋ผ๋ฅผ ๊ฒฐํฉํ์ฌ ํ์ฅ ๊ฐ๋ฅํ ๋ฏธ๋์ด ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
์ ํฌ FFmpeg ๊ฐ๋ฐ์๋ค์ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ, ์ด๋ฌ๋ ํ์ฌ, ์์ ๋ฏธ๋์ด ์ฑ, ๊ฐ์ ์์คํ ์ ์ํ ๋ฏธ๋์ด ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ผ๋ฉฐ, ์๋ฐฑ๋ง ๊ฐ์ ๋ฏธ๋์ด ํ์ผ์ ๋์ ์ ๋ขฐ์ฑ์ผ๋ก ์ฒ๋ฆฌํ์ต๋๋ค.
๊ท์ฌ์ ๋ฏธ๋์ด ์ฒ๋ฆฌ ์๊ตฌ์ฌํญ, ์ฝ๋ฑ ์๊ตฌ์ฌํญ ๋ฐ ์ฒ๋ฆฌ๋ ๋ชฉํ๋ฅผ ์ดํดํฉ๋๋ค.
๊ท์ฌ์ ๋ฏธ๋์ด ๋๋ฉ์ธ ๋ฐ ๊ท๋ชจ ์๊ตฌ์ฌํญ์ ๊ฒฝํ์ด ์๋ FFmpeg ๊ฐ๋ฐ์์ ๋งค์นญํด ๋๋ฆฝ๋๋ค.
FFmpeg ๋ช ๋ น์ด, ์ฝ๋ฑ ์ง์ ๋ฐ ํ์ดํ๋ผ์ธ ์ํคํ ์ฒ๋ฅผ ๋ค๋ฃจ๋ ํ๊ฐ๋ฅผ ์งํํฉ๋๋ค.
๊ฐ๋ฐ์๋ฅผ ๊ท์ฌ์ ๋ฏธ๋์ด ์ธํ๋ผ, ์คํ ๋ฆฌ์ง ๋ฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ํตํฉํฉ๋๋ค.
ํ์ง ๋ฒค์น๋งํน, ์ฑ๋ฅ ํ๋ ๋ฐ ๋ชจ๋ํฐ๋ง์ ํตํ ์ง์์ ์ธ ํ์ดํ๋ผ์ธ ๊ฐ๋ฐ์ ๋๋ค.
๊ท์ฌ์ ๋ฏธ๋์ด ์ฒ๋ฆฌ ์๊ตฌ์ฌํญ์ ์๋ ค์ฃผ์๋ฉด 48์๊ฐ ์ด๋ด์ FFmpeg ์ ๋ฌธ๊ฐ์ ์ฐ๊ฒฐํด ๋๋ฆฝ๋๋ค.
MicrocosmWorks๋ ์๊ฐ๋น $10์์ $50 ์ฌ์ด์ ์๊ธ์ผ๋ก ์ ๋ฌธ FFmpeg ๊ฐ๋ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. FFmpeg ์ ๋ฌธ์ฑ์ ํ์ ์์ฅ์ด๋ฏ๋ก, ๋ณต์กํ ์ธ์ฝ๋ฉ ํ์ดํ๋ผ์ธ, ์ฌ์ฉ์ ์ ์ ํํฐ ๊ฐ๋ฐ ๋ฐ ํ๋์จ์ด ๊ฐ์ ํธ๋์ค์ฝ๋ฉ์ ์ฒ๋ฆฌํ๋ ๋น์ฌ์ ์ ์ ๊ฐ๋ฐ์๋ ์ด ๋ฒ์์ ์์๊ถ์ ์ํฉ๋๋ค.
๋ค, ์ ํฌ FFmpeg ๊ฐ๋ฐ์๋ค์ ์ ์ํ ๋นํธ๋ ์ดํธ ์คํธ๋ฆฌ๋ฐ์ ์ํด ๋น๋์ค ์ ๋ก๋๋ฅผ ์ฌ๋ฌ ์ถ๋ ฅ ํ์๊ณผ ํด์๋๋ก ์ฒ๋ฆฌํ๋ ์๋ํ๋ ํธ๋์ค์ฝ๋ฉ ํ์ดํ๋ผ์ธ์ ์ค๊ณํ๊ณ ๊ตฌํํฉ๋๋ค. ์ด๋ค์ ํ์ฅ ๊ฐ๋ฅํ ์ฒ๋ฆฌ๋(throughput)์ ์ํด AWS MediaConvert, Lambda ๋๋ ๋ง์ถคํ Docker ๊ธฐ๋ฐ ์ฒ๋ฆฌ ํ๋ฅผ ์ฌ์ฉํ์ฌ FFmpeg๋ฅผ ํด๋ผ์ฐ๋ ์ธํ๋ผ์ ํตํฉํฉ๋๋ค.
์ ํฌ FFmpeg ๊ฐ๋ฐ์๋ค์ NVIDIA NVENC, Intel Quick Sync (VAAPI/QSV) ๋ฐ Apple VideoToolbox๋ฅผ ์ฌ์ฉํ GPU ๊ฐ์ ์ธ์ฝ๋ฉ์ ๋ํ ๊ฒฝํ์ด ํ๋ถํฉ๋๋ค. ์ด๋ค์ ํ๋์จ์ด ์ธ์ฝ๋ฉ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ์ฌ 5-10๋ฐฐ ๋ ๋น ๋ฅธ ํธ๋์ค์ฝ๋ฉ ์๋๋ฅผ ๋ฌ์ฑํ๊ณ ๋์์ ํ์ง์ ์ ์งํ๋ฉฐ, ๊ณ ์ฉ๋ ๋น๋์ค ํ๋ซํผ์ ์ฒ๋ฆฌ ๋น์ฉ์ ํฌ๊ฒ ์ ๊ฐํฉ๋๋ค.
๋ค, ์ ํฌ ๊ฐ๋ฐ์๋ค์ ์ํฐ๋งํน, ์ธ๋ค์ผ ์์ฑ, ์ฅ๋ฉด ๊ฐ์ง, ์ค๋์ค ์ ๊ทํ, ์๋ง ์ฝ์ (burn-in), ๋น๋์ค ์ฐ๊ฒฐ, ๋ฐ ๋ณต์กํ ๋ค์ค ์ ๋ ฅ ํฉ์ฑ์ ์ํ ๋ง์ถคํ FFmpeg ํํฐ ์ฒด์ธ์ ์์ฑํฉ๋๋ค. ๋ํ, ๋ด์ฅ๋ FFmpeg ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ทํ์ ํน์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ์ง ๋ชปํ ๊ฒฝ์ฐ ๋ง์ถคํ C ํํฐ๋ฅผ ์์ฑํฉ๋๋ค.
๋น์ฌ์ ๊ฐ๋ฐ์๋ค์ ๋ค์ค ํ์ง ๊ณ์ธต, ์ ์ ํ GOP ์ ๋ ฌ, ๊ทธ๋ฆฌ๊ณ ๊ท์ฌ์ CDN์ ์ต์ ํ๋ ์ธ๊ทธ๋จผํธ ํฌ๊ธฐ ์กฐ์ ์ ํตํด HLS ๋ฐ DASH ๋งค๋ํ์คํธ๋ฅผ ์์ฑํ๋ FFmpeg ๊ธฐ๋ฐ ์ธ์ฝ๋ฉ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํฉ๋๋ค. ๊ทธ๋ค์ ์ ๋ชฉ๋ณ ์ต์ ํ ์์น์ ๋ฐ๋ผ ์ธ์ฝ๋ฉ ๋๋๋ฅผ ๊ตฌ์ฑํ์ฌ ๋ค์ํ ํด๋ผ์ด์ธํธ ์ฅ์น์์ ํ์ง๊ณผ ๋์ญํญ์ ๊ท ํ์ ๋ง์ถฅ๋๋ค.