본문 바로가기

Papyrus/Troubleshooting

ffdshow / Xiph DirectShow Filters / OggSplitter에서의 문제

ffdshow를 설치했고, Xiph DirectShow Filters를 설치했는데도 제대로 Ogg Theora 동영상을 재생하지 못하는 문제가 있다면, Ogg 파일 형식을 재생하기 위해 OggSplitter를 설치한게 아닌지 한번 살펴보라. Xiph DirectShow Filters를 설치하면 Vorbis Encoder / Decoder, Theora Encoder / Decoder가 설치되는데, 그래프 에디터로 살펴보면 Ogg Vorbis나 Ogg Theora가 여기에 연결되는 것이 아니라 OggSplitter를 거쳐 ffdshow로 연결되며, 현재 릴리즈 되고 있는 ffdshow tryouts의 libavcodec은 최근 규격의 Ogg Theora 동영상을 제대로 재생하지 못하는 것 같다.

특히, Xiph DirectShow Filters를 설치한 다음에 OggSplitter를 설치했다면, OggSplitter를 제거했다고 하더라도 레지스트리 값이 복구되지 않기 때문에 Xiph DirectShow Filters를 다시 설치해야 한다.

또, ffdshow에서 사용하는 Ogg Vorbis는 Tremor인데, 이것은 floating point를 지원하지 못하는 기계를 위한 fixed point 형식의 모델이다. 그래서, Ogg Vorbis로 압축된 동영상의 음질을 더 좋게 하고자 Xiph DirectShow Filters의 디코더로 연결하고 싶다고 ffdshow Audio Configuration에서 vorbis 설정을 disable로 변경해봤자 소용없다. splitter를 거쳐 나오는 스트림 데이터 형식과 Vorbis Decoder는 입력핀과 출력핀의 데이터 형식이 다르게 때문에 불가능한 일이다. 그런 동영상은 splitter를 거쳐서 렌더링되는 것이므로, 마지막 출력 형식이 PCM인 Vorbis Decoder와는 어차피 맞지 않는다.

ffdshow tryouts, Xiph DirectShow Filters 모두 아직 1.0 버전이 상태가 아니고, OggSplitter 필터 역시 특정 벤더에서 책임지고 배포하는 것이 아니다. 베타 상태의 세 패키지가 모이다보니 이런 문제가 생긴 것 같다.