์ฝ˜ํ…์ธ  ๋Œ€ํ‘œ ์ด๋ฏธ์ง€ - ๐Ÿ“บ ํ™”์งˆ์ด ์•Œ์•„์„œ ๋ฐ”๋€Œ๋Š” ๋งˆ๋ฒ•์˜ ์ •์ฒด: ์‹ค์‹œ๊ฐ„ ์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ์ ์‘์  ๋น„ํŠธ๋ ˆ์ดํŠธ(ABR) ์™„์ „ ์ •๋ณต

๐Ÿ“บ ํ™”์งˆ์ด ์•Œ์•„์„œ ๋ฐ”๋€Œ๋Š” ๋งˆ๋ฒ•์˜ ์ •์ฒด: ์‹ค์‹œ๊ฐ„ ์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ์ ์‘์  ๋น„ํŠธ๋ ˆ์ดํŠธ(ABR) ์™„์ „ ์ •๋ณต

์ง€ํ•˜์ฒ ์—์„œ ์œ ํŠœ๋ธŒ ๋ณด๋‹ค๊ฐ€ ํ„ฐ๋„์— ๋“ค์–ด๊ฐ€๋ฉด ํ™”์งˆ์ด ํ™• ๋ญ‰๊ฐœ์กŒ๋‹ค๊ฐ€, ์—ญ์— ๋„์ฐฉํ•˜๋ฉด ๋‹ค์‹œ ์จํ•ด์ง€๋Š” ๊ฒฝํ—˜ ๋‹ค๋“ค ์žˆ์ง€? ๐Ÿš‡
"์–ด? ๋‚ด๊ฐ€ ์„ค์ • ์•ˆ ๊ฑด๋“œ๋ ธ๋Š”๋ฐ?" ์‹ถ์—ˆ๋˜ ๊ทธ ์ˆœ๊ฐ„, ๋’ค์—์„œ๋Š” ์ ์‘์  ๋น„ํŠธ๋ ˆ์ดํŠธ(Adaptive Bitrate, ABR)๋ผ๋Š” ๋˜‘๋˜‘ํ•œ ์นœ๊ตฌ๊ฐ€ ์—ด์ผํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฑฐ์•ผ.
์˜ค๋Š˜์€ ์ด ์นœ๊ตฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๊ณ , ์˜์ƒ์€ ์–ด๋–ป๊ฒŒ ์ชผ๊ฐœ์ง€๊ณ  ๋ณ€ํ™˜๋˜๋ฉฐ, ๋ผ์ด๋ธŒ ๋ฐฉ์†ก์€ ์™œ ๋ช‡ ์ดˆ์”ฉ ๋Šฆ๊ฒŒ ์˜ค๋Š”์ง€๊นŒ์ง€ ์ˆ˜๋‹ค ๋–จ๋“ฏ ํ•˜๋‚˜์”ฉ ํ’€์–ด๋ณผ๊ฒŒ!

์ ์‘์  ๋น„ํŠธ๋ ˆ์ดํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์— ๋งž์ถฐ ํ™”์งˆ ์‚ฌ๋‹ค๋ฆฌ๋ฅผ ์˜ค๋ฅด๋‚ด๋ ค์š” ์„œ๋ฒ„(CDN) 1080p 720p 480p 360p 2~6์ดˆ ๊ธธ์ด์˜ ์˜์ƒ ์กฐ๊ฐ(์„ธ๊ทธ๋จผํŠธ) ํ”Œ๋ ˆ์ด์–ด ABR ํŒ๋‹จ ์ค‘ ๋Œ€์—ญํญ ๋ณ€ํ™” ํ„ฐ๋„ ๊ตฌ๊ฐ„ ํšŒ๋ณต

๐ŸŽฌ 1. ์ŠคํŠธ๋ฆฌ๋ฐ, ์ผ๋‹จ "๋‹ค์šด๋กœ๋“œ"๋ž‘ ๋ญ๊ฐ€ ๋‹ฌ๋ผ?

์˜›๋‚ ์—” ์˜์ƒ์„ ๋ณด๋ ค๋ฉด ํŒŒ์ผ์„ ํ†ต์งธ๋กœ ๋ฐ›์•„์•ผ ํ–ˆ์–ด. 2GB์งœ๋ฆฌ ์˜ํ™”๋ฉด 2GB ๋‹ค ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฑฐ์ง€. ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋ฐ˜๋Œ€์•ผ. ๋ฐ›์œผ๋ฉด์„œ ๋ฐ”๋กœ ์žฌ์ƒํ•ด. ๋ฌผ์ด ์ˆ˜๋„๊ด€์œผ๋กœ ํ˜๋Ÿฌ์˜ค๋“ฏ(stream) ๋ฐ์ดํ„ฐ๊ฐ€ ํ˜๋Ÿฌ์˜ค๋Š” ๋Œ€๋กœ ํ‹€์–ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋ผ ์ด๋ฆ„๋„ ์ŠคํŠธ๋ฆฌ๋ฐ์ด์•ผ.

๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ. ์ธํ„ฐ๋„ท ์†๋„๋Š” ์ผ์ •ํ•˜์ง€ ์•Š์ž–์•„? ์™€์ดํŒŒ์ด ์‹ ํ˜ธ๊ฐ€ ์•ฝํ•ด์ง€๊ธฐ๋„ ํ•˜๊ณ , ์˜†๋ฐฉ ๋™์ƒ์ด ๋Œ€์šฉ๋Ÿ‰ ๊ฒŒ์ž„ ํŒจ์น˜๋ฅผ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ๋„ ํ•˜๊ณ . ๊ณ ์ •๋œ ํ™”์งˆ๋กœ๋งŒ ๋ณด๋‚ด๋ฉด ์†๋„๊ฐ€ ๋–จ์–ด์ง€๋Š” ์ˆœ๊ฐ„ ๋ฒ„ํผ๋ง ๋บ‘๋บ‘์ด๊ฐ€ ๋Œ๊ธฐ ์‹œ์ž‘ํ•ด. ๐Ÿ˜ตโ€๐Ÿ’ซ ์‚ฌ์‹ค ์‹œ์ฒญ์ž๋Š” "ํ™”์งˆ์ด ์กฐ๊ธˆ ๋–จ์–ด์ง€๋Š” ๊ฒƒ"๋ณด๋‹ค "์˜์ƒ์ด ๋ฉˆ์ถ”๋Š” ๊ฒƒ"์„ ํ›จ์”ฌ ์‹ซ์–ดํ•ด. ๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ํ•ด๊ฒฐ์ฑ…์ด ๋ฐ”๋กœ ABR์ด์•ผ.

๐Ÿ“Œ ๋น„ํŠธ๋ ˆ์ดํŠธ(bitrate)๋ž€? 1์ดˆ ๋ถ„๋Ÿ‰์˜ ์˜์ƒ์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์“ฐ๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด์•ผ. ๋‹จ์œ„๋Š” ๋ณดํ†ต kbps(์ดˆ๋‹น ํ‚ฌ๋กœ๋น„ํŠธ)๋‚˜ Mbps(์ดˆ๋‹น ๋ฉ”๊ฐ€๋น„ํŠธ).
๊ฐ™์€ ์ฝ”๋ฑ์ด๋ผ๋ฉด ๋น„ํŠธ๋ ˆ์ดํŠธ๊ฐ€ ๋†’์„์ˆ˜๋ก ํ™”์งˆ์ด ์ข‹๊ณ , ๊ทธ๋งŒํผ ๋„คํŠธ์›Œํฌ๋„ ๋” ๋งŽ์ด ๋จน์–ด. ์˜ˆ๋ฅผ ๋“ค์–ด 5Mbps ์˜์ƒ์„ ๋Š๊น€ ์—†์ด ๋ณด๋ ค๋ฉด ์‹ค์ œ ํšŒ์„ ์ด ์ตœ์†Œ 5Mbps๋ณด๋‹ค ๋„‰๋„‰ํ•ด์•ผ ํ•ด.

๐Ÿชœ 2. ABR์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด: ํ™”์งˆ ์‚ฌ๋‹ค๋ฆฌ(Bitrate Ladder)

