본문 바로가기

Silverlight

[Silverlight] 실버라이트 미디어 서비스에 더이상의 "버퍼링"은 없다.

안녕하세요. 준서아빠 김대우 입니다.

Silverlight의 미디어 서비스의 여러 새로운 시도들을 꾸준히 전달해 드렸는데요.

이번에 소개해 드릴 내용은 십수년간 미디어 서비스의 "벽"으로 알려진 
고화질 미디어의 "버퍼링" 해결에 대한 내용입니다.


먼저, 직접 눈으로 보시는건 어떨까요?


링크 : http://www.smoothhd.com 

보시면, 우선은 단순한 HD급 웹 미디어 서비스라고 생각 하실지 모르겠습니다.
하지만, Seek(탐색)이나 미디어 변경을 해보시면 SmoothHD의 진가를 보실 수 있습니다. 

넵, 버퍼링 없이, HD급 고화질의 미디어가 끊김 없이 플레이됩니다.

이것이 바로 Smooth Streaming 기술인데요. 먼저, 이 프로모션 사이트부터 설명을 드려야 할 것 같습니다.
이 SmoothHD 웹사이트는 akamai라는 글로벌 CDN 회사에서 서비스를 제공하고 있습니다.
Windows Server 2008의 IIS7에 Smooth Streaming Add-in으로 구성되는 기술을 통해 
현재 서비스가 되고 있는 상태 입니다.

참고로, 현재 다운로드가 가능한 Expression Encoder2 서비스팩1을 이용하시면 
개인 PC환경에서도 테스트를 진행해 보실 수 있습니다. 
- Expression Encoder2 서비스팩1에 포함된 개발자용 웹서버 이용

조금만 더 기술 구현을 상세히 보자면...
미디어를 Seek(탐색)하거나 다른 미디어로 변경할 경우 순간적으로 Silverlight 런타임이
사용자 환경에 최적화된 Bitrate로 변환을 시키게 됩니다. 
예를들면, 1M의 Bitrate으로 서비스되던 영상에서 Seek를 할 경우 

- 사용자의 CPU상황, 네트워크 대역폭을 감지해 미리 정의된 낮은 Bitrate로 연결을 변환하며
- 네트워크 대역폭이나 CPU상황이 정상화되면 즉시 최상의 화질을 제공하는 대역폭으로 서비스를 하게 됩니다.


즉, 사용자의 CPU사용량, 네트워크 상황을 자동으로 감지해 인텔리젼트하게 최상의 미디어 서비스를
자동으로 제공하게 됩니다.


여기에 사용되는 기술은 크게 3가지 인데요.
1) Progressive Download 기능
웹 미디어 서비스를 하시는 분들은 다 아실만한 미디어 파일을 다운로드 하면서 플레이를 시키는 기능이지요.
2) Byte Range Seek 기능
Progressive Download시의 문제는 다운로드 되지 않은 영역에 대한 Seek(탐색)입니다.
다운로드 되지 않은 영역으로 Seek할 경우 해당 영역 다운로드까지 대기하는 것이 아니라
즉시, 해당 위치부터 미디어 서비스를 제공하는 기술입니다.
3) 동적인 Bitrate 변환 기능
사용자 시스템의 CPU 및 네트워크 대역폭을 판단해 미리 서버측에 인코딩된 미디어로 인텔리젼트하게
변환하는 기능입니다.

이러한 기능들이 합쳐져 새로운 Silverlight 미디어 서비스 경험을 제공하게 되는 것이지요.

웹에서의 새로운 시도일 뿐 아니라, 기존 디지털 TV사업의 큰 문제중 하나였던 채널 변환시의
3~5초 정도의 응답없음 상태(버퍼링) 역시 충분히 해결 가능할 것입니다.

아, Silverlight이 곧 H.264를 지원하는 것도 알고 계실것입니다.
WMV, MP3, WMA Pro를 넘어 H.264까지... 단순히 H.264를 지원할 뿐 아니라 여러 H.264 컨테이너를 지원하며
H.264 디코딩에 사용되는 핵심 기술 역시 오늘날의 다른 기술들보다 월등할 예정입니다.

개인적인 생각입니다만, 마치 GOM플레이어처럼, Direct Show Filter에 코덱 필터를 등록해 
다양한 종류의 코덱으로 구성된 미디어를 플레이 가능한 PC용 미디어 플레이어 툴들처럼, 
웹기반의 RIA에 이러한, 아무 코덱이나 끼워 넣을 수 있는 플랫폼 기술이 포함된다면
어떻게 웹 미디어 산업이 변화할까요? 

Silverlight의 웹 상호 운영성을 향한 끊임없는 진화가 기대됩니다.


[출처] 준서아빠가 생각하는 행복한 UX이야기