Partager via


Filtre d’enregistreur WM ASF (DirectShow)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Elle a été remplacée par MediaPlayer, IMFMediaEngine et Capture audio/vidéo dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Si possible, Microsoft recommande vivement d’utiliser MediaPlayer, IMFMediaEngine et Capture audio/vidéo dans Media Foundation pour le nouveau code, plutôt que DirectShow. Microsoft recommande, si possible, la réécriture du code existant qui utilise les API héritées pour être à jour avec les nouvelles API.]

L’enregistreur ASF WM est un filtre wrapper pour l’objet writer fourni avec le Kit de développement logiciel (SDK) Windows Media™ Format. Le filtre accepte un nombre variable de flux d’entrée et crée un fichier ASF (Advanced Systems Format). Le filtre gère toutes les compressions et multiplexages (bien que le mécanisme de compression puisse être contourné). Vous pouvez utiliser le WM ASF Writer dans divers scénarios, y compris la capture de vidéo numérique (DV), la recompression audio et la conversion de fichiers multimédias Audio-Video Interleaved (AVI) ou MPEG pour le streaming réseau. Ce filtre offre le seul moyen de créer des fichiers Audio et® Vidéo Windows Media Windows Media™ dans Microsoft DirectShow.

Pour plus d’informations, consultez Création de fichiers ASF dans DirectShow.

Étiquette Value
Interfaces de filtre IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesEn outre, le filtre expose les interfaces sdk Windows Media Format suivantes : IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Types de supports de broche d’entrée Dépend du profil ASF. En règle générale, les types audio et vidéo non compressés, bien que le filtre accepte les types compressés s’ils correspondent au profil ASF.
Interfaces de broche d’entrée IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderEn outre, l’épingle expose l’interface du KIT de développement logiciel (SDK) Windows Media Format suivante : IWMStreamConfig2 (via IServiceProvider)
Types de supports de broche de sortie Non applicable.
Interfaces de broche de sortie Non applicable.
Filtrer le CLSID CLSID_WMAsfWriter
Page de propriétés CLSID CLSID_AsfWriterProperties
Exécutable Qasf.dll
Mérite MERIT_DO_NOT_USE
Catégorie de filtre Non spécifié(e)

 

Notes

Le filtre nécessite le Kit de développement logiciel (SDK) windows Media Format et ses dépendances sous-jacentes.

Nombre d’épingles d’entrée sur le filtre en fonction du profil ou de l’identificateur de profil du flux ASF.

Les broches d’entrée prennent en charge une méthode à partir de l’interface IAMStreamConfig : IAMStreamConfig ::GetFormat. Toutes les autres méthodes retournent E_NOTIMPL. Appelez la méthode GetFormat pour interroger le format de compression de destination de l’épingle, qui est défini par le profil ASF actuel. Utilisez l’interface IConfigAsfWriter pour définir le profil.

Vous pouvez utiliser l’interface IServiceProvider du filtre pour obtenir un pointeur vers l’interface IWMWriterAdvanced2, qui est définie dans le Kit de développement logiciel (SDK) windows Media Format. Vous pouvez utiliser l’interface IWMWriterAdvanced2 pour contrôler l’interlacement vidéo lorsque la vidéo source est entrelacée. Pour définir le mode de déinterlacement, appelez IWMWriterAdvanced2 ::SetInputSetting. Pour le paramètre dwInputNum , utilisez l’index de base zéro de la broche d’entrée vidéo, comme énuméré par l’interface IEnumPins .

L’exemple suivant montre comment interroger cette interface :

// Assume that pAsfWriter is a valid IBaseFilter pointer.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;

hr = pAsfWriter->QueryInterface(
    IID_IServiceProvider, 
    (void**)&pProvider
    );
if (SUCCEEDED(hr))
{
    hr = pProvider->QueryService(
        IID_IWMWriterAdvanced2,
        IID_IWMWriterAdvanced2, 
        (void**)&pWMWA2
        );
    pProvider->Release();
    if (SUCCEEDED(hr))
    {
        // Use pWMWA2. (Not shown.)
        pWMWA2->Release();
    }
}

Les applications ne doivent pas utiliser les méthodes IWMWriterAdvanced que l’interface IWMWriterAdvanced2 hérite. L’appel de ces méthodes peut interférer avec l’opération du filtre.

Le seul mode d’écriture de fichiers pris en charge par ce filtre est AM_FILE_OVERWRITE. Voir IFileSinkFilter2 ::GetMode.

Lorsque le runtime du Kit de développement logiciel (SDK) Windows Media Format envoie des messages WMT_STATUS au filtre enregistreur ASF WM, le filtre les transfère en tant qu’événements EC_WMT_EVENT .

Filtres DirectShow