Ich sehe, dass Windows 7 mit einem AAC-Encoder und einem H264-Encoder ausgeliefert wird. Ich schreibe eine DirectShow-Anwendung, die Videoencoding durchführen muss. Ich denke: "Super! Jetzt muss ich keinen Videocoder mehr lizenzieren!", aber dann lese ich weiter und entdecke, dass diese Encoder die neue MFT-API verwenden, die anscheinend nicht mit DirectShow kompatibel ist, und es scheint keinen Wrapper-Filter wie bei DMO zu geben. Gibt es eine Möglichkeit, dass ich diese Filter in DirectShow verwenden kann? Vielleicht gibt es einen Wrapper, den ich nicht gefunden habe? Vielleicht kann ich auf diese Filter als DMOs zugreifen?
Antwort
Zu viele Anzeigen?Soweit ich weiß, sind die H264- und AAC-Encoder nur über die Media Foundation APIs verfügbar. Siehe die Unterstützten Medienformate in der Media Foundation auf MSDN. Wenn Sie diese nutzen möchten, müssen Sie also WMF anstelle oder zusätzlich zu DirectShow verwenden. Soweit ich weiß, gibt es keinen Wrapper oder Adapter, um einen MF-Graphen in DirectShow zu bekommen.
Die gute Nachricht ist, dass MF im Vergleich zu DirectShow stark verbessert wurde und sehr schöne APIs auf einer höheren Ebene für Videos bietet, wie z.B. den SinkWriter, der es viel einfacher macht, Videos in eine Datei zu schreiben.