Streaming
์คํธ๋ฆฌ๋ฐ (Streaming)
Stream์ด๋ ๋ฐ์ดํฐ์ "ํ๋ฆ"์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋์์์ HTTP๋ฅผ ํตํด ๋ค์ด๋ฐ๊ฒ ๋๋ฉด ์ ๋ถ ๋ค์ด๋ก๋ ๋ฐ์ ๋๊น์ง ์ฌ์ํ์ง ๋ชปํฉ๋๋ค.
ํ์ง๋ง ๋์์์ "์คํธ๋ฆฌ๋ฐ"ํด ๋ค์ด๋ก๋ํ๋ฉด(Streaming over HTTP), ์ฌ๋ฌ ์กฐ๊ฐ(chunk)๋ก ๋๋ ์ ์ ์กํ๊ธฐ ๋๋ฌธ์ ๋์คํฌ์ ์ ์ฅํ์ง ์๊ณ ๋ ๋ค์ด๋ก๋์ ๋์์ ์ฌ์ํ ์ ์์ต๋๋ค.
์คํธ๋ฆฌ๋ฐ์ ์ฌ์ฉํ๋ฉด...
๋์์ ๋๊ธฐ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
Adaptive streaming์ด๋ผ๊ณ ํด์, bandwidth๋ video size, network condition์ ๋ฐ๋ผ ์ด๋ป๊ฒ ๋ณด๋ผ ๊ฒ์ธ์ง ๊ฒฐ์ ํ ์ ์๋ ์ ์ฐ์ฑ์ ๊ฐ๋ ๋ฐฉ์๋ ์์ต๋๋ค.
HTTP-based delivery๋ ๋๋ถ๋ถ ํด๋ผ์ด์ธํธ์์ ์ง์ํ๋ฏ๋ก ์ ๊ฒฝ์ธ ํ์๊ฐ ์์ง๋ง, HLS, DASH์ ๊ฐ์ ์คํธ๋ฆฌ๋ฐ ํ๋กํ ์ฝ์ ํ๋ฌ๊ทธ์ธ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊น์์ผ ํ ์ ์์ต๋๋ค.
DASH๋ ๋ทํ๋ฆญ์ค์์ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ํ๋ค์. (Streaming Over HTTP)
์ข
๋ฅ
Progressive Download
RTSP/RTMP Streaming
Adaptive HTTP Streaming
1. Progressive Download

๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฉ์์ ๋๋ค. YouTube ๋ฑ ์๋น์ค์์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ฅ ๊ตฌํํ๊ธฐ ์ฌ์ด ๋ฐฉ์์ด๋ฉฐ, ์น ์๋ฒ์ ๋์์์ ์ฌ๋ ค ๋๋ฉด ํด๋น ์์์ ์ฃผ์๋ง ์๊ณ ์๋ค๋ฉด ์ ๊ทผํ ์ ์์ต๋๋ค.
URL์ ํตํด ํ๋ ์ด์ด๋ก ์ ๊ทผํ๋ฉด ํ์ผ์ ๋ค์ด๋ก๋ํ๊ณ , ๋ค์ด๋ก๋ ๋ ๋ถ๋ถ์ ์ฌ์ํฉ๋๋ค.
๋จ์ ์ ์ฌ์ฉ์๊ฐ ์ค์ ๋ณด๋ ๋งํผ์ด ์๋ ๋ค์ด๋ก๋ํ ๋งํผ ๋ฐ์ดํฐ๊ฐ ์๋น๋๋ค๋ ๊ฒ์ ๋๋ค.
์ธํฐ๋ท ์๋์ ๋ฐ๋ผ ์ํํ ์๋น์ค๋ฅผ ์ ๊ณต ๋ฐ์ง ๋ชปํ ์ ์๋๋ฐ, YouTube๋ฅผ ์์ฒญํ๋ค๊ฐ ์ฌ์์ด ๋ฉ์ถ๊ณ ๋๊ธฐํ๋ ๊ฒฝ์ฐ๊ฐ ์ด๋ฐ ๊ฒฝ์ฐ์ ๋๋ค.
๋์์์ ํ์ง์ ์กฐ์ ํ ์ ์์ต๋๋ค. YouTube ์ฌ์ ๋์ค ํ์ง์ ๋ณ๊ฒฝํ๋ฉด ์ฒ์๋ถํฐ ๋ค์ ๋ค์ด๋ก๋ํ๊ฒ ๋ฉ๋๋ค. ์ด๋ YouTube๊ฐ ํ์ง์ ๋ณ๊ฒฝํ๋ฉด ๋ณ๊ฒฝ๋ ํ์ง๋ก ์ด์ด์ ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์๋๋ผ ํ์ง ๋ณ๋ก ์ฌ๋ฌ ๊ฐ์ ๋์์์ ์ฌ๋ ค ๋๊ณ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
2. RTSP/RTMP Streaming