ABR์˜ ์›๋ฆฌ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•ด. ์„œ๋ฒ„ ์ชฝ์—์„œ ๊ฐ™์€ ์˜์ƒ์„ ์—ฌ๋Ÿฌ ํ™”์งˆ๋กœ ๋ฏธ๋ฆฌ ์ธ์ฝ”๋”ฉํ•ด ๋‘ฌ. ์ด๊ฑธ '๋น„ํŠธ๋ ˆ์ดํŠธ ์‚ฌ๋‹ค๋ฆฌ' ๋˜๋Š” '๋ Œ๋””์…˜(rendition)'์ด๋ผ๊ณ  ๋ถˆ๋Ÿฌ. ๊ทธ๋ฆฌ๊ณ  ์˜์ƒ์„ ๋ช‡ ์ดˆ ๋‹จ์œ„์˜ ์ž‘์€ ์กฐ๊ฐ(์„ธ๊ทธ๋จผํŠธ)์œผ๋กœ ์ž˜๋ผ ๋†“์ง€.

๊ทธ๋Ÿฌ๋ฉด ํ”Œ๋ ˆ์ด์–ด๋Š” ์กฐ๊ฐ ํ•˜๋‚˜ ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค "์ง€๊ธˆ ๋‚ด ์ƒํ™ฉ์—” ๋ช‡ ๋ฒˆ์งธ ์นธ์ด ์ ๋‹นํ•˜์ง€?" ํ•˜๊ณ  ๊ณจ๋ผ์„œ ์š”์ฒญํ•ด. ์†๋„ ์ข‹์„ ๋• 1080p ์กฐ๊ฐ, ํ„ฐ๋„ ๋“ค์–ด๊ฐ€๋ฉด 360p ์กฐ๊ฐ, ๋‹ค์‹œ ๋‚˜์˜ค๋ฉด ์Šฌ๊ธˆ์Šฌ๊ธˆ ์˜ฌ๋ผ๊ฐ€๋Š” ์‹์ด์•ผ. ์กฐ๊ฐ๋งˆ๋‹ค ํ™”์งˆ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ์žฌ์ƒ์„ ๋ฉˆ์ถ”์ง€ ์•Š๊ณ ๋„ ํ™”์งˆ์ด ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๊ฐˆ์•„ํƒ€์ง€๋Š” ๊ฑฐ์ง€.

ํ•ด์ƒ๋„์˜ˆ์‹œ ๋น„ํŠธ๋ ˆ์ดํŠธ(H.264 ๊ธฐ์ค€)์“ฐ์ด๋Š” ์ƒํ™ฉ
1920ร—1080์•ฝ 4.5~6 Mbps์ง‘ ์™€์ดํŒŒ์ด, ํฐ ํ™”๋ฉด
1280ร—720์•ฝ 2.5~3 Mbps๋ณดํ†ต LTE, ํƒœ๋ธ”๋ฆฟ
854ร—480์•ฝ 1~1.2 Mbps์‹ ํ˜ธ ์• ๋งคํ•  ๋•Œ
640ร—360์•ฝ 0.6~0.8 Mbpsํ„ฐ๋„, ๋ถ๋น„๋Š” ๊ณต๊ณต ์™€์ดํŒŒ์ด
426ร—240์•ฝ 0.3~0.4 Mbps์ตœํ›„์˜ ์ƒ์กด ๋ชจ๋“œ

โ€ป ์œ„ ์ˆ˜์น˜๋Š” ์—…๊ณ„์—์„œ ํ”ํžˆ ์“ฐ๋Š” ๋Œ€๋žต์ ์ธ ์˜ˆ์‹œ์•ผ. ์‹ค์ œ ๊ฐ’์€ ์„œ๋น„์Šค, ์ฝ˜ํ…์ธ  ์ข…๋ฅ˜, ์ฝ”๋ฑ๋งˆ๋‹ค ๋‹ฌ๋ผ. ์• ํ”Œ์ด ๊ณต๊ฐœํ•œ HLS ์ €์ž‘ ๊ฐ€์ด๋“œ์—๋„ ์ด๋Ÿฐ ํ˜•ํƒœ์˜ ๊ถŒ์žฅ ์‚ฌ๋‹ค๋ฆฌ ์˜ˆ์‹œ๊ฐ€ ๋‚˜์™€ ์žˆ์–ด.

๐Ÿ’ก ์žฌ๋ฏธ์žˆ๋Š” ์‚ฌ์‹ค: ๋„ทํ”Œ๋ฆญ์Šค๋Š” 2015๋…„์— "Per-Title Encoding"์ด๋ผ๋Š” ๋ฐฉ์‹์„ ๋ฐœํ‘œํ–ˆ์–ด. ๋ชจ๋“  ์˜์ƒ์— ๋˜‘๊ฐ™์€ ์‚ฌ๋‹ค๋ฆฌ๋ฅผ ์“ฐ๋Š” ๋Œ€์‹ , ์˜์ƒ๋งˆ๋‹ค ์‚ฌ๋‹ค๋ฆฌ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“  ๊ฑฐ์•ผ.
์• ๋‹ˆ๋ฉ”์ด์…˜์ฒ˜๋Ÿผ ๋‹จ์ˆœํ•œ ๊ทธ๋ฆผ์€ ๋‚ฎ์€ ๋น„ํŠธ๋ ˆ์ดํŠธ๋กœ๋„ ๊นจ๋—ํ•˜๊ณ , ๋น„ ์˜ค๋Š” ์•ก์…˜ ์žฅ๋ฉด์ด๋‚˜ ํญ์ฃฝ์ฒ˜๋Ÿผ ๋ณต์žกํ•œ ์˜์ƒ์€ ๋น„ํŠธ๋ ˆ์ดํŠธ๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๊ฑฐ๋“ . ์ดํ›„ ์žฅ๋ฉด ๋‹จ์œ„๋กœ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹๊นŒ์ง€ ๋ฐœ์ „ํ–ˆ์–ด.

โœ‚๏ธ 3. ์˜์ƒ ๋ณ€ํ™˜์˜ ํ˜„์žฅ: ์ธ์ฝ”๋”ฉ โ†’ ํŠธ๋žœ์Šค์ฝ”๋”ฉ โ†’ ํŒจํ‚ค์ง•

ABR์ด ๋Œ์•„๊ฐ€๋ ค๋ฉด ๊ทธ ์ „์— ์˜์ƒ ๋ณ€ํ™˜ ์ž‘์—…์ด ๊น”๋”ํ•˜๊ฒŒ ๋๋‚˜ ์žˆ์–ด์•ผ ํ•ด. ์›๋ณธ ์˜์ƒ ํ•˜๋‚˜๋กœ ์—ฌ๋Ÿฌ ํ™”์งˆ์„ ๋งŒ๋“œ๋Š” ๊ณต์žฅ ๊ฐ™์€ ๊ณผ์ •์ด ์žˆ๊ฑฐ๋“ . ์ˆœ์„œ๋Œ€๋กœ ๋ณด์ž!

1
์›๋ณธ ์ˆ˜์ง‘(Ingest)
์นด๋ฉ”๋ผ๋‚˜ ๋ฐฉ์†ก ์†Œํ”„ํŠธ์›จ์–ด(OBS ๊ฐ™์€)์—์„œ ๊ณ ํ™”์งˆ ์›๋ณธ์ด ์„œ๋ฒ„๋กœ ๋“ค์–ด์™€. ๋ผ์ด๋ธŒ๋ผ๋ฉด ๋ณดํ†ต RTMP๋‚˜ SRT ํ”„๋กœํ† ์ฝœ๋กœ ๋ณด๋‚ด.
2
ํŠธ๋žœ์Šค์ฝ”๋”ฉ(Transcoding)
์›๋ณธ์„ ๋””์ฝ”๋”ฉํ•œ ๋’ค ์—ฌ๋Ÿฌ ํ•ด์ƒ๋„ยท๋น„ํŠธ๋ ˆ์ดํŠธ๋กœ ๋‹ค์‹œ ์ธ์ฝ”๋”ฉํ•ด. 1080p ์›๋ณธ ํ•˜๋‚˜๊ฐ€ 1080p/720p/480p/360p ๋“ฑ์œผ๋กœ ๊ฐˆ๋ผ์ง€๋Š” ์ˆœ๊ฐ„์ด์•ผ.
3
์„ธ๊ทธ๋จผํŠธ ๋ถ„ํ•  & ํŒจํ‚ค์ง•
๊ฐ ํ™”์งˆ ๋ฒ„์ „์„ 2~6์ดˆ ์ •๋„ ์กฐ๊ฐ์œผ๋กœ ์ž๋ฅด๊ณ , HLS๋‚˜ DASH ํ˜•์‹์— ๋งž๊ฒŒ ํฌ์žฅํ•˜๋ฉด์„œ ๋ชฉ๋ก ํŒŒ์ผ(๋งค๋‹ˆํŽ˜์ŠคํŠธ)์„ ๋งŒ๋“ค์–ด.
4
CDN ๋ฐฐํฌ
์กฐ๊ฐ๋“ค์„ ์ „ ์„ธ๊ณ„ ๊ณณ๊ณณ์˜ ์บ์‹œ ์„œ๋ฒ„(CDN)์— ํผ๋œจ๋ ค์„œ, ์‹œ์ฒญ์ž๋Š” ๊ฐ€๊นŒ์šด ์„œ๋ฒ„์—์„œ ๋น ๋ฅด๊ฒŒ ๋ฐ›์•„๊ฐ€.
5
ํ”Œ๋ ˆ์ด์–ด์˜ ABR ํŒ๋‹จ
ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์ฝ๊ณ , ์ƒํ™ฉ์— ๋งž๋Š” ํ™”์งˆ ์กฐ๊ฐ์„ ๊ณจ๋ผ ์ด์–ด ๋ถ™์—ฌ ์žฌ์ƒํ•ด.

