DirectShow Editing Services에서 Windows Media 사용
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
[이 API는 지원되지 않으며 나중에 변경되거나 사용할 수 없습니다.]
이 섹션에서는 DES( DirectShow Editing Services ) 애플리케이션에서 Windows Media 기반 콘텐츠를 사용하는 방법을 설명합니다. 두 가지 기본 시나리오가 있습니다.
- 원본 클립. DES 프로젝트는 Windows Media 파일의 오디오 및 비디오 클립을 포함할 수 있습니다.
- 대상 형식입니다. Windows Media는 비디오 편집 프로젝트의 최종 출력에 이상적인 형식입니다.
Windows Media 파일을 사용하려면 애플리케이션에서 키라고도 하는 소프트웨어 인증서를 제공해야 합니다. 키 공급자 개체를 구현하여 이 작업을 수행합니다. 키 공급자는 IServiceProvider 인터페이스를 노출하는 COM 개체입니다. 키 공급자를 구현하는 방법에 대한 자세한 내용은 Windows Media Format SDK 잠금 해제를 참조하세요.
Windows Media 파일에서 DES를 사용하려면 다음 DES 개체에 소프트웨어 키가 필요합니다.
미리 보기 또는 파일 쓰기를 위한 렌더링 엔진입니다.
ASF 파일에서 비디오 프레임 또는 미디어 형식을 가져오는 MediaDet 개체입니다.
! [중요]
스마트 렌더링 엔진을 사용하여 Windows Media 파일을 읽거나 쓰지 마세요. 항상 기본 렌더링 엔진(CLSID_RenderEngine)을 사용합니다.
개체에 소프트웨어 키를 제공하려면 IObjectWithSite 인터페이스에 대해 해당 개체를 쿼리하고 키 공급자에 대한 포인터를 사용하여 IObjectWithSite::SetSite 를 호출합니다. 예를 들어 다음 코드는 렌더링 엔진에 소프트웨어 키를 제공합니다.
// Create your key provider, using an application-defined function:
IServiceProvider *pKey;
hr = MyCreateKeyProviderFunction(&pKey);
// Query the Render Engine for IObjectWithSite.
IObjectWithSite *pOWS;
hr = pRenderEngine->QueryInterface(__uuidof(IObjectWithSite),
reinterpret_cast<void**>(&pOWS));
if (SUCCEEDED(hr))
{
// Give it your key provider.
hr = pOWS->SetSite(pKey);
pOWS->Release();
}
pKey->Release();
DES 프로젝트에서 Windows Media 원본 클립을 사용하려면 렌더링 엔진에서 키 공급자에 대한 포인터를 사용하여 IObjectWithSite::SetSite 를 호출하면 됩니다.
Windows Media 파일 작성에 대한 자세한 내용은 DES에서 Windows 미디어 파일 작성을 참조하세요.
관련 항목