Media Foundation의 새로운 기능
Microsoft Media Foundation은 DirectShow의 대체 기능으로 Windows Vista에서 도입되었습니다. 물론 DirectShow는 Windows 7에서 계속 지원되지만 개발자는 새로운 디지털 미디어 애플리케이션에서 Media Foundation을 사용하는 것이 좋습니다.
Media Foundation의 향상된 기능은 다음과 같이 요약할 수 있습니다.
- MPEG-4를 포함하여 더 나은 형식 지원
- 캡처 디바이스 및 하드웨어 코덱 지원
- 간소화된 프로그래밍 모델
- 플랫폼 개선 사항
더 나은 형식 지원
Media Foundation 오디오/비디오 파이프라인은 Windows Vista에서 구현되었지만 제한된 형식 및 파일 컨테이너 집합을 지원하여 일부 애플리케이션이 DirectShow와 같은 이전 기술을 대체해야 했습니다. Windows 7에서 Media Foundation에는 다음과 같은 새로운 코덱, 미디어 원본 및 미디어 싱크가 포함됩니다.
- AAC 디코더
- AAC 인코더
- AVI/WAVE 파일 원본
- DV 비디오 디코더
- H.264 비디오 디코더
- H.264 비디오 인코더
- MJPEG 디코더
- MP3 파일 싱크*
- MP4/3GP 파일 원본
- MP4/3GP 파일 싱크
참고 항목
MP3 파일 싱크에는 MP3 오디오 인코더가 포함되어 있지 않습니다.
자세한 내용은 Media Foundation에서 지원되는 미디어 형식을 참조하세요.
하드웨어 디바이스 지원
이제 Media Foundation은 오디오/비디오 파이프라인에서 다음과 같은 유형의 하드웨어 디바이스를 지원합니다.
- 웹캠과 같은 UVC 1.1 비디오 캡처 디바이스
- 오디오 캡처 디바이스
- 하드웨어 인코더 및 디코더
- 하드웨어 비디오 프로세서(예: 색 공간 변환기)
하드웨어 코덱은 매우 빠른 비디오 코드 변환을 수행할 수 있습니다. 예를 들어 애플리케이션은 WMV(Windows Media Video) 파일을 3GP 파일만 지원하는 휴대폰으로 전송할 수 있습니다. 애플리케이션은 하드웨어 인코더를 사용하여 파일을 디바이스로 전송하기 직전에 백그라운드에서 파일을 트랜스코딩할 수 있습니다.
하드웨어 디바이스는 프록시 개체에 의해 Media Foundation에 표시되며 소프트웨어 기반 구성 요소와 마찬가지로 파이프라인에서 사용됩니다.
간소화된 프로그래밍 모델
Windows Vista에서 Media Foundation은 비교적 낮은 수준의 API 집합을 노출했습니다. 이러한 API는 유연하지만 간단한 작업에는 너무 복잡합니다. Windows 7은 C++에서 미디어 애플리케이션을 더 간단하게 작성할 수 있도록 하는 새로운 고급 API를 추가합니다. 이러한 새로운 상위 수준 API에는 다음이 포함됩니다.
API | 설명 |
---|---|
원본 판독기 | 원본 판독기는 미디어 파일에서 원시 또는 디코딩된 데이터를 가져옵니다. 예를 들어 원본 판독기를 사용하여 비디오 파일에서 썸네일 비트맵을 가져오거나 오디오 파일의 파형 데이터를 분석할 수 있습니다. 원본 판독기를 사용하여 오디오 또는 비디오 캡처 디바이스에서 라이브 데이터를 가져올 수도 있습니다. |
싱크 기록기 | 싱크 작성기를 사용하면 압축되지 않거나 인코딩된 데이터를 전달하여 미디어 파일을 작성할 수 있습니다. 예를 들어 비디오 파일을 다시 인코딩하거나 웹캠에서 파일로 라이브 비디오를 캡처하는 데 사용할 수 있습니다. |
API 코드 변환 | 이 기능은 가장 일반적인 오디오/비디오 인코딩 시나리오를 지원합니다. |
Media Foundation에서 하위 수준 API를 계속 사용할 수 있습니다. 오디오/비디오 파이프라인에 대한 더 많은 제어가 필요한 경우 이 작업을 수행할 수 있습니다.
플랫폼 개선 사항
Windows 7에는 기본 Media Foundation 플랫폼 API에 대한 다양한 향상된 기능이 포함되어 있습니다. 고급 애플리케이션은 이러한 API를 직접 사용할 수 있습니다. 다른 애플리케이션은 간접적으로 이점을 얻을 수 있습니다. 다음과 같은 향상 된 기능
- 전력 소비 및 비디오 메모리 사용량을 줄이기 위해 비디오 파이프라인이 변경되었습니다.
- DXVA-HD: Microsoft DirectX 비디오 가속 고화질(DXVA-HD)은 하드웨어 가속 비디오 처리를 위한 새로운 API입니다. DXVA-HD는 이전 DXVA 비디오 처리 API보다 더 유연한 작성 모델을 제공하며 고화질 비디오 형식에 더 적합합니다.
- 장점 값과 기본 설정/차단 목록을 포함하는 원본 및 디코더를 열거하기 위한 새로운 메커니즘입니다. 이 기능은 시스템의 전반적인 안정성을 향상시킵니다. 자세한 내용은 아래 항목을 참조하세요.
SDK 변경 내용
- 새 헤더 및 라이브러리 파일: Media Foundation 헤더 및 라이브러리
- DLL 및 .lib 변경 내용: Windows 7의 라이브러리 변경 내용
- 새 SDK 샘플:
- TopoEdit의 향상된 기능:
- 코드 변환을 지원합니다. TopoEdit을 사용하여 트랜스코드 토폴로지 빌드를 참조하세요.
- 오디오 및 비디오 캡처를 지원합니다. 토폴로지 메뉴를 참조하세요.
Windows 8의 새로운 기능
Windows 8을 사용하는 Media Foundation의 새로운 업데이트 중 일부는 다음과 같습니다.
- IMFCaptureEngine은 하나 이상의 캡처 디바이스를 제어합니다. 특성 목록은 캡처 엔진 특성을 참조하세요. 다른 새로운 미디어 캡처 관련 인터페이스로는 IMFCapturePhotoSink, IMFCapturePreviewSink, IMFCaptureRecordSink, IMFCaptureSink 및 IMFCaptureSource가 있습니다.
- Windows 8의 새로운 Media Foundation 클래스 확장은 다음과 같습니다.
- Direct3D 11 Video API 는 Windows 8의 새로운 기능입니다. Windows 8 데스크톱 앱은 여전히 Direct3D 9 Video API를 사용할 수 있지만 Windows 스토어 앱은 새 Direct3D 11 비디오 API를 사용해야 합니다. Microsoft Direct3D 11 비디오에 대한 자세한 내용은 Media Foundation에서 Direct3D 11 비디오 디코딩 지원을 참조하세요.
- Media Foundation 작업 큐에 대한 업데이트 및 개선 사항이 있습니다. 자세한 내용은 작업 큐 및 스레딩 개선 사항을 참조하세요.
- H.264 UVC 1.5 카메라 인코더.
- Windows 스토어 앱과 함께 사용할 수 있는 Media Foundation API 목록은 Win32 및 Windows 스토어 앱용 COM(멀티미디어)을 참조하세요.
- Media Foundation은 Windows 8의 N 및 KN 버전에 포함되지 않습니다. 자세한 내용은 모든 Windows 8 버전의 N 및 KN 버전용 Microsoft Windows Media 기능 팩을 참조 하세요.
관련 항목