๐Ÿ”‘ ํ™”์งˆ ์ „ํ™˜์˜ ์ˆจ์€ ์กฐ๊ฑด: ํ‚คํ”„๋ ˆ์ž„ ์ •๋ ฌ

์—ฌ๊ธฐ์„œ ์˜์ƒ๋ณ€ํ™˜ ๋•ํ›„๋“ค์ด ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” ํฌ์ธํŠธ๊ฐ€ ์žˆ์–ด. ์˜์ƒ ์••์ถ•์€ ๋งค ํ”„๋ ˆ์ž„์„ ํ†ต์งธ๋กœ ์ €์žฅํ•˜์ง€ ์•Š์•„. ์™„์ „ํ•œ ๊ทธ๋ฆผ์ธ I-ํ”„๋ ˆ์ž„(ํ‚คํ”„๋ ˆ์ž„)์„ ํ•˜๋‚˜ ๋‘๊ณ , ๊ทธ ๋’ค๋กœ๋Š” "์ด์ „ ์žฅ๋ฉด์—์„œ ๋ญ๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋Š”์ง€"๋งŒ ์ €์žฅํ•˜๋Š” PยทB ํ”„๋ ˆ์ž„์„ ์ด์–ด ๋ถ™์ด์ง€. ์ด ๋ฌถ์Œ์„ GOP(Group of Pictures)๋ผ๊ณ  ํ•ด.

๋ฌธ์ œ๋Š”, ํ™”์งˆ์„ ๊ฐˆ์•„ํƒˆ ๋•Œ ์ƒˆ ์กฐ๊ฐ์€ ๋ฐ˜๋“œ์‹œ ํ‚คํ”„๋ ˆ์ž„์œผ๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฑฐ์•ผ. ์ฐจ์ด ์ •๋ณด๋งŒ ์žˆ๋Š” ํ”„๋ ˆ์ž„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉด ๋””์ฝ”๋”๊ฐ€ "์ด์ „ ๊ทธ๋ฆผ์ด ๋ญ”๋ฐ?" ํ•˜๊ณ  ๋ฉ˜๋ถ• ์˜ค๊ฑฐ๋“ . ๊ทธ๋ž˜์„œ ๋ชจ๋“  ํ™”์งˆ ๋ฒ„์ „์˜ ํ‚คํ”„๋ ˆ์ž„ ์œ„์น˜๊ฐ€ ๋˜‘๊ฐ™์ด ๋งž์ถฐ์ ธ ์žˆ์–ด์•ผ ํ•ด. ์ด๊ฑธ ํ‚คํ”„๋ ˆ์ž„ ์ •๋ ฌ(GOP alignment)์ด๋ผ๊ณ  ๋ถˆ๋Ÿฌ.

์˜ˆ๋ฅผ ๋“ค์–ด 30fps ์˜์ƒ์—์„œ 2์ดˆ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด GOP๋ฅผ 60ํ”„๋ ˆ์ž„์œผ๋กœ ๊ณ ์ •ํ•˜๊ณ , ์žฅ๋ฉด ์ „ํ™˜ ๋•Œ ์ž๋™์œผ๋กœ ํ‚คํ”„๋ ˆ์ž„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ(scene cut)์€ ๊บผ๋‘๋Š” ๊ฒŒ ์ผ๋ฐ˜์ ์ด์•ผ. FFmpeg๋กœ ์น˜๋ฉด ์ด๋Ÿฐ ๋А๋‚Œ์ด์•ผ.

ffmpeg -i input.mp4 \
  -c:v libx264 -preset veryfast \
  -g 60 -keyint_min 60 -sc_threshold 0 \
  -b:v 3000k -maxrate 3300k -bufsize 6000k \
  -s 1280x720 -c:a aac -b:a 128k \
  -f hls -hls_time 2 -hls_playlist_type vod \
  out_720p.m3u8

-g 60์€ GOP ๊ธธ์ด, -sc_threshold 0์€ ์žฅ๋ฉด ์ „ํ™˜ ํ‚คํ”„๋ ˆ์ž„ ๋„๊ธฐ, -hls_time 2๋Š” 2์ดˆ ๋‹จ์œ„๋กœ ์ž๋ฅด๋ผ๋Š” ๋œป์ด์•ผ. -maxrate์™€ -bufsize๋กœ ๋น„ํŠธ๋ ˆ์ดํŠธ๊ฐ€ ๊ฐ‘์ž๊ธฐ ํŠ€์ง€ ์•Š๊ฒŒ ๋ฌถ์–ด๋‘๋Š” ๊ฒƒ๋„ ABR์—์„œ ์ค‘์š”ํ•ด. ์‚ฌ๋‹ค๋ฆฌ ์นธ์€ "3Mbps"๋ผ๊ณ  ์จ๋†จ๋Š”๋ฐ ์‹ค์ œ ์กฐ๊ฐ์ด 8Mbps๋กœ ํŠ€๋ฉด ํ”Œ๋ ˆ์ด์–ด ๊ณ„์‚ฐ์ด ๋‹ค ํ‹€์–ด์ง€๊ฑฐ๋“ . ๐Ÿ˜…

๐Ÿ“œ 4. ๋‘ ๊ฐœ์˜ ๊ฑฐ๋Œ€ ํ‘œ์ค€: HLS vs MPEG-DASH

์กฐ๊ฐ๊ณผ ๋ชฉ๋ก ํŒŒ์ผ์„ ์–ด๋–ค ๊ทœ์น™์œผ๋กœ ๋งŒ๋“ค์ง€ ์ •ํ•ด๋†“์€ ๊ฒŒ ์ŠคํŠธ๋ฆฌ๋ฐ ํ”„๋กœํ† ์ฝœ์ด์•ผ. ์ง€๊ธˆ ์„ธ์ƒ์„ ์–‘๋ถ„ํ•˜๋Š” ๊ฑด ์ด ๋‘˜์ด์•ผ.

๐ŸŽ HLS HTTP Live Streaming์˜ ์ค„์ž„๋ง. ์• ํ”Œ์ด 2009๋…„์— ๋ฐœํ‘œํ–ˆ๊ณ , 2017๋…„์— RFC 8216์œผ๋กœ ๋ฌธ์„œํ™”๋์–ด.
๋ชฉ๋ก ํŒŒ์ผ์€ .m3u8 ํ…์ŠคํŠธ ํŒŒ์ผ. ์•„์ดํฐยท์‚ฌํŒŒ๋ฆฌ์—์„œ ๊ธฐ๋ณธ ์ง€์›์ด๋ผ ํ˜ธํ™˜์„ฑ ๋ํŒ์™•์ด์•ผ.
๐ŸŒ MPEG-DASH Dynamic Adaptive Streaming over HTTP. ๊ตญ์ œ ํ‘œ์ค€(ISO/IEC 23009-1)์œผ๋กœ 2012๋…„์— ์ฒ˜์Œ ๋‚˜์™”์–ด.
๋ชฉ๋ก ํŒŒ์ผ์€ XML ํ˜•์‹์˜ .mpd. ํŠน์ • ์ฝ”๋ฑ์— ๋ฌถ์ด์ง€ ์•Š๋Š” ๊ฐœ๋ฐฉํ˜•์ด๋ผ๋Š” ๊ฒŒ ์žฅ์ ์ด์•ผ.