์์ Progressive download์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ฐ์์ค์ง ์๊ณ , ์ฌ์ฉ์๊ฐ ํ์ฌ "์์ฒญ"ํ๊ณ ์๋ ์์์ ํ๋ ์๋ง์ ์ ์กํ๋ฉฐ, ์ด๋ฏธ ์์ฒญํ ๋ฐ์ดํฐ๋ ๋ฒ๋ฆฝ๋๋ค.
ํ๋กํ ์ฝ์ ๋ค์ ๋ ๊ฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
RTMP(Real Time Messaging Protocol)
ํ๋์๋ฅผ ์ํ ์คํธ๋ฆฌ๋ฐ ํ๋กํ ์ฝ์ด๋ฉฐ, ๋๋ถ๋ถ CDN์ด ์ง์ํ๋ ํ๋กํ ์ฝ์ด๋ผ๊ณ ํ๋ค์. (ํ๋์ ์ง์์ด ๊ฑฐ์ ๋๊ธฐ๊ณ ์ ์ง๋ณด์๋ ์ค๋จ๋์ด์...)
RTSP(Real Time Streaming Protocol)
์คํธ๋ฆฌ๋ฐ ์๋ฒ๋ CDN์์ ๋ง์ด ์ง์ํ์ง ์๋๋ค๊ณ ํฉ๋๋ค.
ํน์ง์ผ๋ก๋,
๋น์ฉ ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ์๋ฒ์์ ๋ง์ด ์ง์ํ์ง ์์ต๋๋ค.
์ฌ๋ด ๋ฐฉํ๋ฒฝ์ ๋งํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์๊ณ ๋ฐ๋ก ๋ฒ๋ฆฌ๋ฏ๋ก ์ธํฐ๋ท ์๋๊ฐ ์ฌ์๋ณด๋ค ๋๋ฆฌ๋ฉด ์์ฃผ ๋๊ธฐ๊ฒ ๋ฉ๋๋ค.
RTMP์ ๊ฒฝ์ฐ ์ค๊ฐ์ ๋น๋์ค ํ์ง์ ๋ณ๊ฒฝํด๋ ์ด์์ด ์์ด ํต์ ๋ง์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ํ๋ฉด ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ง๊ฑฐ๋ ํด๋ ์ ์์ ์ผ๋ก ์ฌ์์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ผ์ด๋ธ ์์๋ ์คํธ๋ฆฌ๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
3. Adaptive HTTP Streaming

