요즘 서버쪽 보다는 동영상이나 모바일 같은 미디어쪽 기술을 보게 되는군요. 참 이것저것 많이 봅니다.
오늘은 IIS의 재미있는 기술을 하나 발견해서 소개합니다
IIS7 Media Pack에 포함된 Smooth Streaming이라는 기술입니다.
동영상 Streaming 기술은 크게 3가지 정도로 구분이 되는데
Traditional Streaming
기존의 RTSP,Adobe의 RTMP등이 이 기술에 속합니다. 미리 인코딩 된 동영상을 TCP나 UDP 세션에 따라서 클라이언트 버퍼 크기 만큼 쭈욱 Streaming해주는 거지요. 그래서 버퍼만큼 받기 때문에 뒤돌리기나 앞으로 돌리기가 안됩니다.
Progressive Streaming
YouTube나 MSN,MySpace등이 사용하는 기술로 HTTP download를 이용합니다. HTTP로 다운로드 하면서 Play하고 forward나 rewind 또는 절대 위치 지정시에 HTTP Server에 전송 block을 다시 요청할 수 있기 때문에 앞,뒤로 돌리기가 가능합니다. HTTP를 사용하기 때문에 Cache를 사용할 수 도 있고, FireWall 제약에서도 벗어날 수 있습니다. 단 문제가 10분짜리 동영상을 보는데, 약 1분만 보고 꺼버렸다... 이런경우 전체 동영상이 다 다운로드 되어 있을 수 있습니다. 그말은 즉 NETWORK Bandwidth가 낭비된다는 겁니다. 통신망 사업자 입장에서는 bandwidth가 돈이져
그래서 새롭게 소개된 방식이
HTTP based Adaptive Streaming이라는 방식입니다. 위의 두 장점을 다 합해서 버퍼 크기만큼만 다운로드를 할 수 있게 합니다. 그래서 Progressive Streaming처럼 중간에 끊더라도 band width가 낭비될 염려가 없습니다. 이건 클라이언트의 다운로드 상황을 체크해서 내려보내기 때문에 가능한건데.. 다운로드 상황뿐만 아니라 네트워크 bandwidth, 클라이언트의 CPU상황, 해상도에 맞춰서 그때그때 마다 최적화된 형태로 Encoding해서 내려보내기 때문에 끊기지 않는 동영상을 일반 인터넷망에서도 제공할 수 있습니다. 우리가 집에서 쓰는 IPTV들은 통신사와 집간에 Qos (일정 수준의 Bandwidth를 보장하도록 설계 되었습니다.) 그래서 망 사업자가 아니더라도 HD급의 화질 서비스가 가능하게 됩니다. 이것이 IIS7 MeidaPack에 포함된 Smooth Streaming이라는 서비스입니다. 공짜입니다.!! 중요하져... 이말은 즉, 상당히 저비용으로 HD급 인터넷 방송 서비스를 만들 수 있다는 이야기가 됩니다.
사실 이외에도 여러가지 Feature가 있습니다만 오늘은 말이 잘 정리 안되는 관계로 여기 까지...
참고로 기술적 SPEC은 클라이언트는 SilverLIght를 지원하고 MP4 방식으로 인코딩을 합니다. Non-Windows Platform에서는 Linux 기반의 Open source인 moonlight라는 패키지가 있으니 이를 이용해서 클라이언트를 만들 수 잇습니다.
참고하세요
==
참고 사항 : 세계 1위의 CDN 업체인 Akamai가 Smooth Streaming을 지원합니다.
Smooth Streaming 데모는 http://www.smoothhd.com에서 확인 가능합니다.
'클라우드 컴퓨팅 & NoSQL > IIS' 카테고리의 다른 글
IIS의 Asynchronous 처리. (1) | 2010.05.08 |
---|---|
IIS Process 구조 (0) | 2010.05.06 |