๋‘˜ ๋‹ค ๊ณตํ†ต์ ์ด ์žˆ์–ด. ๊ทธ๋ƒฅ ํ‰๋ฒ”ํ•œ HTTP๋กœ ์กฐ๊ฐ์„ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค๋Š” ๊ฑฐ์•ผ. ๋•๋ถ„์— ์ผ๋ฐ˜ ์›น์„œ๋ฒ„์™€ CDN ์บ์‹œ๋ฅผ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ˆ˜๋ฐฑ๋งŒ ๋ช…์ด ๋™์‹œ์— ๋ด๋„ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ์ง€. ์˜ˆ์ „ RTMP ์‹œ์ ˆ์—” ์ „์šฉ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ–ˆ๋Š”๋ฐ, HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ๋„˜์–ด์˜ค๋ฉด์„œ ๊ทœ๋ชจ ํ™•์žฅ์ด ์—„์ฒญ ์‰ฌ์›Œ์กŒ์–ด.

๊ทธ๋ฆฌ๊ณ  ์š”์ฆ˜์€ CMAF(Common Media Application Format)๋ผ๋Š” ๊ณตํ†ต ํฌ๋งท๋„ ๋งŽ์ด ์จ. ์กฐ๊ฐ์„ fMP4(์กฐ๊ฐ๋‚œ MP4) ํ˜•์‹์œผ๋กœ ํ†ต์ผํ•ด์„œ, ๊ฐ™์€ ์กฐ๊ฐ ํŒŒ์ผ์„ HLS ๋ชฉ๋ก์—๋„ DASH ๋ชฉ๋ก์—๋„ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ๊ฑฐ์•ผ. ์˜ˆ์ „์—” HLS์šฉ(TS ํŒŒ์ผ), DASH์šฉ(MP4 ํŒŒ์ผ)์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ์ €์žฅ ๊ณต๊ฐ„์„ ๋‘ ๋ฐฐ๋กœ ์ผ๋Š”๋ฐ, ์ด๊ฑธ ํ•˜๋‚˜๋กœ ์ค„์ธ ์…ˆ์ด์ง€. ๐Ÿ’พ

HLS ๋งˆ์Šคํ„ฐ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ๋Š” ๋Œ€๋žต ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ์–ด. ์‚ฌ๋žŒ์ด ์ฝ์–ด๋„ ์ดํ•ด๋  ๋งŒํผ ๋‹จ์ˆœํ•˜์ง€?

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=5800000,RESOLUTION=1920x1080
1080p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3300000,RESOLUTION=1280x720
720p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1300000,RESOLUTION=854x480
480p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360
360p/index.m3u8

ํ”Œ๋ ˆ์ด์–ด๋Š” ์ด ๋ฉ”๋‰ดํŒ์„ ๋ณด๊ณ  "์ง€๊ธˆ ๋‚ด ์†๋„๋ฉด 3.3Mbps์งœ๋ฆฌ 720p๊ฐ€ ๋ฌด๋‚œํ•˜๊ฒ ๊ตฐ" ํ•˜๊ณ  ํ•ด๋‹น ๋ชฉ๋ก์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ์กฐ๊ฐ์„ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•ด.

๐Ÿง  5. ํ”Œ๋ ˆ์ด์–ด์˜ ๋‘๋‡Œ: ABR ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ญ˜ ๋ณด๊ณ  ํŒ๋‹จํ• ๊นŒ?

์ž, ์ด์ œ ์ง„์งœ ํ•ต์‹ฌ. ํ”Œ๋ ˆ์ด์–ด๋Š” ์–ด๋–ป๊ฒŒ ํ™”์งˆ์„ ๊ณ ๋ฅผ๊นŒ? ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ํ•™ํŒŒ๊ฐ€ ์žˆ์–ด.

๋ฒ„ํผ ๊ธฐ๋ฐ˜ ABR์˜ ์›๋ฆฌ ๋ฒ„ํผ์— ์Œ“์ธ ์˜์ƒ ์–‘์œผ๋กœ ํ™”์งˆ์„ ๊ณ ๋ฅธ๋‹ค ์œ„ํ—˜ ๊ตฌ๊ฐ„ ์กฐ์ ˆ ๊ตฌ๊ฐ„ ์—ฌ์œ  ๊ตฌ๊ฐ„ 0์ดˆ ์•ฝ 5์ดˆ ์•ฝ 15์ดˆ 30์ดˆ ํ™”์งˆ ๋ฒ„ํผ ๊ธธ์ด โ†’ ์ตœ์ € ํ™”์งˆ ์ตœ๊ณ  ํ™”์งˆ
๐Ÿ“ถ ์ฒ˜๋ฆฌ๋Ÿ‰(Throughput) ๊ธฐ๋ฐ˜ ๋ฐฉ๊ธˆ ๋ฐ›์€ ์กฐ๊ฐ๋“ค์ด ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ์™”๋Š”์ง€ ์ธก์ •ํ•ด์„œ ๋Œ€์—ญํญ์„ ์ถ”์ •ํ•ด. ์ด๋™ํ‰๊ท  ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋“ค์ญ‰๋‚ ์ญ‰ํ•จ์„ ๋‹ค๋“ฌ๊ณ , ์ถ”์ •์น˜๋ณด๋‹ค ์กฐ๊ธˆ ๋‚ฎ์€ ์นธ์„ ๊ณจ๋ผ ์•ˆ์ „ ๋งˆ์ง„์„ ๋‘์ง€.
๋‹จ์ : ์ˆœ๊ฐ„ ์ธก์ •์ด ํ‹€๋ฆฌ๋ฉด ํ™”์งˆ์ด ์ถค์ถฐ.
๐Ÿชฃ ๋ฒ„ํผ(Buffer) ๊ธฐ๋ฐ˜ ๋ฏธ๋ฆฌ ๋ฐ›์•„๋‘” ์˜์ƒ์ด ๋ช‡ ์ดˆ ์Œ“์˜€๋Š”์ง€๋ฅผ ๋ด. ๋ฒ„ํผ๊ฐ€ ๋„‰๋„‰ํ•˜๋ฉด ํ™”์งˆ์„ ์˜ฌ๋ฆฌ๊ณ , ๋ฐ”๋‹ฅ๋‚˜๋ฉด ๋‚ด๋ ค. 2014๋…„ ๋„ทํ”Œ๋ฆญ์Šคยท์Šคํƒ ํผ๋“œ ์—ฐ๊ตฌ์ง„์˜ BBA๊ฐ€ ์œ ๋ช…ํ•ด.
์žฅ์ : ๋Œ€์—ญํญ ์ถ”์ • ์˜ค์ฐจ์— ๋œ ํœ˜๋‘˜๋ ค.
โš–๏ธ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ / ํ•™์Šต ๊ธฐ๋ฐ˜ ๋‘˜ ๋‹ค ๊ฐ™์ด ๋ด. ๋Œ€ํ‘œ์ ์œผ๋กœ dash.js์— ๋“ค์–ด๊ฐ„ BOLA(2016, ๋ฆฌ์•„ํ‘ธ๋…ธํ”„ ์ตœ์ ํ™” ๊ธฐ๋ฐ˜), MPC, ๊ทธ๋ฆฌ๊ณ  ๊ฐ•ํ™”ํ•™์Šต์„ ์“ด Pensieve(MIT, 2017) ๊ฐ™์€ ์—ฐ๊ตฌ๊ฐ€ ์žˆ์–ด.

๋ฒ„ํผ๋ฅผ ์ž๋™์ฐจ ์—ฐ๋ฃŒํ†ต์— ๋น„์œ ํ•˜๋ฉด ์ดํ•ด๊ฐ€ ์‰ฌ์›Œ. โ›ฝ ์—ฐ๋ฃŒ๊ฐ€ ๊ฝ‰ ์ฐจ ์žˆ์œผ๋ฉด ์ข€ ๋ฐŸ์•„๋„(๊ณ ํ™”์งˆ) ๊ดœ์ฐฎ์ง€๋งŒ, ๋ฐ”๋‹ฅ์ด ๋ณด์ด๋ฉด ์—ฐ๋น„ ๋ชจ๋“œ(์ €ํ™”์งˆ)๋กœ ๋ฒ„ํ…จ์•ผ ํ•˜์ž–์•„. ์—ฐ๋ฃŒ๊ฐ€ 0์ด ๋˜๋Š” ์ˆœ๊ฐ„์ด ๋ฐ”๋กœ ๋ฆฌ๋ฒ„ํผ๋ง(rebuffering), ์˜์ƒ์ด ๋ฉˆ์ถ”๋Š” ์ˆœ๊ฐ„์ด์•ผ.

๐ŸŽฏ ์ข‹์€ ABR์ด ๋™์‹œ์— ์žก์•„์•ผ ํ•˜๋Š” ํ† ๋ผ๋“ค

ABR ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์‚ฌ์‹ค ์„œ๋กœ ์‹ธ์šฐ๋Š” ๋ชฉํ‘œ๋“ค ์‚ฌ์ด์—์„œ ์ค„ํƒ€๊ธฐํ•˜๋Š” ๊ฑฐ์•ผ.

