[DirectShow 이 페이지와 연결된 기능은 레거시 기능입니다. MediaPlayer, IMFMediaEngine, Media Foundation 오디오/비디오 캡처대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11에 최적화되었습니다. Microsoft는 가능하면 새로운 코드에서 MediaPlayer, IMFMediaEngine 및 Audio/Video Capture를 DirectShow대신 Media Foundation 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
메모
이러한 API는 더 이상 사용되지 않습니다. 애플리케이션은 샘플 그래버 필터를 사용하거나 사용자 지정 필터를 구현하여 DirectShow 필터 그래프에서 데이터를 가져와야 합니다.
멀티미디어 스트리밍 인터페이스는 하드웨어 또는 소프트웨어 원본의 특정 특성에 대한 종속성을 제거하고 모든 Microsoft DirectX® 미디어 형식에 대한 지원을 제공하여 멀티미디어 데이터를 조작하는 프로세스를 크게 간소화합니다. 데이터를 매우 높은 수준으로 추상화합니다. 애플리케이션은 데이터 형식에 대해 아무것도 모르고 한 스트림에서 다른 스트림으로 데이터를 이동할 수도 있습니다.
멀티미디어 스트림을 만들려면 다음 단계를 수행합니다.
- 멀티미디어 스트림을 만듭니다. 스트림을 만들고 초기화하는 방법은 아키텍처에 따라 다릅니다. DirectShow는 스트림을 초기화하는 데 사용되는 IAMMultiMediaStream 인터페이스를 지원합니다. 다른 메커니즘을 사용하여 IMultiMediaStream 의 in-process 서버 구현을 만들고 초기화합니다.
- 멀티미디어 스트림 개체가 초기화되면 애플리케이션은 QueryInterface 사용하여 개체에 대한 IMultiMediaStream 인터페이스를 검색합니다. 이 인터페이스를 사용하여 스트림의 속성을 확인하고 스트림 자체를 열거합니다. 특정 용도 ID를 사용하여 IMultiMediaStream::GetMediaStream 메서드를 호출하여 특정 스트림을 검색할 수 있습니다. 기본 비디오 및 오디오 스트림을 나타내는 MSPID_PrimaryVideo 및 MSPID_PrimaryAudio 가장 일반적으로 사용되는 용도 ID입니다.
- 스트림의 미디어 유형과 관련된 인터페이스에 대한 IUnknown::QueryInterface 호출합니다. 예를 들어 비디오 스트림을 렌더링하려면 해당 IDirectDrawMediaStream 인터페이스를 검색합니다. 미디어별 인터페이스는 형식의 기능을 최대한 활용하는 데 필요한 추가 메서드를 정의합니다.
- 스트림 데이터에서 하나 이상의 샘플을 만듭니다. 모든 미디어 스트림은 샘플 생성을 위해 IMediaStream::CreateSharedSample 메서드를 지원합니다. 결과 샘플은 샘플 및 해당 특성을 제어하는 IStreamSample 인터페이스를 지원합니다. 일반적으로 미디어 스트림은 앞서 언급한 IStreamSample 메서드보다 더 강력한 형식별 샘플 생성 방법을 지원합니다. 예를 들어 IDirectDrawMediaStream원하는 DirectDraw 표면 및 클리핑 사각형에 연결된 샘플을 만들 수 있습니다. 그러나 일부 상황에서는 데이터 형식을 모르고 데이터를 처리해야 합니다. 해당 형식과 독립적으로 데이터를 스트리밍하려면 IMediaStream::CreateSharedSample 메서드를 사용하여 데이터 샘플을 만듭니다.
- 원하는 스트림 샘플을 모두 만든 후 IMultiMediaStream::SetState 메서드를 호출하여 스트림을 시작하고 STREAMSTATE_RUN 플래그를 해당 매개 변수로 전달합니다.
- IStreamSample::Update 호출하여 스트림 샘플을 업데이트합니다. IStreamSample::Update 메서드가 종료되면 샘플의 데이터에 액세스할 수 있습니다. 업데이트가 반환될 때 특정 이벤트 또는 함수 호출을 트리거하려면 IStreamSample::Update 메서드에 적절한 포인터를 전달합니다.
멀티미디어 스트리밍 인터페이스에 대한 자세한 내용은 멀티미디어 스트리밍 참조하세요.