WM ASF Writer Filter (DirectShow)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

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

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

Étiquette Valeur
Interfaces de filtre IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesEn outre, le filtre expose les interfaces suivantes du Kit de développement logiciel (SDK) Windows Media Format : IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Types de supports de broche d’entrée Dépend du profil ASF. Généralement, 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, le code pin expose l’interface suivante du Kit de développement logiciel (SDK) au format Windows Media : IWMStreamConfig2 (via IServiceProvider)
Types de supports de broche de sortie Non applicable.
Interfaces de broche de sortie Non applicable.
Filtrer le CLSID CLSID_WMAsfWriter
CLSID de page de propriétés CLSID_AsfWriterProperties
Exécutable Qasf.dll
Mérite MERIT_DO_NOT_USE
Catégorie de filtre Non spécifié

 

Notes

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

Le nombre de broches d’entrée sur le filtre dépend du profil ou de l’identificateur de profil du flux ASF.

Les broches d’entrée prennent en charge une méthode 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 la broche, 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) au format Windows Media. Vous pouvez utiliser l’interface IWMWriterAdvanced2 pour contrôler le désentlacement vidéo lorsque la vidéo source est entrelacée. Pour définir le mode de désinterlacation, 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 dont hérite l’interface IWMWriterAdvanced2 . L’appel de ces méthodes peut interagir avec l’opération du filtre.

Le seul mode d’écriture de fichier pris en charge par ce filtre est AM_FILE_OVERWRITE. Consultez IFilesinkFilter2::GetMode.

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

Filtres DirectShow