๋ชฉํ‘œ์™œ ์ค‘์š”ํ•ด?
๋†’์€ ํ‰๊ท  ํ™”์งˆ๋‹น์—ฐํžˆ ์„ ๋ช…ํ• ์ˆ˜๋ก ์ข‹์œผ๋‹ˆ๊นŒ
๋ฆฌ๋ฒ„ํผ๋ง ์ตœ์†Œํ™”๋ฉˆ์ถค์€ ์‹œ์ฒญ ์ดํƒˆ์˜ 1๋“ฑ ์›์ธ
ํ™”์งˆ ์ „ํ™˜ ํšŸ์ˆ˜ ์ตœ์†Œํ™”ํ™”์งˆ์ด ๊ณ„์† ์˜ค๋ฝ๊ฐ€๋ฝํ•˜๋ฉด ์˜คํžˆ๋ ค ๋ˆˆ์ด ํ”ผ๊ณคํ•ด
๋น ๋ฅธ ์‹œ์ž‘ ์‹œ๊ฐ„์žฌ์ƒ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ณ  ๋ช‡ ์ดˆ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์‚ฌ๋žŒ๋“ค์€ ๋– ๋‚˜

๊ทธ๋ž˜์„œ ๋งŽ์€ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ฒ˜์Œ์—” ์ผ๋ถ€๋Ÿฌ ๋‚ฎ์€ ํ™”์งˆ๋กœ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•œ ๋‹ค์Œ, ์ƒํ™ฉ์„ ๋ณด๋ฉด์„œ ์‚ฌ๋‹ค๋ฆฌ๋ฅผ ์˜ฌ๋ผ๊ฐ€. ์œ ํŠœ๋ธŒ ํ‹€์—ˆ์„ ๋•Œ ์ฒซ 1~2์ดˆ๊ฐ€ ์‚ด์ง ํ๋ฆฟํ•˜๋‹ค๊ฐ€ ์„ ๋ช…ํ•ด์ง€๋Š” ์ด์œ ๊ฐ€ ์ด๊ฑฐ์•ผ. ๐Ÿ˜‰

๐Ÿ”ด 6. ์‹ค์‹œ๊ฐ„(๋ผ์ด๋ธŒ) ์ŠคํŠธ๋ฆฌ๋ฐ์€ ์™œ ๋” ์–ด๋ ค์šธ๊นŒ?

VOD(๋‹ค์‹œ๋ณด๊ธฐ)๋Š” ์˜์ƒ์ด ์ด๋ฏธ ๋‹ค ๋งŒ๋“ค์–ด์ ธ ์žˆ์–ด์„œ, ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฒ„ํผ๋ฅผ 30์ดˆ์”ฉ ๋„‰๋„‰ํ•˜๊ฒŒ ์Œ“์•„๋„ ๋ผ. ๊ทผ๋ฐ ๋ผ์ด๋ธŒ๋Š” ๋‹ฌ๋ผ. ์•„์ง ์ผ์–ด๋‚˜์ง€ ์•Š์€ ๋ฏธ๋ž˜๋Š” ๋ฏธ๋ฆฌ ๋ฐ›์„ ์ˆ˜ ์—†๊ฑฐ๋“ . ๋ฒ„ํผ๋ฅผ ํฌ๊ฒŒ ์žก์œผ๋ฉด ์ง€์—ฐ์ด ์ปค์ง€๊ณ , ์ž‘๊ฒŒ ์žก์œผ๋ฉด ๋Š๊ธฐ๊ธฐ ์‰ฌ์›Œ. ์ด๊ฒŒ ๋ผ์ด๋ธŒ ์ŠคํŠธ๋ฆฌ๋ฐ์˜ ์˜์›ํ•œ ๋”œ๋ ˆ๋งˆ์•ผ.

"์ง€์—ฐ์„ ์ค„์ด๋ฉด ์•ˆ์ •์„ฑ์ด ๋–จ์–ด์ง€๊ณ ,
์•ˆ์ •์„ฑ์„ ์˜ฌ๋ฆฌ๋ฉด ์ง€์—ฐ์ด ๋Š˜์–ด๋‚œ๋‹ค" โš–๏ธ

โฑ๏ธ ์ง€์—ฐ(Latency)์€ ์–ด๋””์„œ ์ƒ๊ธธ๊นŒ?

๋ฐฉ์†กํ•˜๋Š” ์‚ฌ๋žŒ์ด ์†์„ ํ”๋“ค๊ณ  ์‹œ์ฒญ์ž ํ™”๋ฉด์—์„œ ์†์ด ํ”๋“ค๋ฆด ๋•Œ๊นŒ์ง€์˜ ์‹œ๊ฐ„์„ ๊ธ€๋ž˜์Šค ํˆฌ ๊ธ€๋ž˜์Šค(glass-to-glass) ์ง€์—ฐ์ด๋ผ๊ณ  ํ•ด. ์นด๋ฉ”๋ผ ๋ Œ์ฆˆ(์œ ๋ฆฌ)์—์„œ ์‹œ์ฒญ์ž ํ™”๋ฉด(์œ ๋ฆฌ)๊นŒ์ง€๋ผ๋Š” ๋œป์ด์ง€. ์ด ์‹œ๊ฐ„์€ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์—์„œ ์กฐ๊ธˆ์”ฉ ์Œ“์—ฌ.

๋ผ์ด๋ธŒ ์ง€์—ฐ์ด ์Œ“์ด๋Š” ๊ธธ ์ดฌ์˜ ์ธ์ฝ”๋”ฉ ํŒจํ‚ค์ง• CDN ์žฌ์ƒ ์„ธ๊ทธ๋จผํŠธ ๋Œ€๊ธฐ ํ”Œ๋ ˆ์ด์–ด ๋ฒ„ํผ ๊ฐ€์žฅ ํฐ ์ง€๋ถ„์€ ์„ธ๊ทธ๋จผํŠธ ๊ธธ์ด์™€ ๋ฒ„ํผ! ์กฐ๊ฐ์ด ๋‹ค ๋งŒ๋“ค์–ด์ ธ์•ผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ณ , ํ”Œ๋ ˆ์ด์–ด๋Š” ๋ณดํ†ต ์กฐ๊ฐ ๋ช‡ ๊ฐœ๋ฅผ ์Œ“๊ณ  ์‹œ์ž‘ํ•ด์š”

์ „ํ†ต์ ์ธ HLS๋Š” 6์ดˆ ์„ธ๊ทธ๋จผํŠธ์— ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์กฐ๊ฐ 3๊ฐœ์ฏค ์Œ“๊ณ  ์‹œ์ž‘ํ•˜๋Š” ๊ฒŒ ๊ด€ํ–‰์ด์—ˆ์–ด. ๊ณ„์‚ฐํ•ด๋ณด๋ฉด ๋ฒ„ํผ๋งŒ 18์ดˆ์—, ์ธ์ฝ”๋”ฉยท์ „์†ก ์‹œ๊ฐ„๊นŒ์ง€ ๋”ํ•˜๋ฉด 20~30์ดˆ ์ง€์—ฐ์ด ํ”ํ–ˆ์ง€. ์ถ•๊ตฌ ์ค‘๊ณ„ ๋ณด๋Š”๋ฐ ์˜†์ง‘์—์„œ "๊ณจ~!!" ์†Œ๋ฆฌ๊ฐ€ ๋จผ์ € ๋“ค๋ฆฌ๋Š” ๋น„๊ทน์ด ์—ฌ๊ธฐ์„œ ๋‚˜์™€. โšฝ๐Ÿ˜ญ

๐Ÿš€ ์ง€์—ฐ์„ ์ค„์ด๋Š” ๊ธฐ์ˆ ๋“ค

