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

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

 
그렇다면 사용자, 즉 엔드유저는 파일이 이렇게 쪼개져 있다는 것을 어떻게 알 수 있을까? 가변 비트레이트 스트리밍이 시작되는 시점에 사용자의 플레이어는 인코딩된 파일들의 조각 정보가 담겨 있는 메니페스트(Manifest) 파일을 받게 되고 이 파일이 담고 있는 비트레이트의 종류, 부분 파일의 식별 방법에 따라 적절한 파일을 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


참고 : http://en.wikipedia.org/wiki/Adaptive_bitrate_streaming

- NoPD - 
728x90

+ Recent posts