WM Asf Writer 필터

DirectShow를 이용하여 ASF(Advanced Systems Format) 파일을 생성하기 위해서는
WM Asf Writer(이후 WMWriter)필터를 이용하여 생성할 수 있다.

처음에 WMWritter 필터는 무조건 입력이 Audio, Video 2개로 정해진줄 알았으나 프로파일에 따라 입력핀의 수가 달라졌다. 상황에 따라 오디오만 있는 경우, 비디오만 있는 경우가 있으나, 시스템 프로파일에 있는 비디오만 입력받는 프로파일은 대역폭이 매우 낮아 사용하기에는 문제가 있다. 따라서 사용자 프로파일이 필요한데, 사용자 프로파일은 WM Format SDK 9 이후 버전을 이용하여 설정할 수 있다. 그러나, DirectX 9까지 제공되는 WM Asf Writer필터는 WM Format SDK 7.1 버전이고 사용자 프로파일을 설정할 수 없다.

그러면 WM Foramt SDK 9를 사용해야만 하는것 일까?
일단 배포상의 번거로움으로 사용하지 않을 거라는 결론을 내렸다.
따라서, WMWriter필터를 DShow만으로 조작해야 한다.

WMWriter 필터는 그래프빌더에 추가될 때 디폴트 시스템 프로파일(WMProfile_V80_256Video)을 이용하여 초기화된다. 이 디폴트 프로파일은 IConfigAsfWriter::ConfigureFilterUsingProfileGuid 메소드를 이용하여 수정할 수 있다. 주의할 점은 그래프빌더에 추가후에 설정해야 하며, Upstream 필터와 연결되기전에 설정해야 한다.

IConfigAsfWriter 인터페이스의 정의는 WM Format SDK의 DshowAsf.h 파일에 있는데 이 파일을 프로젝트에 포함하면 결국 WM Format SDK 를 사용하는 것이므로 IConfigAsfWriter 필터 정의만 가져와서 사용하면 된다.

또한 시스템 프로파일의 GUID가 정의된 wmsysprf.h 파일도 가져와서 사용하면 된다.

by allting | 2005/02/07 23:40 | Software | 트랙백 | 덧글(1)

트랙백 주소 : http://allting.egloos.com/tb/914449
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by Freehuni at 2005/06/29 00:11
ConfigureFilterUsingProfileGuid 이 함수가 계속 실패만해서 원인을 몰랐었는데...님의 글대로하니 잘 되네요..ㄳ~

:         :

:

비공개 덧글

◀ 이전 페이지 다음 페이지 ▶