LL-HLS ์• ํ”Œ์ด 2019๋…„์— ๋ฐœํ‘œํ•œ ์ €์ง€์—ฐ HLS. ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋” ์ž‘์€ ํŒŒํŠธ(part)๋กœ ์ชผ๊ฐœ์„œ, ์กฐ๊ฐ์ด ์™„์„ฑ๋˜๊ธฐ ์ „์—๋„ ์•ž๋ถ€๋ถ„๋ถ€ํ„ฐ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์–ด. ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ๊ฐฑ์‹  ๋Œ€๊ธฐ, ๋ฏธ๋ฆฌ ๋‹ค์Œ ํŒŒํŠธ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํžŒํŠธ ๊ฐ™์€ ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋์ง€.
LL-DASH CMAF์˜ '์ฒญํฌ' ๋‹จ์œ„์™€ HTTP์˜ ์ฒญํฌ ์ „์†ก(chunked transfer encoding)์„ ์ด์šฉํ•ด, ์ธ์ฝ”๋”๊ฐ€ ๋งŒ๋“œ๋Š” ์กฑ์กฑ ํ˜๋ ค๋ณด๋‚ด๋Š” ๋ฐฉ์‹์ด์•ผ.
WebRTC ์›๋ž˜ ํ™”์ƒํ†ตํ™”์šฉ์œผ๋กœ ๋งŒ๋“  ๊ธฐ์ˆ . UDP ๊ธฐ๋ฐ˜์œผ๋กœ 1์ดˆ ๋ฏธ๋งŒ ์ง€์—ฐ์ด ๊ฐ€๋Šฅํ•ด. ๋Œ€์‹  ์ˆ˜์‹ญ๋งŒ ๋ช… ๊ทœ๋ชจ๋กœ ํ‚ค์šฐ๋ ค๋ฉด ๋ณ„๋„ ์„œ๋ฒ„ ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•ด์„œ ๋น„์šฉ๊ณผ ๋ณต์žก๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ€.

๋Œ€๋žต์ ์ธ ์ง€์—ฐ ๋ฒ”์œ„๋ฅผ ์ •๋ฆฌํ•˜๋ฉด ์ด๋ž˜. ์ •ํ™•ํ•œ ์ˆ˜์น˜๋Š” ์„ค์ •๊ณผ ํ™˜๊ฒฝ๋งˆ๋‹ค ๋‹ฌ๋ผ์ง€๋‹ˆ ๊ฐ ์žก๋Š” ์šฉ๋„๋กœ ๋ด์ค˜!

๋ฐฉ์‹๋Œ€๋žต์  ์ง€์—ฐ์ž˜ ์–ด์šธ๋ฆฌ๋Š” ๊ณณ
์ „ํ†ต HLS/DASH์•ฝ 10~30์ดˆ+๋Œ€๊ทœ๋ชจ ๋ฐฉ์†ก, ์•ˆ์ •์„ฑ ์šฐ์„ 
LL-HLS / LL-DASH์•ฝ 2~5์ดˆ์Šคํฌ์ธ , ๋ผ์ด๋ธŒ ์ปค๋จธ์Šค, ๊ฐœ์ธ๋ฐฉ์†ก
WebRTC์•ฝ 1์ดˆ ๋ฏธ๋งŒํ™”์ƒํšŒ์˜, ์‹ค์‹œ๊ฐ„ ๊ฒฝ๋งค, ์–‘๋ฐฉํ–ฅ ์†Œํ†ต

๐Ÿงฉ ์ €์ง€์—ฐ ํ™˜๊ฒฝ์—์„œ ABR์ด ๊ฒช๋Š” ๊ณ ์ถฉ

์—ฌ๊ธฐ์„œ ์žฌ๋ฐŒ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•˜๋‚˜ ์ƒ๊ฒจ. ์ฒ˜๋ฆฌ๋Ÿ‰ ๊ธฐ๋ฐ˜ ABR์€ "์กฐ๊ฐ ํ•˜๋‚˜ ๋ฐ›๋Š” ๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„"์œผ๋กœ ์†๋„๋ฅผ ๊ณ„์‚ฐํ•˜์ž–์•„? ๊ทธ๋Ÿฐ๋ฐ ์ €์ง€์—ฐ ๋ชจ๋“œ์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ์กฐ๊ฐ์„ ๋งŒ๋“ค๋ฉด์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด๋‚ด. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์šด๋กœ๋“œ ์‹œ๊ฐ„์ด ๋„คํŠธ์›Œํฌ ์†๋„๊ฐ€ ์•„๋‹ˆ๋ผ ์ธ์ฝ”๋”๊ฐ€ ์˜์ƒ์„ ๋งŒ๋“œ๋Š” ์†๋„์— ๋งž์ถฐ์ง€๋Š” ๊ฑฐ์•ผ. ํšŒ์„ ์ด 100Mbps์—ฌ๋„ 2์ดˆ์งœ๋ฆฌ ์กฐ๊ฐ์€ 2์ดˆ์— ๊ฑธ์ณ ๋„์ฐฉํ•˜๋‹ˆ๊นŒ, ํ”Œ๋ ˆ์ด์–ด ์ž…์žฅ์—์„  "์–ด? ์†๋„๊ฐ€ ์—„์ฒญ ๋А๋ฆฌ๋„ค?" ํ•˜๊ณ  ์ฐฉ๊ฐํ•˜๊ฒŒ ๋ผ. ๐Ÿ˜ต

๊ทธ๋ž˜์„œ ์ €์ง€์—ฐ์šฉ์œผ๋กœ๋Š” ์ฒญํฌ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชฐ๋ ค ๋“ค์–ด์˜ค๋Š” ๊ตฌ๊ฐ„๋งŒ ๊ณจ๋ผ ์ธก์ •ํ•˜๋Š” ๋ฐฉ์‹์ด ์—ฐ๊ตฌ๋์–ด. dash.js์— ๋“ค์–ด๊ฐ„ L2A-LL, LoL+ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐ”๋กœ ์ด ๋ฌธ์ œ๋ฅผ ๊ฒจ๋ƒฅํ•ด ๋‚˜์˜จ ๊ฑฐ์•ผ. ๋˜ ์ง€์—ฐ์ด ๋ชฉํ‘œ๋ณด๋‹ค ์ปค์ง€๋ฉด ์žฌ์ƒ ์†๋„๋ฅผ ์‚ด์ง(์˜ˆ: 1.05๋ฐฐ) ์˜ฌ๋ ค์„œ ๋”ฐ๋ผ์žก๋Š” ์žฌ์ƒ ์†๋„ ์กฐ์ ˆ(catch-up) ๊ธฐ๋ฒ•๋„ ๋งŽ์ด ์จ. ์‚ฌ๋žŒ ๋ˆˆ์—” ๊ฑฐ์˜ ํ‹ฐ๊ฐ€ ์•ˆ ๋‚˜๊ฑฐ๋“ .

๐ŸŽž๏ธ 7. ์ฝ”๋ฑ์ด ๋ฐ”๋€Œ๋ฉด ์‚ฌ๋‹ค๋ฆฌ๋„ ๋ฐ”๋€๋‹ค

์˜์ƒ๋ณ€ํ™˜ ์ด์•ผ๊ธฐ์—์„œ ์ฝ”๋ฑ์„ ๋นผ๋†“์œผ๋ฉด ์„ญํ•˜์ง€. ๊ฐ™์€ ํ™”์งˆ์„ ๋” ์ ์€ ๋น„ํŠธ๋ ˆ์ดํŠธ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉด, ์‚ฌ๋‹ค๋ฆฌ ์ „์ฒด๊ฐ€ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์–ด. ์ฆ‰ ๊ฐ™์€ ํšŒ์„ ์œผ๋กœ ํ•œ๋‘ ๋‹จ๊ณ„ ๋†’์€ ํ™”์งˆ์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฑฐ์•ผ.

H.264 (AVC)2003๋…„ ํ‘œ์ค€ํ™”. ์ง€์› ์•ˆ ๋˜๋Š” ๊ธฐ๊ธฐ๋ฅผ ์ฐพ๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์šด ๊ตญ๋ฏผ ์ฝ”๋ฑ.
H.265 (HEVC)2013๋…„ ํ‘œ์ค€ํ™”. ๋น„์Šทํ•œ ํ™”์งˆ์—์„œ H.264 ๋Œ€๋น„ ๋Œ€๋žต ์ ˆ๋ฐ˜ ์ˆ˜์ค€ ๋น„ํŠธ๋ ˆ์ดํŠธ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ค๊ณ„๋์–ด. ๋‹ค๋งŒ ํŠนํ—ˆ ๋ผ์ด์„ ์Šค๊ฐ€ ๋ณต์žกํ•ด.
AV1AOMedia(๊ตฌ๊ธ€, ๋„ทํ”Œ๋ฆญ์Šค ๋“ฑ ์ฐธ์—ฌ)๊ฐ€ 2018๋…„ ๊ณต๊ฐœํ•œ ๋กœ์—ดํ‹ฐ ํ”„๋ฆฌ ์ฝ”๋ฑ. ์••์ถ• ํšจ์œจ์ด ์ข‹์ง€๋งŒ ์ธ์ฝ”๋”ฉ ์—ฐ์‚ฐ์ด ๋ฌด๊ฑฐ์›Œ.
H.266 (VVC)2020๋…„ ํ‘œ์ค€ํ™”๋œ ์ตœ์‹  ์„ธ๋Œ€. HEVC๋ณด๋‹ค ํšจ์œจ์ด ๋” ๋†’์ง€๋งŒ ์•„์ง ๋ณด๊ธ‰ ์ดˆ๊ธฐ ๋‹จ๊ณ„์•ผ.

