Filtre d’enregistreur WM ASF (Kit de développement logiciel (SDK Windows Media Format 11)

[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par lecteur source et enregistreur récepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, 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.]

Le filtre WM ASF Writer accepte un nombre variable de flux d’entrée et crée un fichier ASF. Le filtre gère toute la compression et le multiplexage (bien que le mécanisme de compression puisse être contourné). Vous pouvez utiliser le filtre WM ASF Writer dans différents scénarios, notamment la capture vidéo numérique (DV), la recompression audio et la conversion de fichiers multimédias Audio-Video entrelacés (AVI) 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 DirectShow.

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

Le tableau suivant contient des informations sur le filtre WM ASF Writer, telles que les interfaces et les types de médias qu’il prend en charge.

Filtrer les informations Types
Interfaces de filtre IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPages, IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Types de supports de broche d’entrée Dépendant du profil. Généralement, les types non compressés comme MEDIATYPE_Audio ou MEDIATYPE_Video, bien que les types compressés puissent être acceptés s’ils correspondent au profil
Interfaces de broche d’entrée IPin, IMemInputPin, IAMStreamConfig, IServiceProvider, IAMWMBufferPass, 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_WMAsfWriterProperties
Exécutable Qasf.dll
Mérite MERIT_DO_NOT_USE
Catégorie de filtre Non spécifié

 

Notes

Le nombre de broches d’entrée sur le filtre dépend du profil passé au filtre. Une broche du type de média approprié est créée pour chaque flux défini dans le profil.

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 actuel. Utilisez l’interface IConfigAsfWriter pour définir le profil.

L’interface IServiceProvider du filtre permet aux applications de récupérer l’interface IWMWriterAdvanced2 , qui est définie dans le Kit de développement logiciel (SDK) au format Windows Media. L’interface IWMWriterAdvanced2 contrôle le désentlacement vidéo et est utile si l’entrée est une source entrelacée , telle que DV (vidéo numérique). Utilisez les méthodes GetInputSetting et SetInputSetting pour contrôler le désentlacement. Il n’est pas recommandé aux clients d’utiliser l’une des autres méthodes de cette interface. Cette interface ne peut être obtenue qu’une fois le filtre ajouté au graphe de filtre. L’exemple suivant montre comment interroger cette interface :

// Assume that m_pGraph is a valid IGraphBuilder interface pointer,
// and that pAsfWriter points to the IBaseFilter interface
// on the WM ASF Writer filter.

IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;

hr = m_pGraph->AddFilter(pAsfWriter, L"WM ASF Writer");
...
hr = pAsfWriter->QueryInterface(IID_IServiceProvider, (void**)&pProvider)
if (SUCCEEDED(hr))
{
    hr = pProvider->QueryService(IID_IWMWriterAdvanced2,
        IID_IWMWriterAdvanced2, (void**)&pWMWA2);
    pProvider->Release();
}

DirectShow QASF Reference