2014-07-07 1 views
2

입니다. 우리는 비디오 캡처 카드에서 캡처 한 입력 비디오 소스를 미리보고 기록하는 소프트웨어를 개발하고 있습니다. 미리보기는 DirectShow와 Media Foundation (이전의 소프트웨어는 MediaFoundation으로 천천히 업그레이드)의 레코딩으로 구현됩니다.MediaFoundation에서 비디오 캡처 에뮬레이터 드라이버를 찾을 수 없습니다. 그러나 DirectShow는

문제는 MediaFoundation에서 발생합니다. 릴리스 시스템에서 비디오 캡처 카드를 올바르게 찾은 것 같지만 우리가 테스트 머신에서 사용하는 "스크린 캡쳐"비디오 에뮬레이터가 아닙니다. 한편, DirectShow 코드는 비디오 캡처 장치와 화면 캡처 장치 에뮬레이터를 모두 정확하게 찾습니다.

왜 MediaFoundation에서 에뮬레이터 드라이버를 찾을 수 없습니까?

참고 : 에뮬레이터는 DirectShow의 만든 ... 그것은 여기 VHScrCap

인 미디어 파운데이션 코드 :

HRESULT DeviceList::EnumerateVideoDevices(){ 
HRESULT hr = S_OK; 
IMFAttributes *pAttributes = NULL; 

ClearVideo(); 

// Initialize an attribute store. We will use this to 
// specify the enumeration parameters. 

hr = MFCreateAttributes(&pAttributes, 1); 

// Ask for source type = video capture devices 
if (SUCCEEDED(hr)) 
{ 
    hr = pAttributes->SetGUID(
     MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 
     MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID 
     ); 
} 

// Enumerate devices. 
if (SUCCEEDED(hr)) 
{ 
    hr = MFEnumDeviceSources(pAttributes, &m_ppVideoDevices, &m_cVideoDevices); 
} 

SafeRelease(&pAttributes); 

return hr; 

}

hr = MFEnumDeviceSources(pAttributes, &m_ppVideoDevices, &m_cVideoDevices);에 어떤 장치가 발견되지 않습니다.

감사합니다.

+0

+1 감사의 많은, 미디어 파운데이션 입력 에뮬레이터를 찾을 수있는 사람에게 P! 난 그냥 DirectShow를 만들어 일부를 찾을 수 있습니다. – MorgoZ

답변

1

Media Foundation은 "가상"DirectShow 비디오 소스를 선택하지 않아야합니다. DirectShow는 비디오 입력 카테고리를 통해 비디오 소스를 제공합니다. 여기에는 WDM 드라이버 장치가 지원하는 필터와이 범주에 등록 된 다른 필터가 포함됩니다. Media Foundation에는 WDM 캡처 장치를 노출하는 자체 어댑터가 있지만 DirectShow 필터는 보이지 않습니다. 기본적으로 Media Foundation에 대한 별도의 에뮬레이터가 필요합니다.

From MSDN : Windows 7에서 시작

는 미디어 재단은 자동으로 오디오 및 비디오 캡처 장치를 지원합니다. 비디오의 경우 장치가 비디오 캡처 범주에서 스트리밍 (KS) 미니 드라이버를 제공해야합니다. Media Foundation은 PnP 경로를 사용하여 장치를 열거합니다. 오디오의 경우 Foundation은 Windows Multimedia Device (MMDevice) API를 사용하여 오디오 끝점 장치를 열거합니다. 장치가 이러한 기준을 충족하면 사용자 지정 미디어 소스를 구현할 필요가 없습니다.

그러나 다른 유형의 장치 또는 다른 라이브 데이터 소스에 대해 사용자 지정 미디어 소스를 구현할 수 있습니다. 라이브 소스 및 기타 미디어 소스 간의 몇 가지 차이점이 있습니다

+0

설명해 주셔서 감사합니다. Media Foundation에서 만든 캡처 에뮬레이터는 무엇입니까? 또는 MF로 스크린 캡처 입력 에뮬레이터를 구현하는 코드 또는 지침은 무엇입니까? 감사합니다. – MorgoZ

+0

[사용자 지정 미디어 소스 작성] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms700134) 여기에서 시작하는 것이 좋습니다. –

관련 문제