์‹ค์ œ ์„œ๋น„์Šค๋“ค์€ ๊ทธ๋ž˜์„œ ๋ฉ€ํ‹ฐ ์ฝ”๋ฑ ์‚ฌ๋‹ค๋ฆฌ๋ฅผ ์šด์˜ํ•˜๊ธฐ๋„ ํ•ด. AV1์„ ํ•ด๋…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ธฐ์—” AV1 ์กฐ๊ฐ์„, ์˜ค๋ž˜๋œ ๊ธฐ๊ธฐ์—” H.264 ์กฐ๊ฐ์„ ์ฃผ๋Š” ์‹์ด์ง€. ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ๊ฐ ๋ Œ๋””์…˜์˜ ์ฝ”๋ฑ ์ •๋ณด๊ฐ€ ์ ํ˜€ ์žˆ์–ด์„œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ž๊ธฐ๊ฐ€ ์†Œํ™” ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋งŒ ๊ณจ๋ผ.

๊ทธ๋ฆฌ๊ณ  ๊ธฐ์–ตํ•ด๋‘˜ ๊ฒƒ! ๋น„ํŠธ๋ ˆ์ดํŠธ๋งŒ์œผ๋กœ ํ™”์งˆ์„ ํŒ๋‹จํ•˜๋ฉด ์•ˆ ๋ผ. ๊ทธ๋ž˜์„œ ๋„ทํ”Œ๋ฆญ์Šค๊ฐ€ ๋งŒ๋“  VMAF ๊ฐ™์€ ์ง€๊ฐ ํ™”์งˆ ์ง€ํ‘œ๊ฐ€ ๋งŽ์ด ์“ฐ์—ฌ. ์‚ฌ๋žŒ์ด ์‹ค์ œ๋กœ ๋А๋ผ๋Š” ํ™”์งˆ ์ ์ˆ˜์— ๊ฐ€๊น๊ฒŒ ์˜ˆ์ธกํ•˜๋„๋ก ๋งŒ๋“  ์ง€ํ‘œ๋ผ, ์‚ฌ๋‹ค๋ฆฌ ์นธ์„ ์„ค๊ณ„ํ•  ๋•Œ "์ด ํ•ด์ƒ๋„์—์„œ ๋น„ํŠธ๋ ˆ์ดํŠธ๋ฅผ ๋” ์˜ฌ๋ ค๋ด์•ผ ์ ์ˆ˜๊ฐ€ ๋ณ„๋กœ ์•ˆ ์˜ค๋ฅด๋„ค?" ๊ฐ™์€ ํŒ๋‹จ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜.

๐Ÿ“ฑ 8. ์šฐ๋ฆฌ ์ƒํ™œ ์† ABR, ์ด๋ ‡๊ฒŒ ์ฒด๊ฐํ•ด

๐ŸŽฎ ๊ฒŒ์ž„ ๋ฐฉ์†ก ๋ณด๋‹ค๊ฐ€ ํ™”์งˆ์ด '์ž๋™'์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค๋ฉด โ†’ ABR์ด ์ž‘๋™ ์ค‘์ด์•ผ.
๐Ÿ“‰ ์™€์ดํŒŒ์ด์—์„œ LTE๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ ์ž ๊น ํ๋ ค์ง โ†’ ๋„คํŠธ์›Œํฌ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์‚ฌ๋‹ค๋ฆฌ๋ฅผ ๋‚ด๋ฆฐ ๊ฑฐ์•ผ.
โฉ '๋ผ์ด๋ธŒ๋กœ ์ด๋™' ๋ฒ„ํŠผ โ†’ ๋ฒ„ํผ๊ฐ€ ์Œ“์ด๋ฉด์„œ ์ง€์—ฐ์ด ์ปค์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ์ตœ์‹  ์ง€์ ์œผ๋กœ ์ ํ”„์‹œ์ผœ ์ฃผ๋Š” ๊ธฐ๋Šฅ์ด์•ผ.
๐Ÿ”‹ ๋ชจ๋ฐ”์ผ์—์„œ ํ™”์งˆ์ด ์ƒ๊ฐ๋ณด๋‹ค ๋‚ฎ๊ฒŒ ์žกํž˜ โ†’ ํ™”๋ฉด ํฌ๊ธฐ์™€ ๋ฐ์ดํ„ฐ ์ ˆ์•ฝ์„ ๊ณ ๋ คํ•ด ์ผ๋ถ€ ์„œ๋น„์Šค๋Š” ์ƒํ•œ์„ ์„ ๋‘๊ธฐ๋„ ํ•ด.

๋งŒ์•ฝ ํ™”์งˆ์„ ์ˆ˜๋™์œผ๋กœ 1080p ๊ณ ์ •ํ•˜๋ฉด? ABR์ด ๊บผ์ง€๋Š” ๊ฑฐ๋ผ ์†๋„๊ฐ€ ๋–จ์–ด์งˆ ๋•Œ ๋ฒ„ํผ๋ง์ด ๋ฐ”๋กœ ์™€. ๋ฐ์ดํ„ฐ ์š”๊ธˆ์ œ๊ฐ€ ๊ฑฑ์ •๋˜๋ฉด ๋ฐ˜๋Œ€๋กœ ๋‚ฎ๊ฒŒ ๊ณ ์ •ํ•˜๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด์ง€. ๊ฒฐ๊ตญ '์ž๋™'์€ ๋Œ€๋ถ€๋ถ„์˜ ์ƒํ™ฉ์—์„œ ๊ฐ€์žฅ ๋œ ์งœ์ฆ๋‚˜๋Š” ์„ ํƒ์ง€๋ผ๊ณ  ๋ณด๋ฉด ๋ผ. ๐Ÿ˜„

๐Ÿ› ๏ธ 9. ์ง์ ‘ ๋ฐฉ์†กํ•˜๊ฑฐ๋‚˜ ์˜์ƒ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด? ์ฒดํฌ๋ฆฌ์ŠคํŠธ

๊ฐœ์ธ ๋ฐฉ์†ก์ด๋‚˜ ๊ฐ•์˜ ์˜์ƒ ํ”Œ๋žซํผ์„ ์šด์˜ํ•˜๋ ค๋Š” ์นœ๊ตฌ๋“ค์„ ์œ„ํ•œ ์‹ค์ „ ๊ฟ€ํŒ์ด์•ผ. ์˜์ƒ ํŽธ์ง‘์ด๋‚˜ ์ธ์ฝ”๋”ฉ ์„ธํŒ…์ด ๋ง‰๋ง‰ํ•˜๋ฉด ์žฌ๋Šฅ๋„ท ๊ฐ™์€ ์žฌ๋Šฅ ๊ณต์œ  ํ”Œ๋žซํผ์—์„œ ์˜์ƒ๋ณ€ํ™˜ยท์ŠคํŠธ๋ฆฌ๋ฐ ์„ธํŒ… ๊ฒฝํ—˜์ด ์žˆ๋Š” ์ „๋ฌธ๊ฐ€์—๊ฒŒ ๋„์›€์„ ๋ฐ›๋Š” ๊ฒƒ๋„ ์‹œ๊ฐ„์„ ์•„๋ผ๋Š” ๋ฐฉ๋ฒ•์ด์•ผ.

