DirectShow DirectShow 샘플 비디오 편집 샘플 XTLTest 샘플   [목차열람] [주소복사] [슬롯비우기]
XTLTest 샘플
 
Microsoft DirectX 9.0

XTLTest 샘플

설명

XTLTest 샘플은, 비디오 편집 프로젝트의 렌더링과 프리뷰를 위한 커멘드 라인 툴이다. 이 툴은,DirectShow 편집 서비스 (DES)의 프로젝트 파일을 렌더링 한다.

이 애플리케이션으로 ASF 지원을 유효하게 하려면 , 프로젝트를 Microsoft® Windows Media™ Format (WMF) SDK 인증에 링크해, 애플리케이션을 컴파일 할 때에 USE_WMF_CERT 를 정의하는 것. 인증의 입수방법에 대해서는, WMF SDK 의 문서를 참조할것.

DirectShow SDK 에는, 몇개의 샘플 프로젝트 파일이 포함되어 있다. 이러한 파일은 Samples\Media 폴더에 있어, 파일명 확장자(extension)는 . xtl 이다.

주 :  이 애플리케이션에는 Internet Explorer 4.0 이후가 필요하다. 그것이 없으면 애플리케이션은 다음의 에러 메시지를 표시한다. Unexpected error - DShow not installed correctly. 더 자세한 정보는, 「IXml2Dex 」를 참조할것.

패스

소스 : (SDK 루트) \Samples\C++\DirectShow\Editing\Xtltest

사용자 가이드

이 샘플 애플리케이션에서는, 비디오 편집에 관련하는 다음의 태스크가 나타난다.

사용 방법

xtltest.exe [switches] input.xtl

디폴트에서는, 프로젝트는 프리뷰 된다. 다음의 커멘드 라인 스윗치가 지원 되고 있다.

스윗치 설명
/C 클럭 없음. 오디오와 비디오를 동기 하지 않고 , 할 수 있는 한 빠르게 프로젝트를 렌더링 한다.
/D 소스 파일을 동적으로 읽어들인다. 더 자세한 정보는, 「IRenderEngine::SetDynamicReconnectLevel 」를 참조할것.
/[double-double] 렌더링의 시작 타임과 종료 타임을 설정한다. 예를 들어,/[3-4] 라고 지정 하면, 프로젝트의 3 초째부터 시작 해, 타임 라인의 1 초간이 렌더링 된다.
/G filename.grf GraphEdit 파일을 . grf 포맷으로 출력한다.
/N 렌더링 없음. 이 프로젝트는 프리뷰 또는 파일에의 렌더링은 행해지지 않는다. 이 옵션은, 입력 파일을 확인하거나 /G 스윗치를 사용할 때에 도움이 된다.
/P [number] ASF 압축 프로파일을 선택한다. 애플리케이션이 WMF SDK 증명서를 사용해 컴파일 되었을 경우에만 이용할 수 있다.
/P 이용 가능한 ASF 프로파일을 일람으로 한다. 애플리케이션이 WMF SDK 증명서를 사용해 컴파일 되었을 경우에만 이용할 수 있다.
/R 스마트재압축을 유효하게 한다. 애플리케이션은, 압축 포맷용으로 타임 라인의 최초의 클립을 사용한다. 이 옵션은, /W 스윗치와 함께 사용한다. 더 자세한 정보는, 「렌더링 엔진에 대하며」를 참조할것.
/W filename 타임 라인을 파일에 렌더링 한다. 이 파일 타입은, 파일의 확장자(extension)에 의해 결정된다. 애플리케이션은, AVI 파일 및 WAV 파일을 지원 한다. 애플리케이션이 WMF SDK 증명서를 사용해 컴파일 되는 경우는, ASF 파일도 지원 한다. 이 옵션에서는, 프리뷰는 억제된다.
/X filename.xtl 프로젝트를 XML 파일로서 보존한다. 새로운 파일은, 입력 파일과 기능적으로는 같게 되지만, XML 태그가 다른 일이 있다.

프로그래밍 정보

이 샘플에서는, XML 프로젝트 파일의 읽기를 시작해 그 프리뷰 또는 파일에의 출력에 필요한 모든 스텝이 나타난다.

스마트재압축에서는, 애플리케이션은 타임 라인으로 뮤트되지 않은 최초의 소스의 포맷을 사용한다. 최초의 소스가 오디오 파일이라고 실패한다. GetFirstSourceOnTimeline 함수는, 뮤트되지 않은 최초의 소스를 얻어온다. 이 함수는, 타임 라인으로 개체를 주사 하는 방법을 나타낸다. GetSourceVideoType 함수는, 소스의 최초의 비디오 스트림의 미디어 타입을 얻어온다. 애플리케이션은,IAMTimelineGroup::SetSmartRecompressFormat 를 호출해 재압축 포맷을 설정할 때에, 이 미디어 타입을 사용한다. 더 자세한 정보는, 「프로젝트의 렌더링」을 참조할것.

에러 로그를 처리하기 위해서, 애플리케이션은 커스텀 클래스 CErrorReporter 를 정의한다. 이 클래스는,IAMErrorLog 인터페이스를 공개한다. 그러나, 참조 카운트를 올바르게 처리하지 않기 때문에, 이것은 진정한 COM 개체는 아니다. 그 때문에, 애플리케이션은 정적으로 COM 개체를 생성 해야 한다. 더 자세한 정보는, 「에러의 로그」를 참조할것.

USE_WMF_CERT 가 정의되었을 경우, 애플리케이션은 WMF 파일의 쓰기 지원을 포함한다. CKeyProvider 클래스는,IServiceProvider 인터페이스를 처리 한다. 이 클래스는 WMCreateCertificate 함수를 호출해, WMF 증명서를 생성 한다. 헬퍼-함수 ListWMSDKProfiles 는, WMK SDK 로 제공되는 표준 프로파일을 일람으로 한다. 더 자세한 정보는, 「Windows Media 애플리케이션」 및 Windows Media Format SDK 를 참조할것.

주 :  Windows Media 9 Series Format SDK 를 인스톨 하는 경우는, 반드시 이 샘플의 DirectX 9.0 버전을 컴파일 하는 것. 이것 이전의 버전의 샘플은, Windows Media 9 Series Format SDK 와는 호환성이 없다.

참조

↑TOP