Partager via


Filtre de fractionnement AVI

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngineet audio/vidéo capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et 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.]

Le filtre de fractionnement AVI est utilisé pour la lecture des fichiers AVI. Il accepte les données au format AVI et les fractionne en flux constituants pour un traitement et/ou un rendu ultérieurs.

Étiquette Valeur
Interfaces de filtre IAMMediaContent, IBaseFilter, IPersistMediaPropertyBag
Types de supports de broche d’entrée MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Interfaces de broche d’entrée IPin, IQualityControl
Types de supports de broche de sortie En général, MEDIATYPE_Video ou MEDIATYPE_Audio. Le type exact dépend du contenu du fichier, si le fichier est compressé et quel codec a été utilisé.
Interfaces de broche de sortie IMediaPosition , IMediaSeeking, IPin, IPropertyBag, IQualityControl
Filtrer le CLSID CLSID_AviSplitter
Page de propriétés CLSID Aucune page de propriétés.
Exécutable quartz.dll
mérite MERIT_NORMAL
catégorie de filtre CLSID_LegacyAmFilterCategory

 

Remarques

Ce filtre est généralement connecté au filtre source de fichier Async sur sa broche d’entrée. Il peut se connecter à n’importe quel filtre dont la broche de sortie prend en charge IAsyncReader et offre le type de média approprié à la broche d’entrée du filtre de fractionnement AVI.

Les broches de sortie sur le splitter AVI prennent en charge la méthode IPropertyBag ::Read pour la lecture des propriétés à partir de flux individuels. Actuellement, la propriété suivante est définie.

Propriété Description
nom Retourne le nom du flux, extrait du bloc 'strn' dans le fichier AVI. Si ce bloc est absent, la méthode Read retourne E_INVALIDARG.

 

La méthode IPropertyBag ::Write retourne E_FAIL. Le filtre AVI Mux prend en charge IPropertyBag ::Write pour enregistrer les propriétés de flux dans un fichier AVI.

Le splitter AVI n’autorise pas les filtres en aval à utiliser leur propre allocateur.

La durée d’entrelacement dans le fichier détermine la quantité de mémoire allouée par le fractionnement AVI pour le traiter. Un fichier entrelacé dans un deuxième segment nécessite beaucoup plus de mémoire à traiter qu’un fichier dont la durée entrelacée est définie sur une ou deux images. Sur les ordinateurs modernes, il ne s’agit généralement pas d’un problème, sauf si vous exécutez plusieurs instances du splitter AVI simultanément.

Recherche

Si le fichier contient un flux vidéo, avi Splitter prend en charge la recherche par nombre d’images. Pour activer la recherche basée sur des images, appelez IMediaSeeking ::SetTimeFormat sur le gestionnaire de graphiques de filtre avec la valeur TIME_FORMAT_FRAME.

Si le fichier contient un flux audio, le splitter AVI prend en charge la recherche par numéro d’exemple. Pour activer la recherche basée sur des exemples, appelez SetTimeFormat sur le Gestionnaire de graphiques de filtre avec la valeur TIME_FORMAT_SAMPLE.

Dans les deux cas, la broche de sortie de ce flux doit être connectée à un filtre de renderer.

filtres DirectShow