โœ“
์†ก์ถœ ๋น„ํŠธ๋ ˆ์ดํŠธ๋Š” ์—…๋กœ๋“œ ์†๋„์˜ ์—ฌ์œ ๋ถ„ ์•ˆ์—์„œ
์—…๋กœ๋“œ ์†๋„๊ฐ€ 10Mbps๋ผ๋ฉด 6Mbps ์–ธ์ €๋ฆฌ๋กœ ์žก๋Š” ์‹์œผ๋กœ ์ˆจ ์‰ด ํ‹ˆ์„ ๋‚จ๊ฒจ๋‘ฌ.
โœ“
ํ‚คํ”„๋ ˆ์ž„ ๊ฐ„๊ฒฉ ๊ณ ์ •
ํ”Œ๋žซํผ ๊ถŒ์žฅ๊ฐ’(ํ”ํžˆ 2์ดˆ)์„ ๋”ฐ๋ผ. ์•ˆ ๋งž์œผ๋ฉด ์„œ๋ฒ„ ์ชฝ ํŠธ๋žœ์Šค์ฝ”๋”ฉยท์„ธ๊ทธ๋จผํŠธ ๋ถ„ํ• ์ด ๊ผฌ์—ฌ.
โœ“
CBR ํ˜น์€ ์ƒํ•œ ์žˆ๋Š” VBR
๋ผ์ด๋ธŒ ์†ก์ถœ์—์„  ๋น„ํŠธ๋ ˆ์ดํŠธ๊ฐ€ ์ผ์ •ํ•œ ํŽธ์ด ์•ˆ์ •์ ์ด์•ผ.
โœ“
์‚ฌ๋‹ค๋ฆฌ๋Š” ์ฝ˜ํ…์ธ ์— ๋งž๊ฒŒ
์Šฌ๋ผ์ด๋“œ ์œ„์ฃผ ๊ฐ•์˜๋Š” ๋‚ฎ์€ ๋น„ํŠธ๋ ˆ์ดํŠธ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๊ณ , ๊ฒŒ์ž„ยท์Šคํฌ์ธ ๋Š” ๋†’๊ฒŒ ์žก์•„์•ผ ํ•ด.
โœ“
๋ชฉํ‘œ ์ง€์—ฐ๋ถ€ํ„ฐ ์ •ํ•˜๊ธฐ
์ฑ„ํŒ… ์†Œํ†ต์ด ์ค‘์š”ํ•˜๋ฉด ์ €์ง€์—ฐ, ์ˆ˜๋งŒ ๋ช… ๋Œ€์ƒ ์ด๋ฒคํŠธ๋ฉด ์•ˆ์ •์„ฑ ์šฐ์„ . ๋ชฉ์ ์ด ๊ธฐ์ˆ ์„ ๊ณ ๋ฅธ๋‹ค!

๐Ÿ”ฎ 10. ์•ž์œผ๋กœ์˜ ํ๋ฆ„

์ŠคํŠธ๋ฆฌ๋ฐ ๊ธฐ์ˆ ์€ ์ง€๊ธˆ๋„ ์‘ฅ์‘ฅ ์ง„ํ™” ์ค‘์ด์•ผ. ๋ช‡ ๊ฐ€์ง€ ํ๋ฆ„๋งŒ ์งš์–ด๋ณผ๊ฒŒ.

โ‘  ์ „์†ก ๊ณ„์ธต์˜ ์ง„ํ™”: HTTP/3๋Š” UDP ๊ธฐ๋ฐ˜์˜ QUIC ์œ„์—์„œ ๋Œ์•„๊ฐ€. ํŒจํ‚ท ํ•˜๋‚˜ ์žƒ์–ด๋ฒ„๋ ธ๋‹ค๊ณ  ๋’ค ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์ „๋ถ€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ฌธ์ œ(ํ—ค๋“œ ์˜ค๋ธŒ ๋ผ์ธ ๋ธ”๋กœํ‚น)๋ฅผ ์ค„์—ฌ์ค˜์„œ ์ŠคํŠธ๋ฆฌ๋ฐ์—๋„ ์œ ๋ฆฌํ•ด. ์ด ์œ„์—์„œ ์ €์ง€์—ฐ ๋ฏธ๋””์–ด ์ „์†ก์„ ํ•˜๋ ค๋Š” MoQ(Media over QUIC) ํ‘œ์ค€ํ™” ์ž‘์—…๋„ IETF์—์„œ ์ง„ํ–‰๋˜๊ณ  ์žˆ์–ด.

โ‘ก ๋” ๋˜‘๋˜‘ํ•œ ABR: ๊ฐ•ํ™”ํ•™์Šต ๊ฐ™์€ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ณ„์† ์—ฐ๊ตฌ๋˜๊ณ  ์žˆ๊ณ , ์„œ๋ฒ„์™€ CDN์ด ๋„คํŠธ์›Œํฌ ์ •๋ณด๋ฅผ ํ”Œ๋ ˆ์ด์–ด์—๊ฒŒ ํžŒํŠธ๋กœ ์ฃผ๋Š” ๋ฐฉ์‹(CMCD/CMSD ๊ฐ™์€ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ ๊ทœ๊ฒฉ)๋„ ๋“ฑ์žฅํ–ˆ์–ด. ํ”Œ๋ ˆ์ด์–ด ํ˜ผ์ž ์ถ”์ธกํ•˜๋˜ ์‹œ๋Œ€์—์„œ ์„œ๋กœ ๋Œ€ํ™”ํ•˜๋Š” ์‹œ๋Œ€๋กœ ๊ฐ€๋Š” ์ค‘์ด์ง€.

โ‘ข ์ฝ˜ํ…์ธ  ์ธ์ง€ ์ธ์ฝ”๋”ฉ: ์žฅ๋ฉด๋งˆ๋‹ค, ์‹ฌ์ง€์–ด ์‹œ์ฒญ ๊ธฐ๊ธฐ๋งˆ๋‹ค ๋‹ค๋ฅธ ์ตœ์  ์‚ฌ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉํ–ฅ์ด์•ผ. ๊ทธ๋งŒํผ ์˜์ƒ๋ณ€ํ™˜ ๋‹จ๊ณ„์˜ ์ค‘์š”์„ฑ์ด ๋” ์ปค์ง€๊ณ  ์žˆ์–ด.

๐Ÿงพ ํ•œ ์ค„ ์š”์•ฝ! ์ ์‘์  ๋น„ํŠธ๋ ˆ์ดํŠธ๋Š” ์˜์ƒ์„ ์—ฌ๋Ÿฌ ํ™”์งˆ๋กœ ๋ณ€ํ™˜ํ•ด ์ž˜๊ฒŒ ์ชผ๊ฐœ ๋‘๊ณ , ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋„คํŠธ์›Œํฌ์™€ ๋ฒ„ํผ ์ƒํ™ฉ์„ ๋ณด๋ฉฐ ์กฐ๊ฐ๋งˆ๋‹ค ํ™”์งˆ์„ ๊ณจ๋ผ ๋ฐ›๋Š” ๊ธฐ์ˆ ์ด์•ผ.
๋ผ์ด๋ธŒ์—์„  ์—ฌ๊ธฐ์— "์ง€์—ฐ"์ด๋ผ๋Š” ์ˆ™์ œ๊ฐ€ ๋”ํ•ด์ง€๊ณ , LL-HLSยทLL-DASHยทWebRTC๊ฐ€ ๊ฐ์ž์˜ ๋ฐฉ์‹์œผ๋กœ ๊ทธ ์ˆ™์ œ๋ฅผ ํ’€๊ณ  ์žˆ์–ด.
๋‹ค์Œ์— ํ™”์งˆ์ด ์Šฌ์ฉ ๋ฐ”๋€Œ๋ฉด "์˜ค, ABR ์ผํ•˜๋„ค?" ํ•˜๊ณ  ํ•œ ๋ฒˆ ์›ƒ์–ด์ฃผ์ž. ๐Ÿ˜Ž

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ

ยท RFC 8216 โ€“ HTTP Live Streaming (IETF): https://datatracker.ietf.org/doc/html/rfc8216
ยท Apple โ€“ HTTP Live Streaming (HLS) Authoring Specification for Apple Devices: https://developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices
ยท Apple โ€“ Enabling Low-Latency HLS: https://developer.apple.com/documentation/http-live-streaming/enabling-low-latency-http-live-streaming-hls
ยท ISO/IEC 23009-1 โ€“ Dynamic adaptive streaming over HTTP (DASH): https://www.iso.org/standard/83314.html
ยท Netflix Tech Blog โ€“ Per-Title Encode Optimization (2015): https://netflixtechblog.com/per-title-encode-optimization-7e99442b62a2
ยท Huang et al., "A Buffer-Based Approach to Rate Adaptation", ACM SIGCOMM 2014
ยท Spiteri et al., "BOLA: Near-Optimal Bitrate Adaptation for Online Videos", IEEE INFOCOM 2016
ยท Mao et al., "Neural Adaptive Video Streaming with Pensieve", ACM SIGCOMM 2017
ยท dash.js (DASH Industry Forum) GitHub: https://github.com/Dash-Industry-Forum/dash.js
ยท Netflix VMAF GitHub: https://github.com/Netflix/vmaf

๋Œ“๊ธ€ ์ž‘์„ฑ

์ด ๊ธ€์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ƒ๊ฐ์„ ๋“ค๋ ค์ฃผ์„ธ์š”

๋Œ“๊ธ€ 0
๋Œ“๊ธ€์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.

์•„์ง ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค.