Instanciation d’une MFT d’encodeur
Dans Microsoft Media Foundation, les encodeurs sont implémentés en tant que transformations Media Foundation (MFT). Avant de créer un encodeur, vous devez d’abord trouver l’encodeur le mieux adapté à vos besoins.
Codecs audio Windows Media
Catégorie : MFT_CATEGORY_AUDIO_ENCODER
Type principal : MFMediaType_Audio
Sous-type : MFAudioFormat_WMAudioV9, MFAudioFormat_WMAudioV8, MFAudioFormat_WMAudio_Lossless, MFAudioFormat_WMASPDIF
Codecs vidéo Windows Media
Catégorie : MFT_CATEGORY_VIDEO_ENCODER
Type principal : MFMediaType_Video
Sous-type : MFVideoFormat_WVC1, MFVideoFormat_WMV3, MFVideoFormat_WMV2, MFVideoFormat_WMV1
Media Foundation fournit plusieurs fonctions que votre application peut appeler pour énumérer les différents encodeurs disponibles dans votre système. Les encodeurs sont inscrits en tant qu’objets COM et l’entrée du Registre suit le format standard pour les fabriques de classes COM. Le Registre gère les CLSID pour les encodeurs, qui sont catégorisés par format du média (audio ou vidéo). Les identificateurs de classe des encodeurs Windows Media sont définis en tant que constantes dans le fichier d’en-tête wmcodecdsp.h. Dans Media Foundation, les encodeurs peuvent être inscrits via des appels à MFTRegisterLocal ou MFTRegisterLocalByCLSID en spécifiant la catégorie, les types d’entrées pris en charge et les types de sorties pris en charge. À l’inscription réussie via ces fonctions, les MFT sont pris en compte par les fonctions d’énumération de Media Foundation.
Pour créer une instance d’une MFT d'encodeur, une application a les choix suivants.
- Créer la MFT d’encodeur directement et recevoir un pointeur vers l’interface IMFTransform. Pour plus d’informations, consultez Création d’un encodeur à l’aide de CoCreateInstance.
- Créer une instance de l’objet d’activation pour la MFT d’encodeur et recevoir un pointeur vers l’interface IMFActivate. Pour plus d’informations, consultez Utilisation des objets d’activation d’encodeur.
Si votre application utilise des composants ASF de couche de pipeline pour encoder un fichier au format ASF, vous devez insérer la MFT d’encodeur dans le pipeline en tant que nœud de transformation. Lors de la création du nœud de transformation dans la topologie d’encodage, vous pouvez définir le type d’objet comme pointeur vers l’interface IMFTransform ou l’objet IMFActivate. Media Foundation fournit des objets d’activation pour les encodeurs Windows Media afin qu’ils puissent être facilement définis comme nœud de transformation dans la topologie d’encodage. Lorsque la topologie est résolue, la session Windows Media utilise l’objet d’activation pour créer une instance de la MFT d’encodeur.
Rubriques connexes