메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

DirectShow 기술 소개

한빛미디어

|

2002-05-27

|

by HANBIT

10,570

저자: 『IT 백두대간, DirectShow 멀티미디어 프로그래밍』의 저자 신화선(L544@freechal.com)

DirectShow의 탄생

IT 백두대간, DirectShow 멀티미디어 프로그래밍
DirectShow의 모체는 이전 비디오 캡처의 주요 기술인 "VfW(Video for Windows)"로 본다. 그 이유는 VfW의 많은 기술들이 모두 DirectShow로 흡수되었기 때문이다. 비디오 캡처 기술은 처음에는 단순히 비디오 편집을 위해 입력된 영상을 파일에 저장하는 것을 주 목적으로 하였지만 PC에서 멀티미디어의 요구가 늘어나면서 단순 저장보다는 화상 회의(video conferencing) 같은 다양한 애플리케이션의 형태로 발전하게 되었다. VfW 기술은 이러한 다양한 요구를 받아들이기에는 역부족이었고 이 때문에 벤더들은 자신들의 독점 기술을 사용하여 VfW 기술을 확장하고 이를 자신의 애플리케이션에 사용하게 되었다. 이 때문에 애플리케이션은 멀티미디어 요구에 맞추어 확장되었지만 시장의 표준은 무너지고 서로 호환되지 않는 기술들이 난립하게 되어 결과적으로 사용자의 불편만 가중시켰다. 따라서 마이크로소프트는 새로운 멀티미디어 기술 도입의 필요성을 인지하게 되고 시장이 필요로 하는 멀티미디어 애플리케이션을 분석하기에 이르렀다. 그 결과 그 동안 벤더들이 제각각 독자적으로 확장한 VfW 기술을 흡수하고 윈도우 내에 흩어져 있는 각종 멀티미디어 기술을 통합하는 기술을 발표하였는데 그것이 바로 DirectShow이다. 마이크로소프트는 멀티미디어 애플리케이션을 분석하여 해결해야 할 멀티미디어의 특징을 분류하였다. 그리고 이 같은 현안을 해결하기 위해 DirectShow에 "필터(filter)"라는 구조의 컴포넌트를 도입하고 이들을 조합하여 다양한 멀티미디어 환경에 대응할 수 있도록 DirectShow를 설계하였다. 필터는 마이크로소프트의 COM(component object model) 기술을 기반으로 제작되고 이에 따라 생성된 객체(object)는 독립된 COM 객체로서 대우를 받는다. 또한 필터를 통한 컴포넌트 구조는 멀티미디어 특성인 다양한 입력, 다양한 포맷, 그리고 다양한 출력의 문제를 해결할 뿐만 아니라, 커널 모드(kernel-mode)를 대표하는 필터를 사용하거나 DirectDraw와 DirectSound의 하드웨어 추상화 방식을 활용한다.

DirectShow의 기능과 발전방향

DirectShow로 할 수 있는 것은 미디어 재생, 재생 효과, 오디오 효과, 비디오 효과, 파일 저장, 포맷 변환믹싱 또는 먹싱과 같은 스트림 합치기, 스트림 추출, 코덱 성능 검사, 사운드 카드 녹음, 비디오 카메라 녹화, DVD 재생 및 저장 등 전 분야의 멀티미디어 애플리케이션을 다룰 수 있다. 이는 DirectShow가 이미 VfW 같은 이전의 기술보다 포괄적이며 멀티미디어 전반에 적용될 수 있는 유연한 하부구조(framework)을 갖고 있기 때문이다. 이 때문에 현재 윈도우 기반의 PC에서 모든 멀티미디어 애플리케이션을 총괄할 뿐만 아니라 웹의 멀티미디어까지 지원하고 있다. 뿐만 아니라 WinCE 기반의 PDA와 마이크로소프트 사가 주도하는 디지털TV 셋탑(set-top box)에서도 동작한다. 마이크로소프트의 윈도우 미디어 플레이어는 DirectShow를 기반으로 작동하는 대표적인 프로그램이며 멀티미디어 스트리밍으로 인기를 누리고 있는 윈도우 미디어 기술(Windows Media Technology) 또한 DirectShow 기반 기술이다. 현재 인터넷 익스플로러에서 재생되는 멀티미디어가 윈도우 미디어 플레이어의 ActiveX 컨트롤인 것까지 감안할 경우 현재 마이크로소프트의 모든 멀티미디어 기술이 DirectShow에 집중되어 있다는 사실을 알 수 있다. 이러한 영향때문인지 마이크로소프트는 DirectX 8.0을 발표하면서 이전 버전까지 "DirectX 미디어"에 속해있던 DirectShow를 DirectX 배포 패키지에 포함시켰다. 이로 인해 DirectX의 다른 컴포넌트와 동등한 대우를 받게 될 뿐만 아니라 WinCE 같은 다른 플랫폼에서 DirectX 지원이 확대될 때마다 DirectShow 지원 확대도 보장된다. 뿐만 아니라 마이크로소프트 TV(MS TV) 플랫폼에도 DirectDraw와 함께 DirectShow가 포함됨에 따라 점차 임베디드(embedded) 환경에서의 멀티미디어 환경도 DirectShow로 구축되고 있다는 사실을 알 수 있다. 마이크로소프트 사의 WinHEC(Windows Hardware Engineering Conference) 웹 사이트(http://ww.microsoft.com/winhec/)에 가서 발표 자료들을 살펴보면 마이크로소프트의 현재와 미래의 나아갈 방향을 더 자세하게 확인할 수 있을 것이다. .NET과 결부된 멀티미디어 플랫폼까지 예상되고 있지만 이는 수면에 드러나 있지 않고 현재로서는 각종 문서에서 은유적으로만 암시하고 있을 뿐이다. .NET이 웹을 포함한 모든 플랫폼의 중립을 대상으로 하고 있으므로 앞으로 모든 플랫폼에서 사용되는 멀티미디어 기술 또한 DirectShow가 될 것이다.

DirectShow의 미래

따라서 DirectShow의 미래는 밝다. 이미 윈도우 멀티미디어의 중심이 되어 있는 기술을 쉽게 포기할 수는 없기 때문이다. 필자가 이렇게 DirectShow의 미래에 대해 언급하는 이유는 적어도 윈도우에서 멀티미디어 기술을 사용하는데 DirectShow는 최적의 기술이며 향후에도 계속 지원될 것이므로 믿고 사용해도 된다는 것을 강조하기 위해서 이다. 컴포넌트를 기반으로 한 DirectShow 하부구조는 단지 멀티미디어에 국한되는 것이 아니라 다른 용도로도 확장될 수 있는 유연함을 갖고 있기 때문에 좋은 구조를 경험하는 것만으로도 프로그래머로서 아주 좋은 기회라고 생각한다. 멋진 하부구조를 경험할 것인지 또다시 멋진 기술을 찾아 다닐 것인지, 이제 선택은 독자에게 달렸다!

저자 신화선씨의 홈페이지: http://www.L544.com
TAG :
댓글 입력
자료실

최근 본 상품0