์์ ๋ ๋ฐฉ์ - progressive download์ RTMP, RTSP streaming์ ์ฅ์ ์ ๊ฒฐํฉํ ๋ฐฉ์์ ๋๋ค.
์๋ฒ์์๋ ๋ช ์ด ๋จ์์ ๋น๋์ค๋ฅผ ๊ฐ๊ณ ์คํธ๋ฆฌ๋ฐํ๋ฉฐ, ์ด ์กฐ๊ฐ์ ์ฐ์๋ ์คํธ๋ฆผ์ผ๋ก ํด๋ผ์ด์ธํธ์์ ์ฐ๊ฒฐ์ํต๋๋ค.
ํ์ค ์น ์๋ฒ๋ฅผ ํ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ CDN ์ ์ฒด๋ค์ด ์ง์ํ๊ณ ์์ต๋๋ค.
์ด๋ฅผ ์ด์ฉํ ๋ํ์ ์ฌ๋ก๋ ์ ํ์ HLS(HTTP LIve Streaming)์ด ์์ต๋๋ค.
๋จ์ ์ ์ ํด์ง ํ์ค์ด ์์ด ์ ์ฒด๋ณ๋ก ์ฌ์ฉ๋ฒ์ด ๋ค๋ฆ ๋๋ค.
Apple-HLS
MPEG-DASH
Protocol
Transport layer์์ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์ธ TCP์ UDP ์ค ์คํธ๋ฆฌ๋ฐ์์ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์ ์ด๋ค ๊ฒ์ผ๊น์?
์ผ๋ถ ์คํธ๋ฆฌ๋ฐ ๋ฐฉ์์์๋ UDP, ์ผ๋ถ์์๋ TCP๊ฐ ์ฌ์ฉ๋๋ค๊ณ ํฉ๋๋ค.
TCP๋ ๋ฐ์ดํฐ ์ ์ก ์ ์ ์ ์ฉ ์ฐ๊ฒฐ์ ์ด๊ณ ๋ชจ๋ ๋ฐ์ดํฐ ํจํท์ ์์๋ฅผ ๋ณด์ฅํ์ง๋ง UDP๋ ๊ทธ๋ ์ง ์๊ธฐ ๋๋ฌธ์ TCP๊ฐ ๋ ์์ ์ ์ ๋๋ค.
UDP๋ ์ผ๋ถ ํจํท์ด ์์ค๋ ์ ์์ง๋ง TCP๋ณด๋ค ๋น ๋ฆ ๋๋ค.
์คํธ๋ฆฌ๋ฐ์ ๊ฒฝ์ฐ ์์ ์ฑ๋ณด๋ค ์๋๊ฐ ๋ ์ค์ํ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
ํ์ ํ์์ ์ฐธ์ํ๋ ์ฌ๋๋ค์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ๋ณด๋ค ๋ค๋ฅธ ํ์ ์ฐธ์์๋ค๊ณผ ์ค์๊ฐ์ผ๋ก ์ํธ ์์ฉํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ ํจํท ๋ช ๊ฐ๊ฐ ์์ค๋๋ ๊ฒ์ ํฐ ๋ฌธ์ ๊ฐ ์๋๋ฏ๋ก UDP๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ฌผ๋ก ์์ ์ฑ์ด ๋ ์ค์ํ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
HTTP ๋ผ์ด๋ธ ์คํธ๋ฆฌ๋ฐ (HLS), MPEG-DASH ๋ชจ๋ ์ ์ก์ TCP๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ, ๋ง์ ์ฃผ๋ฌธํ ๋น๋์ค ์๋น์ค์์ TCP๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Buffering
์คํธ๋ฆฌ๋ฐ ๋ฏธ๋์ด ํ๋ ์ด์ด๋ ์ฐ๊ฒฐ์ด ์ ์ ์ค๋จ๋๋๋ผ๋ ๋น๋์ค๋ ์ค๋์ค๊ฐ ๊ณ์ ์ฌ์๋ ์ ์๋๋ก ์คํธ๋ฆผ์ ๋ช ์ด ๋ถ๋์ ๋ฏธ๋ฆฌ ๋ก๋ํ๋๋ฐ, ์ด๋ฅผ ๋ฒํผ๋ง์ด๋ผ๊ณ ํฉ๋๋ค.
๋ฒํผ๋ง์ ์ด์ฉํด ๋์์์ ์ํํ๊ณ ์ฐ์์ ์ผ๋ก ์ฌ์ํ ์ ์์ต๋๋ค.
์ฐ๊ฒฐ ์๋๊ฐ ๋๋ฆฌ๊ฑฐ๋ ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ์ด ๊ธธ์ด์ง๋ฉด ๋ฒํผ๋ง์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
References
์คํธ๋ฆฌ๋ฐ์ ๋ํ ๋ง์ ์ ๋ณด๋ฅผ ์๋ ์ถ์ฒ์์ ๋ด์ ์์ต๋๋ค.
๊ฐ๋ฐ์ ๋ผ๋ฉด - ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ๊ธฐ์ด ๊ฐ๋ | ๋์์ | ๋ฉํฐ๋ฏธ๋์ด - ์ฐธ๊ณ ํด๋ณด๋ฉด ์ข์ ์ฉ์ด๋ค.
Last updated
Was this helpful?