Streaming
Last updated
Was this helpful?
Last updated
Was this helpful?
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
κ°μ₯ λ§μ΄ μ¬μ©λλ λ°©μμ λλ€. YouTube λ± μλΉμ€μμ μ¬μ©ν©λλ€. κ°μ₯ ꡬννκΈ° μ¬μ΄ λ°©μμ΄λ©°, μΉ μλ²μ λμμμ μ¬λ € λλ©΄ ν΄λΉ μμμ μ£Όμλ§ μκ³ μλ€λ©΄ μ κ·Όν μ μμ΅λλ€.
URLμ ν΅ν΄ νλ μ΄μ΄λ‘ μ κ·Όνλ©΄ νμΌμ λ€μ΄λ‘λνκ³ , λ€μ΄λ‘λ λ λΆλΆμ μ¬μν©λλ€.
λ¨μ μ μ¬μ©μκ° μ€μ 보λ λ§νΌμ΄ μλ λ€μ΄λ‘λν λ§νΌ λ°μ΄ν°κ° μλΉλλ€λ κ²μ λλ€.
μΈν°λ· μλμ λ°λΌ μνν μλΉμ€λ₯Ό μ 곡 λ°μ§ λͺ»ν μ μλλ°, YouTubeλ₯Ό μμ²νλ€κ° μ¬μμ΄ λ©μΆκ³ λκΈ°νλ κ²½μ°κ° μ΄λ° κ²½μ°μ λλ€.
λμμμ νμ§μ μ‘°μ ν μ μμ΅λλ€. YouTube μ¬μ λμ€ νμ§μ λ³κ²½νλ©΄ μ²μλΆν° λ€μ λ€μ΄λ‘λνκ² λ©λλ€. μ΄λ YouTubeκ° νμ§μ λ³κ²½νλ©΄ λ³κ²½λ νμ§λ‘ μ΄μ΄μ λΆλ¬μ€λ κ²μ΄ μλλΌ νμ§ λ³λ‘ μ¬λ¬ κ°μ λμμμ μ¬λ € λκ³ μ 곡νκΈ° λλ¬Έμ λλ€.
μμ Progressive downloadμ λ¬λ¦¬ λ°μ΄ν°λ₯Ό 미리 λ°μμ€μ§ μκ³ , μ¬μ©μκ° νμ¬ "μμ²"νκ³ μλ μμμ νλ μλ§μ μ μ‘νλ©°, μ΄λ―Έ μμ²ν λ°μ΄ν°λ λ²λ¦½λλ€.
νλ‘ν μ½μ λ€μ λ κ°λ₯Ό μ¬μ©ν©λλ€.
RTMP(Real Time Messaging Protocol)
νλμλ₯Ό μν μ€νΈλ¦¬λ° νλ‘ν μ½μ΄λ©°, λλΆλΆ CDNμ΄ μ§μνλ νλ‘ν μ½μ΄λΌκ³ νλ€μ. (νλμ μ§μμ΄ κ±°μ λκΈ°κ³ μ μ§λ³΄μλ μ€λ¨λμ΄μ...)
RTSP(Real Time Streaming Protocol)
μ€νΈλ¦¬λ° μλ²λ CDNμμ λ§μ΄ μ§μνμ§ μλλ€κ³ ν©λλ€.
νΉμ§μΌλ‘λ,
λΉμ© λλ¬Έμ μΌλ°μ μΈ μλ²μμ λ§μ΄ μ§μνμ§ μμ΅λλ€.
μ¬λ΄ λ°©νλ²½μ λ§νλ κ²½μ°κ° μλ€κ³ ν©λλ€.
λ°μ΄ν°λ₯Ό μ μ₯νμ§ μκ³ λ°λ‘ λ²λ¦¬λ―λ‘ μΈν°λ· μλκ° μ¬μλ³΄λ€ λ리면 μμ£Ό λκΈ°κ² λ©λλ€.
RTMPμ κ²½μ° μ€κ°μ λΉλμ€ νμ§μ λ³κ²½ν΄λ μ΄μμ΄ μμ΄ ν΅μ λ§μ΄ λ³κ²½λκ±°λ νλ©΄ ν¬κΈ°κ° λ¬λΌμ§κ±°λ ν΄λ μ μμ μΌλ‘ μ¬μμ΄ κ°λ₯ν©λλ€.
λΌμ΄λΈ μμλ μ€νΈλ¦¬λ°μ΄ κ°λ₯ν©λλ€.
μμ λ λ°©μ - progressive downloadμ RTMP, RTSP streamingμ μ₯μ μ κ²°ν©ν λ°©μμ λλ€.
μλ²μμλ λͺ μ΄ λ¨μμ λΉλμ€λ₯Ό κ°κ³ μ€νΈλ¦¬λ°νλ©°, μ΄ μ‘°κ°μ μ°μλ μ€νΈλ¦ΌμΌλ‘ ν΄λΌμ΄μΈνΈμμ μ°κ²°μν΅λλ€.
νμ€ μΉ μλ²λ₯Ό νμ©ν μ μκΈ° λλ¬Έμ CDN μ 체λ€μ΄ μ§μνκ³ μμ΅λλ€.
μ΄λ₯Ό μ΄μ©ν λνμ μ¬λ‘λ μ νμ HLS(HTTP LIve Streaming)μ΄ μμ΅λλ€.
λ¨μ μ μ ν΄μ§ νμ€μ΄ μμ΄ μ 체λ³λ‘ μ¬μ©λ²μ΄ λ€λ¦ λλ€.
Apple-HLS
MPEG-DASH
Transport layerμμ μ¬μ©λλ νλ‘ν μ½μΈ TCPμ UDP μ€ μ€νΈλ¦¬λ°μμ μ¬μ©λλ νλ‘ν μ½μ μ΄λ€ κ²μΌκΉμ?
μΌλΆ μ€νΈλ¦¬λ° λ°©μμμλ UDP, μΌλΆμμλ TCPκ° μ¬μ©λλ€κ³ ν©λλ€.
TCPλ λ°μ΄ν° μ μ‘ μ μ μ μ© μ°κ²°μ μ΄κ³ λͺ¨λ λ°μ΄ν° ν¨ν·μ μμλ₯Ό 보μ₯νμ§λ§ UDPλ κ·Έλ μ§ μκΈ° λλ¬Έμ TCPκ° λ μμ μ μ λλ€.
UDPλ μΌλΆ ν¨ν·μ΄ μμ€λ μ μμ§λ§ TCPλ³΄λ€ λΉ λ¦ λλ€.
μ€νΈλ¦¬λ°μ κ²½μ° μμ μ±λ³΄λ€ μλκ° λ μ€μν κ²½μ°λ μμ΅λλ€.
νμ νμμ μ°Έμνλ μ¬λλ€μ λͺ¨λ λ°μ΄ν°κ° μ λ¬λ λκΉμ§ κΈ°λ€λ¦¬λ κ²λ³΄λ€ λ€λ₯Έ νμ μ°Έμμλ€κ³Ό μ€μκ°μΌλ‘ μνΈ μμ©νλ κ²μ μ νΈν©λλ€. λ°λΌμ λ°μ΄ν° ν¨ν· λͺ κ°κ° μμ€λλ κ²μ ν° λ¬Έμ κ° μλλ―λ‘ UDPλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
λ¬Όλ‘ μμ μ±μ΄ λ μ€μν κ²½μ°λ μμ΅λλ€.
HTTP λΌμ΄λΈ μ€νΈλ¦¬λ° (HLS), MPEG-DASH λͺ¨λ μ μ‘μ TCPλ₯Ό μ¬μ©νκ³ μλλ°, λ§μ μ£Όλ¬Έν λΉλμ€ μλΉμ€μμ TCPκ° μ¬μ©λ©λλ€.
μ€νΈλ¦¬λ° λ―Έλμ΄ νλ μ΄μ΄λ μ°κ²°μ΄ μ μ μ€λ¨λλλΌλ λΉλμ€λ μ€λμ€κ° κ³μ μ¬μλ μ μλλ‘ μ€νΈλ¦Όμ λͺ μ΄ λΆλμ 미리 λ‘λνλλ°, μ΄λ₯Ό λ²νΌλ§μ΄λΌκ³ ν©λλ€.
λ²νΌλ§μ μ΄μ©ν΄ λμμμ μννκ³ μ°μμ μΌλ‘ μ¬μν μ μμ΅λλ€.
μ°κ²° μλκ° λ리거λ λ€νΈμν¬ λκΈ° μκ°μ΄ κΈΈμ΄μ§λ©΄ λ²νΌλ§μ μκ°μ΄ μ€λ 걸릴 μ μμ΅λλ€.
μ€νΈλ¦¬λ°μ λν λ§μ μ 보λ₯Ό μλ μΆμ²μμ λ΄μ μμ΅λλ€.
κ°λ°μ λΌλ©΄ - λΉλμ€ μ€νΈλ¦¬λ° κΈ°μ΄ κ°λ | λμμ | λ©ν°λ―Έλμ΄ - μ°Έκ³ ν΄λ³΄λ©΄ μ’μ μ©μ΄λ€.