AWS MediaConvert๋ฅผ ์ฌ์ฉํ ์๋ฒ๋ฆฌ์ค ๋น๋์ค ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ
๋น๋์ค ํ๋ซํผ์ ์ ๋ก๋๊ฐ ์ ์ ํ๊ฐํ ๊ธฐ๊ฐ๋ถํฐ ์๋ฐฑ ๊ฐ์ ๋์ ์์ ์ด ๋ฐ์ํ๋ ํผํฌ ์๊ฐ๊น์ง, ๊ฐ๋ณ์ ์ธ ์ธ์ฝ๋ฉ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋น์ฉ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ํ์ํ์ต๋๋ค.
ํ๋ก์ ํธ ์๋ดํ๊ธฐ
๊ณผ์
๊ณ ์ ์ฉ๋ ์ธ์ฝ๋ฉ ์ธํ๋ผ๋ ๊ณผ๋ํ๊ฒ ํ๋ก๋น์ ๋(๋น์ฉ ์๋ชจ์ )๋๊ฑฐ๋ ๋ถ์ถฉ๋ถํ๊ฒ ํ๋ก๋น์ ๋(๋๋ฆผ)๋์์ต๋๋ค.
- ์ธ์ฝ๋ฉ ์ํฌ๋ก๋๋ ๋ณ๋์ฑ์ด ๋งค์ฐ ํฌ๊ณ ์์ธก ๋ถ๊ฐ๋ฅํ์ต๋๋ค.
- ์ฝํ ์ธ ์ถ์ ๊ธฐ๊ฐ ๋์ ํผํฌ ๊ธฐ๊ฐ์๋ ํ์ ๋๋น 100๋ฐฐ์ ๋ณผ๋ฅจ์ ๋ณด์ผ ์ ์์์ต๋๋ค.
- ์ ์ฉ ์ธ์ฝ๋ฉ ์๋ฒ๋ฅผ 24์๊ฐ ์ฐ์ค๋ฌดํด๋ก ์ด์ํ๋ ๊ฒ์ ํ๊ฐํ ๊ธฐ๊ฐ ๋์ ๋น์ฉ์ด ๋ง์ด ๋ค์์ต๋๋ค.
- ์์ ์คํจ ์ ์๋ ๊ฐ์ ์์ด ์๋ ๊ฐ์ง ๋ฐ ์ฌ์๋๊ฐ ํ์ํ์ต๋๋ค.
์ฐ๋ฆฌ์ ์๋ฃจ์
์ฐ๋ฆฌ๋ ์ ์ฐํ๊ณ ์ฌ์ฉ๋ ๊ธฐ๋ฐ์ ๋น๋์ค ์ฒ๋ฆฌ๋ฅผ ์ํด AWS Lambda ํธ๋ฆฌ๊ฑฐ์ AWS MediaConvert๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ๋ฆฌ์ค ์ธ์ฝ๋ฉ ํ์ดํ๋ผ์ธ์ ๊ตฌํํ์ต๋๋ค.
์ํคํ ์ฒ
- ํธ๋ฆฌ๊ฑฐ: S3 ์ ๋ก๋ ์ด๋ฒคํธ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ AWS Lambda ํจ์
- ์ธ์ฝ๋ฉ: ํํธ๋๋ณ ์์ ํ ํ๋ฆฟ์ด ์ ์ฉ๋ AWS MediaConvert
- ๋ฉ์์ง: ๋น๋๊ธฐ ์์ ์ํ ์ ๋ฐ์ดํธ๋ฅผ ์ํ ActiveMQ/STOMP
- ๋ชจ๋ํฐ๋ง: ์์ ์งํ ์ํฉ์ ์ถ์ ํ๋ NestJS ์ธ์ฝ๋ ๋ฐฑ์๋
- ์คํ ๋ฆฌ์ง: ์ ๋ ฅ/์ถ๋ ฅ ์ ์ ์ ์ํ AWS S3
ํ์ดํ๋ผ์ธ ํ๋ฆ
- S3 ์ด๋ฒคํธ - ๋น๋์ค ์ ๋ก๋ ์ Lambda ํจ์ ํธ๋ฆฌ๊ฑฐ
- ์์ ๊ตฌ์ฑ - Lambda๊ฐ ํํธ๋ ํ๋กํ์ ์ฝ๊ณ MediaConvert ์์ ๊ตฌ์ฑ
- ์ ์ถ - ์ ์ ํ ์ถ๋ ฅ ์ค์ ์ผ๋ก MediaConvert ์์ ์ ์ถ
- ์งํ ์ํฉ ์ถ์ - STOMP ๋ฉ์์ง๊ฐ ์ธ์ฝ๋ ๋ฐฑ์๋๋ก ์ํ ์ ๋ฌ
- ์๋ฃ - ์ถ๋ ฅ ์ ์ ์ S3์ ์ ์ฅ๋๊ณ , ๋ฉํ๋ฐ์ดํฐ๋ MongoDB์ ์ ๋ฐ์ดํธ๋จ
- ์ค๋ฅ ์ฒ๋ฆฌ - ์คํจํ ์์ ์ ์ง์ ๋ฐฑ์คํ(exponential backoff)๋ก ์ฌ์๋ ๋๊ธฐ์ด์ ์ถ๊ฐ๋จ
์ฃผ์ ๊ธฐ๋ฅ
- ์ ํด ๋น์ฉ ์์ - Lambda์ MediaConvert๋ ์ค์ ์ฌ์ฉ๋์ ๋ํด์๋ง ์๊ธ ๋ถ๊ณผ
- ํ๋ ฅ์ ํ์ฅ - 1๊ฐ์์ 1000๊ฐ ์ด์์ ๋์ ์ธ์ฝ๋ฉ ์์ ์ฒ๋ฆฌ
- ํํธ๋ ํ ํ๋ฆฟ - ํํธ๋๋ณ ์ฌ์ ๊ตฌ์ฑ๋ MediaConvert ์์ ํ ํ๋ฆฟ
- ์ด๋ฒคํธ ๊ธฐ๋ฐ - S3 ์ด๋ฒคํธ๊ฐ ์๋์ผ๋ก ์ธ์ฝ๋ฉ ์ํฌํ๋ก์ฐ๋ฅผ ํธ๋ฆฌ๊ฑฐ
- ํฌ๊ด์ ์ธ ๋ชจ๋ํฐ๋ง - ์์ ์ํ, ๊ธฐ๊ฐ ๋ฐ ์ค๋ฅ ์ถ์
๊ฒฐ๊ณผ
๊ธฐ์ ์คํ
caseStudyDetail.more ์ฌ๋ก ์ฐ๊ตฌ
๋ ๋ง์ ๊ธฐ์ ๊ตฌํ ์ฌ๋ก๋ฅผ ์ดํด๋ณด์ธ์
SCTE-35 ๋ง์ปค ํ์ฑ ๋ฐ ๋ค์ค ํ๋ซํผ ํ๋ ์ด์ด ํตํฉ์ ํตํ ํด๋ผ์ด์ธํธ ์ธก ๊ด๊ณ ์ฝ์ (CSAI)
ํ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ์ปค๋ฅํฐ๋ TV ์ฑ ์ ๋ฐ์ ๊ฑธ์ณ Client-Side Ad Insertion (CSAI)์ ๊ตฌํํด์ผ ํ์ต๋๋ค. ์ด๋ ์๋ฒ ์ธก ์ฝ์ ์ผ๋ก๋ ์ ๊ณตํ ์ ์๋, ํด๋ฆญ ๊ฐ๋ฅํ ์ค๋ฒ๋ ์ด, ์ปดํจ๋์ธ ๋ฐฐ๋, ๊ฑด๋๋ฐ๊ธฐ ๋ฒํผ ๋ฑ ์์ ํ ๊ด๊ณ ์ํธ์์ฉ ์ง์์ ํตํด ๊ฐ์ธํ๋ ๊ธฐ๊ธฐ ์์ค์ ๊ด๊ณ ๊ฒฝํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
SCTE-35 ๊ด๊ณ ๋ง์ปค ์ ํธ ๋ฐ ๋ฏธ๋์ด ํธ๋ ์ผ๋ฌ ์ฝ์ ํ์ดํ๋ผ์ธ
ํ ์คํธ๋ฆฌ๋ฐ ๋ฏธ๋์ด ํ์ฌ๋ FAST ์ฑ๋, ๋ผ์ด๋ธ ์ด๋ฒคํธ ๋ฐ ์ฃผ๋ฌธํ ์ฝํ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ฐ์ ๊ฑธ์ณ ์์ต์ ์ฐฝ์ถํ ์ ์๋๋ก, ์ค์๊ฐ ๋ฐ VOD ์คํธ๋ฆผ์ SCTE-35 ๊ด๊ณ ๋ง์ปค๋ฅผ ์ฝ์ ํ๊ณ ํ๋ก๋ชจ์ ํธ๋ ์ผ๋ฌ(pre-roll, mid-roll, post-roll)๋ฅผ ์ ํํ ์๊ฐ์ ์ฝ์ ํ ์ ์๋ ๊ฐ๋ ฅํ ์๋ํ๋ ํ์ดํ๋ผ์ธ์ด ํ์ํ์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
MicrocosmWorks designed a segmented processing architecture where Step Functions orchestrate the pipeline: Lambda functions split source videos into segments, AWS MediaConvert handles the actual transcoding without Lambda timeout constraints, and a final Lambda stitches the output. This hybrid approach keeps the serverless cost model while supporting videos of any duration.
MicrocosmWorks measured a 70-85% cost reduction for bursty video processing workloads compared to running dedicated EC2 encoding instances. The serverless pipeline incurs zero cost when idle and scales to hundreds of concurrent jobs during peak periods, with AWS MediaConvert's per-minute pricing eliminating the need to provision for peak capacity.
MicrocosmWorks configured AWS Step Functions with per-step retry policies and exponential backoff, ensuring that a failed transcode step retries automatically without restarting the entire pipeline. Each stage writes intermediate outputs to S3, so recovery resumes from the last successful checkpoint rather than reprocessing from the source file.
MicrocosmWorks optimized the pipeline for near-real-time use cases with cold start mitigation using provisioned concurrency on critical Lambda functions and MediaConvert reserved transcoding slots. For live workflows, the pipeline achieves 2-5 minute end-to-end latency from upload to delivery, which is suitable for clip extraction and highlights distribution.
MicrocosmWorks builds serverless video infrastructure at rates of $25-$45/hr, with a complete MediaConvert-based pipeline including Step Functions orchestration, S3 lifecycle management, and monitoring typically requiring 250-400 development hours. The architecture's pay-per-use model means clients only pay AWS costs proportional to their actual processing volume.
๋น์ฆ๋์ค ํ์ ์ ์์ํ ์ค๋น๊ฐ ๋์ จ๋์?
๊ทํ์ ๊ณผ์ ์ ์ ์ฌํ ์๋ฃจ์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ผ์ํด ๋ณด๊ฒ ์ต๋๋ค.