가변 비트레이트 스트리밍

가변 비트레이트 스트리밍은 네트워크의 상태 혹은 전송속도 등을 기반으로 대역폭이 소화할 수 있는 정도의 고화질(즉 높은 비트스트레이트를 가진 소스를 이용)의 부분 컨텐츠를 전송하는 방식을 말함. 물론 대역폭이 떨어지거나 네트워크 혼잡도가 높아지면서 전송 효율이 떨어지면 낮은 부분 컨텐츠로 변경하여 전송하도록 함.

어떻게?

가변 전송을 하기 위해서는 가변 전송을 하고자 하는 컨텐트를 다양한 비트레이트로 인코딩하는 과정이 선행되어야 한다. 고화질의 원본 소스파일은 서비스 하고자 하는 비트레이트의 종류만큼 복수개의 파일로 인코딩 되어야 하고 가변 스트리밍을 위하여 전체 길이의 파일을 2~10초 단위의 부분 동영상으로 나누어 저장하게 된다. 예를들어 1분짜리 동영상을 3개의 비트레이트로 가변 비트레이트 스트리밍을 한다고 하면,  10초 단위로 부분 동영상을 만든다고 할 때 30개의 파일(각 비트레이트 별로 10개씩)로 나누어져야 하는 것이다.



그렇다면 사용자는 파일이 이렇게 쪼개져 있다는 것을 어떻게 알 수 있을까? 가변 비트레이트 스트리밍이 시작되는 시점에 사용자의 플레이어는 인코딩된 파일들의 조각 정보가 담겨 있는 메니페스트파일을 받게 되고 이 파일을 담고 있는 비트레이트의 종류, 부분 파일의 식별 방법에 따라 적절한 파일을 HTTP로 요청하여 받게 된다.


[가변 비트레이트 전송 프로토콜의 종류]

-MPEG_DASH(Dynamic Adaptive Streaming over HTTP)

-Adobe Dynamic Streaming for Flash(HDS)

-Apple Http Adaptive Streaming for iPhone/iPad/STB (HLS)

-Microsoft Smooth Streaming



출처 : https://ondemand.tistory.com/177

'웹 개발 > 안드로이드' 카테고리의 다른 글

안드로이드 타이틀바 없애기  (0) 2017.05.11
RecyclerView란?  (0) 2017.05.10
GCM( Google Cloud Messaging ) 이란?  (0) 2017.04.10
Parcelable  (0) 2017.04.08
Intent  (0) 2017.03.18

+ Recent posts