Configuration de l’enregistreur ASF
[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.]
Lorsque le filtre WM ASF Writer est créé, il est configuré automatiquement avec le profil WMProfile_V80_256Video. Ce profil utilise les codecs Windows Media Audio et Windows Media Video version 8, qui ne sont pas aussi récents que les codecs de la série Windows Media 9. Il est recommandé de créer un profil personnalisé qui utilise les codecs de la série Windows Media 9 et de configurer l’enregistreur WM ASF avec le profil personnalisé, comme décrit dans Configuration des profils et autres propriétés de fichier ASF. Vous devez ajouter le filtre WM ASF Writer au graphique de filtre avant de configurer le filtre, puis configurer le filtre avant de le connecter à d’autres filtres.
Toutes les données d’entrée doivent être horodatées et toutes les broches d’entrée doivent être connectées avant que le filtre puisse être exécuté ou suspendu. Par conséquent, si vous configurez le filtre avec un profil qui a un flux audio et un flux vidéo, le filtre crée une broche d’entrée audio et vidéo, et les deux broches doivent être connectées avant que le filtre puisse être exécuté. Étant donné que le Kit de développement logiciel (SDK) au format Windows Media nécessite un flux audio pour fonctionner, l’enregistreur WM ASF doit toujours avoir une broche audio d’entrée, même s’il s’agit d’un flux factice, c’est-à-dire un flux audio en sourdine et à faible débit de bits.
Ajout d’extensions d’unité de données
Vous pouvez configurer un flux de profil pour les extensions d’unités de données, telles que les codes de temps SMPTE, avant ou après la connexion du filtre, à condition de suivre cet ordre d’opérations :
- Ajoutez une ou plusieurs extensions d’unité de données au flux à l’aide de IWMStreamConfig2::AddDataUnitExtension.
- Appelez IWMProfile::ReconfigStream pour mettre à jour le profil.
- Appelez IConfigAsfWriter::ConfigureFilterUsingProfile avec l’objet de profil mis à jour.
- Recherchez le code pin d’entrée vidéo et appelez sa méthode IAMWMBufferPass::SetNotify pour inscrire votre interface IAMWMBufferPassCallback définie par l’application .
Lorsque le graphe s’exécute, votre méthode IAMWMBufferPassCallback::Notify est appelée pour chaque image et vous pouvez obtenir et définir des propriétés sur l’exemple à l’aide de ses méthodes d’interface INSSBuffer3 .
Notes
Dans certains scénarios gourmands en processeur, tels que la télécine inverse, l’enregistreur ASF WM peut nécessiter plus de mémoires tampons de sortie que certains filtres en aval peuvent prendre en charge. Le décodeur DV, par exemple, n’accepte pas plusieurs mémoires tampons pour sa broche de sortie, et il en va de même pour le décompresseur AVI dans certaines conditions. Si vous rencontrez des problèmes lors de la tentative de connexion à ces filtres, ou éventuellement lors de l’exécution du graphique, il peut être nécessaire d’écrire un filtre intermédiaire qui accepte un nombre quelconque de mémoires tampons sur sa broche de sortie.
Rubriques connexes