본문 바로가기

Papyrus/Dizzy Report

미디어 플레이어에서 mkv 파일 재생

미디어 플레이어에서 mkv 영상을 보기 위해서는 먼저 해당 디코더가 필요하다. mkv 포맷은 특정 인코딩 포맷이 아니라, 미디어 컨테이너 포맷이다. 요즘은 보통 H.264 포맷으로 인코딩하기 때문에 mkv 확장자가 H.264 인코딩인 것처럼 인식되는 경우가 많다.

여튼, ffdshow tryouts을 설치하면 H.264 포맷을 디코딩 할 수 있는데, 정작 스플리터(splitter)는 자동으로 설치되지 않는다. 스플리터란 영상과 음성을 분리해주는 필터를 말한다. 이런 DirectShow Filter들의 존재를 가장 시각적으로 파악할 수 있는 방법은 그래프 에디터를 이용하는 것이다. 그래프 에디터는 Windows SDK에 포함되어 있는 유틸리티인데, 각 미디어 파일을 읽어들이면 해당 미디어 파일이 어떤 필터를 필요로 하는지를 명확하게 파악할 수 있다. 물론, 미디어 파일이 필요로 하는 필터가 시스템에 등록되어 있지 않았다면 위의 필터링 과정은 나타나지 않는다. 그래프 에디터가 출력을 연결할 필터를 찾을 수 없기 때문이다. 예를 들어, 아래의 첫 번째 AVI 파일은 AVI Splitter를 통해 영상 정보와 음성 정보가 분리되고, 해당 디코더로 데이터가 전달되지만, 두 번째 WMV 파일은 스플리터를 통하지 않고 직접 디코더로 데이터가 전달되는 것을 볼 수 있다. 이것은 시스템에 이미 MPEG4 비디오 디코더와 MPEG3 오디오 디코더, WMVideo / WMAudio 디코더가 설치되어 있기 때문이다.



즉, 이런 각각의 정보를 디코딩해주는 필터가 시스템에 이미 등록되어 있다면, 미디어 플레이어에서 mkv나 mp4 동영상을 재생하기 위해 필요한 나머지는 스플리터이다. 오디오 / 비디오를 재생하기 위해 간단히 ffdshow를 설치하는 경우, mkv 형식을 위한 스플리터는 자동으로 설치되지 않는다. 따라서 직접 설치하거나, 간단히 Haali Media Splitter를 설치하는 경우가 대부분일 것이다. Haali Media Splitter는 http://www.matroska.org/downloads/windows.html에서 구할 수 있다. 하지만, 그냥 간단히 MatroskaSplitter만 설치하는 것도 나쁘지 않다. 또, MPC Homecinema에서도 standalone 형식의 필터를 제공한다. MPC Homecinema 프로젝트는 sourceforge.net에서 찾을 수 있고, 다운로드 패키지에서 MatroskaSplitter 필터를 regsvr32 유틸리티를 사용해서 등록해주면 미디어 플레이어에서도 정상적으로 mkv 파일을 재생할 수 있다.

윈도우 환경에서 각종 미디어 파일, 특히 동영상 파일을 재생하는 방법에 대해서는 다음 글을 참조하면 도움이 될 것이다 : http://celdee.tistory.com/205