(올해 초에 기고 형태로 작성했던 원고를 블로그에 올립니다)
웹을 이용하는 사용자들의 눈 높이와 기대 수준이 올라가면서, 텍스트뿐만 아니라 음악이나 동영상 같은 미디어가 웹에서 점점 더 중요한 콘텐트가 되어 가고 있습니다. 이 같은 미디어 콘텐트는 텍스트에 비해서 전송할 데이터가 많이 필요 하기 때문에, 서비스를 제공하는 입장에서는 네트워크 비용에 대한 고민을 하지 않을 수 없습니다. 게다가, 사용자들은 점점 고 품질의 콘텐트를 더 빠르게 제공 받기를 원한다는 것이 서비스 제공자를 어렵게 하는 부분입니다.
여기에서는 일반적으로 미디어를 전달하는 방식에 대한 간단한 소개와 더불어 윈도우 서버 2008에서 특화된 세 가지 미디어 기능에 대해서 알아보고 이 기능들이 서비스의 제공자가 고민하는 문제에 대해서 어떻게 해결책이 될 수 있는지를 알아 보고자 합니다. 끝으로는 윈도우 서버 환경에서 Silverlight 기술을 이용해서 손쉽게 동영상이나 고화질 사진 서비스를 제공 할 수 있도록 개발된 Hugeflow 미디어 팩에 대한 소개를 하도록 하겠습니다.
현재 미디어를 온라인 상에서 전달하는 방식은 크게 두 가지로 구분해 볼 수 있습니다. 우선은 실시간 방송 이나 사용자가 원하는 콘텐트의 위치를 바로 서비스 할 수 있는 스트리밍 방식과 다른 하나는 웹 서버로부터 파일을 다운 받아서 재생을 하는 방식인 다운로드 방식이 있습니다.
스트리밍 방식의 경우는 윈도우 서버 2008에서는 Windows Media Service를 추가로 설치해서 사용 할 수 있으며, 다운로드 방식은 IIS 웹 서버를 이용해서 서비스를 할 수가 있습니다. 과거에는 다운로드 방식이 파일을 모두 다운로드 받고 나서야 재생을 할 수 있었고, 스트리밍 방식은 재생을 위한 버퍼 정도만 다운로드 받으면 재생을 할 수 있었기 때문에, 실시간 콘텐트가 아닌 경우에도 스트리밍 방식이 많이 사용이 되었습니다.
하지만 다운로드 받으면서도 부분 재생이 가능한 프로그래시브 다운로드 방식이 사용되게 되면서, 웹 서버를 이용한 다운로드 방식이 기존 스트리밍 방식을 쓰던 곳에서도 많이 사용 되고 있습니다. 또한, 다운로드 방식은 부가적인 스트리밍 서버가 필요하지 않고, 일반 HTTP 프로토콜을 이용하기 때문에 일반 웹 서버에서도 쉽게 서비스가 가능하다는 장점이 있습니다.
<Windows Server 2008에서 제공하는 프로그래시브 다운로드 방식과 스트리밍 방식>
하지만, 이 같은 프로그래시브 다운로드 방식을 사용할 때 불필요한 다운로드가 발생하는 경우가 생길 수 있습니다. 예를 들면 사용자가 길이가 긴 영상을 프로그래시브 다운로드 방식으로 볼 때, 사용자는 재생을 시작하면서 서버로부터 전체 영상을 다운로드 받기 시작합니다. 하지만 사용자가 영상의 처음 부분 만을 보고 재생을 종료한다면, 재생한 이후 분량은 사용되지 않은 채로 없어 지게 됩니다.
<일반 프로그래시브 다운로드 방식 – 사용자가 보지 않은 부분까지 자동 다운로드 됨>
<비트레이트 스로틀링 기능을 적용 – 설정한 일정 부분 이상 다운로드 되지 않음>
윈도우서버 2008에서 제공하는 미디어 기능 중 첫 번째로 소개해 드리려고 하는 비트레이트 스로틀링 기능은 미디어 서비스 시에 위와 같은 사용하지 않을 수 있는 네트워크 전송을 줄일 수 있는 기술 입니다. 윈도우 서버 2008에 IIS Media Pack 1.0을 설치하고 이 기능을 활성화 하면, 서비스 제공자는 사용자가 보고 있는 미디어를 계속 다운 받는 것이 아니라 현재 재생 위치 보다 조금 앞선 부분까지만 다운로드 받도록 제어 할 수 있습니다. 이 기능은 미디어 파일의 확장자 별로 혹은 시간이나 인코딩 화질을 이용해서 다운로드를 관리를 합니다. 추가로 이 기능은 IIS7 에서 자체적으로 제공하는 기능이므로 사용자가 어떤 플레이어를 사용하는지에 상관없이 적용이 가능합니다.
<비트레이트 스로틀링 추가 설정 하는 화면>
두 번째로 소개해드리고자 하는 기능은 미디어에 포함되는 광고와 관련해서 제공하는 기능 입니다. 미디어에 포함된 광고를 통한 수입은 서비스 업체 입장에서는 간과 할 수 없는 부분으로, 광고를 얼마나 더 쉽고 편리하게 미디어 콘텐트에 포함해서 사용자에게 전달하는 것의 여부가 비즈니스에 중요하다고 할 수 있습니다.
기존 미디어에 대한 광고는 보통 미디어가 시작 되기 전 한 두 개의 짧은 광고를 보고 난 후에 사용자가 원하는 콘텐트를 볼 수 있게 하는 방식이 사용되는데요, 이 때 사용자들이 광고를 뛰어넘고 직접 콘텐트에 접근을 하지 못하도록 하는 기능이 필요하게 됩니다. 광고 플랫폼은 이와 같은 콘텐트 보호 기능뿐만 아니라, 광고를 교체하기 쉽도록 구성이 되어야 하는데, 이를 위해서 추가적인 개발이 필요했습니다.
윈도우 서버 2008 에 IIS Media Pack 1.0을 설치해서 사용 가능한 Web Playlist 기능은 미디어 콘텐트와 광고 콘텐트를 특정 리스트 형태로 만들어서, 사용자가 그 리스트 순서대로 영상을 보도록 하게합니다. 또한 실제 미디어 콘텐트의 경로를 접근 가능하지 않도록 해서, 콘텐트를 보호하는 역할도 할 수 있습니다. 이처럼 기본적인 광고 모델의 관리적인 부분에서 매우 효과적인 기능이라고 할 수 있습니다.
<플레이리스트 추가 및 편집 화면>
이미 말씀 드린 두 가지의 기능들이 서비스 제공자에게 필요한 기능들이었다면, 세 번째로 소개해드릴 것은 제공자는 물론 사용자에게도 향상된 미디어 경험을 줄 수 있는 기술 입니다. 바로 Smooth Streaming이라고 하는 기술인데요, IIS7 웹 서버의 다운로드 방식을 이용하면서도 기존 스트리밍이 가지고 있는 장점까지 흡수한 기능이라고 할 수 있습니다.
온라인에서 미디어를 재생 시에 스트리밍으로 서비스를 할 경우는 사용자가 끊기지 않고 재생을 할 수 있도록 일정 양의 데이터를 사용자 환경에 미리 저장하는 버퍼링 과정을 거치게 됩니다. 네트워크 사정에 따라서 이 버퍼링 시간이 더 길어질 수도 있고, 혹은 중간 위치로 탐색을 했을 경우에는 재 버퍼링을 해야 하는 불편이 있을 수 있습니다. 또한, 프로그래시브 다운로드 방식의 경우는 아직 다운로드 받지 않은 부분을 재생하지는 못하기 때문에 보고 싶은 위치까지 다운로드가 될 때까지 기다려야 하는 불편함이 있었습니다.
Smooth Streaming 을 사용하면 서버에서 사용자의 네트워크 상태를 자동으로 모니터링 해서 필요에 따라서 높은 화질과 낮은 화질을 번갈아 가면서 서비스를 할 수 있습니다. 또한 이 같은 변경이 미디어의 재생 중에도 자연스럽게 이어지기 때문에 사용자들은 끊김 없이 미디어 서비스를 받을 수 있게 됩니다. 구간 탐색을 이용해서 아직 다운로드 받지 않은 중간 부분을 선택 했을 때에도 높은 화질로 재생 하기에 충분한 상태가 될 때까지는 낮은 화질로 서비스를 하게 되며, 점차 높은 화질로 변경이 되게 됩니다.
<네트워크 상태에 따라서 화질 별로 서비스가 되는 것을 보여줌 - 왼편 하단>
사용자들은 본인의 네트워크 상태에 따라서 미디어의 품질을 선택하는 번거로움 없이 자동으로 서비스를 받을 수 있게 되는데요, 이것은 서버에 다양한 화질의 미디어가 각각 잘게 잘려진 형태로 있다가, 네트워크의 상태에 따라서 선택적으로 서비스를 해주는 방식 이기 때문입니다. 서비스 제공자가 다양한 화질로 인 코딩을 해서 서비스를 하는 것은 마이크로소프트의 Expression Encoder 2 를 이용하시면 쉽게 가능 합니다.
<Expression Encoder 2를 이용해서 Smooth Streaming 에 이용 가능하도록 설정 하는 화면>
Smooth Streaming 서비스가 제공자에게 주는 또 다른 큰 장점 중의 하나는 HTTP 캐쉬를 이용할 수 있기 때문에 같은 시간대에 많은 사용자가 몰리는 영상의 경우는 사용자들이 네트워크 상에서 캐쉬된 데이터를 가지고 오기 때문에 서버 쪽의 트래픽 부담을 큰 폭으로 줄이고, 이는 네트워크 비용의 절감으로 이어지게 됩니다.
Smooth Streaming을 사용하기 위해서는 서버 쪽에는 Web Platform Installer 2 (beta)를 이용해서 IIS7 에 Smooth Streaming (beta)를 설치하고, 사용할 미디어 콘텐트를 연결해 주면 되며, 사용자들은 Silverlight와 같은 Smooth Streaming 콘텐트를 재생할 수 있는 기능이 포함된 플레이어를 이용하면 됩니다. Silverlight 플레이어는 Smooth Streaming 을 지원하는 것 이외에도 VC-1 같은 고화질 영상 코덱이 포함 되어 있고, 추가적인 기능들도 쉽게 추가할 수 있어 사용자들에게 훌륭한 미디어 경험을 줄 수 있습니다.
<Smooth Streaming 을 위한 IIS7 서버 설정 화면>
<Smooth Streaming을 위한 미디어의 생성 및 전달 과정>
지금부터는 한국마이크로소프트의 파트너 업체인 휴즈플로우에서 개발한 Hugeflow 미디어 팩에 포함된 Silverlight 애플리케이션인 미디어 플레이어와 Deep Zoom 뷰를 이용해서 윈도우 서버 환경에서 쉽게 고 품질의 미디어 서비스를 시작하는 것을 소개 하려고 합니다. 설치 방법은 Http://www.windowslovephp.co.kr 사이트에 있는 다운로드 파일에 포함된 읽어보기 문서를 참고하시면 쉽게 하실 수 있습니다.
우선 미디어 플레이어는 Silverlight를 이용해서 다양한 미디어 파일을 사용자들이 간단히 재생하고 공유할 수 있도록 하는 프로그램 입니다. 기본적으로 미디어 플레이어와 같은 재생과 관련한 기능과 다른 곳으로 퍼갈 수 있는 기능을 포함하고 있으며, Expression Encoder를 이용해서 만든 챕터 정보를 이용한 바로 가기 기능도 지원 하고 있습니다. 스킨은 검은색과 하얀색으로 디자인 된 두 개가 기본적으로 제공이 됩니다.
<Hugeflow Media Player 설정 화면>
Silverlight의 장점인 다양한 환경과 다양한 브라우저에서 작동할 수 있으며, 웹 상에서 미디어 파일 재생에 꼭 필요한 기능들로 구성된 Hugeflow 미디어 플레이어를 이용해서, 홈페이지나 게시판 등 미디어가 요구되는 여러 환경에서 요긴하게 사용할 수 있을 것으로 생각 합니다.
휴즈 플로우 미디어 팩의 두 번째 애플리케이션은 DeepView인데요, Silverlight 기술이 갖고 있는 고화질 이미지를 편리하게 볼 수 있도록 하는 Deep Zoom 기능을 더 쉽게 적용할 수 있도록 개발된 애플리케이션 입니다. 기존에 Deep Zoom을 사용하기 위해서는 이미지를 Deep Zoom 형태로 변환해주는 수작업이 필요했는데요, 이 부분을 서버 쪽에서 자동화 할 수 있는 기능을 구축해두었으며, 이 외에도 Deep Zoom에 미니맵과 전체 화면 보기, 그리고 퍼가기 기능을 추가해서 그 사용 성을 높였습니다.
<Hugeflow DeepView 설정 화면>
복잡한 제품 설명서와 같은 크게 확대를 해서 본다거나, 고화질의 사진 서비스가 필요한 곳에서는 Silverlight 기술을 이용한 hugeflow DeepView를 이용해서 보다 사용자들에게 높은 만족도를 줄 수 있는 서비스를 제공할 수 있을 것으로 생각 합니다.
지금까지 설명을 드린 기능 들 이외에도 윈도우 서버 2008에는 미디어 사용 기록을 자세하게 저장 할 수 있는 Advanced Logging 등과 같은 미디어 서비스에 꼭 필요한 내용들이 있으며, 앞으로도 지속적으로 사용자와 서비스 제공자에게 필요한 기능들이 추가 될 예정입니다.
<Advanced Logging 기능>
고품질 콘텐트의 끊김 없는 서비스 같은 높아진 사용자들의 눈 높이를 맞추면서도, 제공자에게는 실제 비용을 줄일 수 있는 다양한 기능을 제공하는 윈도우 서버 2008의 미디어 기능을 활용해 보시길 바랍니다.