다음을 통해 공유


VMR 창 모드(호환성) 모드

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

VMR은 모든 기존 DirectShow 애플리케이션과 호환되도록 설계되었습니다. 기존 애플리케이션과 함께 사용되는 경우 VMR은 호환 모드라고도 하는 단일 비디오 스트림을 사용하여 창 모드에서 작동합니다. 이 모드는 VMR-7이 Windows XP의 기본 렌더러이므로 IGraphBuilder::RenderFile과 같은 Intelligent Connect 메서드 호출에 자동으로 사용되기 때문에 제공됩니다. 애플리케이션에서 Intelligent Connect를 사용하고 기본 렌더링 기능만 필요한 경우 Windows XP의 VMR-7을 사용하여 올바르게 렌더링하는 특수 코드가 필요하지 않습니다.

VMR-9는 기본적으로 창/호환 모드에서도 실행됩니다. 그러나 VMR-9는 기본 비디오 렌더러가 되지 않습니다. 애플리케이션에서 VMR-9를 사용하려면 필터 그래프에 명시적으로 추가해야 합니다. 이러한 이유로 창 없는 모드는 창 모드보다 더 나은 기능을 제공하기 때문에 창/호환 모드에서 VMR-9를 사용할 때 특별한 이점이 없습니다.

창/호환 모드에서 VMR-7 사용

창/호환 모드에서 VMR-7을 설정하거나 제어하는 데 특별한 프로그래밍이 필요하지 않습니다. 표준 그래프 빌드 호출을 사용하여 필터 그래프를 빌드하기만 하면 VMR-7이 기본적으로 이 모드로 설정됩니다.

창/호환 모드에서 VMR-7은 비디오를 표시하는 자체 창을 만듭니다. 이렇게 하려면 IVideoWindowIBasicVideo 인터페이스를 노출하는 Window Manager 구성 요소를 로드합니다. 애플리케이션은 이전 Video Renderer 필터와 마찬가지로 이러한 인터페이스에 대해 Filter Graph Manager를 쿼리할 수 있습니다. 자세한 내용은 창 모드 사용을 참조하세요.

다음 그림에서는 창/호환 모드의 VMR-7을 보여 줍니다.

호환 모드의 vmr

최대 수준의 호환성을 보장하기 위해 비디오 창은 이전 Video Renderer 필터에서 만든 것과 동일한 클래스 이름을 가지며, 이전 Video Renderer의 대부분의 Window Manager 코드는 VMR에서 계속 사용됩니다. 창/호환 모드에서 VMR은 이전 Video Renderer보다 더 이상 시스템 리소스를 사용하지 않습니다. VMR-7에는 창/호환 모드의 입력 스트림이 하나만 있으므로 믹서 또는 작성기 구성 요소를 로드하지 않습니다.

기본적으로 VMR은 비디오 창을 채우기 위해 이미지를 늘립니다. 원본의 가로 세로 비율을 유지하려면 VMR_ARMODE_LETTER_BOX 플래그를 사용하여 IVMRAspectRatioControl::SetAspectRatioMode 메서드를 호출합니다.

참고

자식 창에 비디오 창을 배치하는 MFC 애플리케이션은 빈 WM_ERASEBKGND 메시지 처리기를 정의해야 합니다. 그렇지 않으면 비디오 표시 영역이 올바르게 다시 그려지지 않습니다.

 

여러 스트림이 있는 창/호환 모드에서 VMR-7 사용

창/호환 모드에서 VMR-7은 기본적으로 단일 입력 핀을 만들고 혼합 모드를 사용하지 않도록 설정합니다. 혼합 모드를 사용하도록 설정하려면 VMR을 연결하기 전에 구성해야 합니다. 자세한 내용은 여러 스트림이 있는 VMR(혼합 모드)을 참조하세요. 혼합 모드에서 VMR은 더 많은 시스템 리소스가 필요한 혼합 및 작성기 구성 요소를 로드합니다.

창 모드에서 VMR-9 사용

VMR-9는 기본 렌더러가 아니므로 호환 모드가 없습니다. 대신 VMR-9는 기본적으로 4개의 입력 핀이 있는 창 모드로 설정됩니다. 이 모드를 사용하여 최대 4개의 비디오 스트림을 혼합할 수 있습니다. 더 많은 수의 스트림을 혼합해야 하는 경우 여러 스트림(혼합 모드)을 사용하여 VMR에 설명된 대로 구성해야 합니다. 그렇지 않으면 창 모드의 VMR-9는 창/호환 모드에서 VMR-7과 동일하게 동작합니다.