Neuerungen bei Media Foundation
Microsoft Media Foundation wurde in Windows Vista als Ersatz für DirectShow eingeführt. DirectShow wird natürlich weiterhin in Windows 7 unterstützt, Entwickler sollten jedoch Media Foundation in ihren neuen digitalen Medienanwendungen verwenden.
Die Verbesserungen an Media Foundation können wie folgt zusammengefasst werden:
- Bessere Formatunterstützung, einschließlich MPEG-4
- Unterstützung für Erfassungsgeräte und Hardwarecodecs
- Ein vereinfachtes Programmiermodell
- Verbesserungen an der Plattform
Bessere Formatunterstützung
Die Media Foundation Audio-/Videopipeline wurde in Windows Vista implementiert, unterstützt aber eine begrenzte Anzahl von Formaten und Dateicontainern. Dies bedeutete, dass einige Anwendungen auf ältere Technologien wie DirectShow zurückgreifen mussten. In Windows 7 enthält Media Foundation die folgenden neuen Codecs, Medienquellen und Mediensenken:
- AAC-Decoder
- AAC-Encoder
- AVI/WAVE-Dateiquelle
- DV-Videodecoder
- H.264-Videodecoder
- H.264-Videoencoder
- MJPEG-Decoder
- MP3-Dateisenke*
- MP4/3GP-Dateiquelle
- MP4/3GP-Dateisenke
Hinweis
Die MP3-Dateisenke enthält keinen MP3-Audioencoder.
Weitere Informationen finden Sie unter Unterstützte Medienformate in Media Foundation.
Hardwaregeräteunterstützung
Media Foundation unterstützt jetzt die folgenden Arten von Hardwaregeräten in der Audio-/Videopipeline:
- UVC 1.1-Videoaufnahmegeräte wie Webcams
- Audioaufnahmegeräte
- Hardwareencoder und Decoder
- Hardwarevideoprozessoren wie Farbraumkonverter
Hardwarecodecs können eine sehr schnelle Videotranscodierung durchführen. Beispielsweise kann eine Anwendung Windows MEDIA VIDEO-Dateien (WMV) auf ein Mobiltelefon übertragen, das nur 3GP-Dateien unterstützt. Mithilfe eines Hardwareencoders kann die Anwendung die Datei im Backgound transcodieren, kurz bevor sie auf das Gerät übertragen wird.
Hardwaregeräte werden in Media Foundation durch ein Proxyobjekt dargestellt und in der Pipeline genauso wie softwarebasierte Komponenten verwendet.
Vereinfachtes Programmiermodell
In Windows Vista Media Foundation einen relativ niedrigen Satz von APIs verfügbar gemacht. Diese APIs sind flexibel, aber zu komplex für einfache Aufgaben. Windows 7 fügt neue apIs auf hoher Ebene hinzu, die das Schreiben von Medienanwendungen in C++ vereinfachen. Diese neuen apis auf hoher Ebene umfassen Folgendes.
| API | BESCHREIBUNG |
|---|---|
| Quellleser | Der Quellleser pullt unformatierte oder decodierte Daten aus einer Mediendatei. Beispielsweise können Sie den Quellleser verwenden, um Miniaturbildbitmaps aus einer Videodatei abzurufen oder die Wellenformdaten in einer Audiodatei zu analysieren. Sie können auch den Quellleser verwenden, um Livedaten von einem Audio- oder Videoaufnahmegerät abzurufen. |
| Sink Writer | Mit dem Senkenwriter können Sie Mediendateien erstellen, indem Sie unkomprimierte oder codierte Daten übergeben. Beispielsweise können Sie damit eine Videodatei erneut codieren oder Livevideos von einer Webcam in einer Datei erfassen. |
| Transcodieren der API | Dieses Feature unterstützt die gängigsten Audio-/Videocodierungsszenarien. |
Sie können weiterhin die low-level-APIs in Media Foundation verwenden. Sie können dies tun, wenn Sie mehr Kontrolle über die Audio-/Videopipeline benötigen.
Plattformverbesserungen
Windows 7 enthält zahlreiche Verbesserungen an den zugrunde liegenden Media Foundation Plattform-APIs. Erweiterte Anwendungen können diese APIs direkt verwenden. andere Anwendungen profitieren indirekt von den Vorteilen. Die Verbesserungen umfassen:
- Änderungen in der Videopipeline, um den Energieverbrauch und die Videospeicherauslastung zu reduzieren.
- DXVA-HD:Microsoft DirectX Video Acceleration High Definition (DXVA-HD) ist eine neue API für die hardwarebeschleunigte Videoverarbeitung. DXVA-HD bietet ein flexibleres Compositingmodell als die vorherige DXVA-Videoverarbeitungs-API und eignet sich besser für High-Definition-Videoformate.
- Ein neuer Mechanismus zum Auflisten von Quellen und Decodern, der Werte für Dieverwerter und eine Bevorzugte/Blockiert-Liste enthält. Dieses Feature verbessert die allgemeine Zuverlässigkeit des Systems. Weitere Informationen finden Sie unter den folgenden Themen:
SDK-Änderungen
- Neue Header und Bibliotheksdateien: Media Foundation Header und Bibliotheken
- DLL- und LIB-Änderungen: Bibliotheksänderungen in Windows 7
- Neue SDK-Beispiele:
- Verbesserungen an TopoEdit:
- Unterstützung für die Transcodierung. Weitere Informationen finden Sie unter Erstellen einer Transcodetopologie mit TopoEdit.
- Unterstützung für Audio- und Videoaufnahmen. Weitere Informationen finden Sie unter Topologiemenü.
Neu in Windows 8
Einige der neuen Updates für Media Foundation mit Windows 8 sind:
- DAS GERÄTCAPTUREEngine steuert ein oder mehrere Erfassungsgeräte. Eine Liste der Attribute finden Sie unter Attribute der Erfassungs-Engine. Weitere neue Schnittstellen im Zusammenhang mit der Medienerfassung sind DIE SCHNITTSTELLEN "CSVCapturePhotoSink", "ZOOMCapturePreviewSink", "ZOOMCaptureRecordSink", "ENCAPTURESink"und "NCAPTURESource".
- Die folgenden Media Foundation-Klassenerweiterungen sind für Windows 8 neu:
- Die Direct3D 11 Video-API ist neu für Windows 8. Windows 8 Desktop-Apps können weiterhin die Direct3D 9 Video-APIverwenden, aber Windows Store Apps müssen die neue Direct3D 11 Video-API verwenden. Weitere Informationen zu Microsoft Direct3D 11 Video finden Sie unter Supporting Direct3D 11 Video Decoding in Media Foundation.
- Es wurden Updates und Verbesserungen an Media Foundation Arbeitswarteschlangen vorgenommen. Weitere Informationen finden Sie unter Arbeitswarteschlangen- und Threadingverbesserungen.
- H.264 UVC 1.5-Kameraencoder.
- Eine Liste der Media Foundation-API, die mit Windows Store-Apps verwendet werden kann, finden Sie unter Win32 und COM für Windows Store-Apps (Multimedia).
- Media Foundation ist nicht in den N- und KN-Editionen von Windows 8. Weitere Informationen finden Sie unter Microsoft Windows Media Feature Pack für N- und KN-Versionen aller Windows 8 Editionen.