Partager via


Gestion des projets d’édition vidéo

[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.]

[Cette API n’est pas prise en charge et peut être modifiée ou indisponible à l’avenir.]

Les conseils suivants vous aideront à gérer des projets dans DirectShow Editing Services.

Modifications apportées à la chronologie

  • Si vous modifiez le chronologie après avoir créé le graphe de filtre, appelez à nouveau IRenderEngine::ConnectFrontEnd pour reconstruire le serveur frontal. En règle générale, cela n’affecte pas le reste du graphique. Toutefois, à l’occasion, le moteur de rendu doit supprimer l’intégralité du graphique avant de reconstruire le front-end. (Par exemple, cela se produit si vous ajoutez ou supprimez un groupe.) La méthode ConnectFrontEnd retourne S_WARN_OUTPUTRESET pour signaler qu’elle a supprimé le graphique. Dans ce cas, votre application doit reconstruire la section de rendu du graphique.
  • Pour supprimer complètement tous les objets du chronologie, appelez la méthode IAMTimeline::ClearAllGroups.

Nettoyage

  • Lorsque vous avez terminé d’utiliser un moteur de rendu, appelez la méthode IRenderEngine::ScrapIt . Comme pour tout objet COM, veillez à libérer chaque pointeur d’interface lorsque vous avez terminé de l’utiliser.
  • Le moteur de rendu ne conserve pas de nombre de références sur le chronologie. Ne relâchez pas le chronologie avant de l’utiliser et appelez toujours ScrapIt sur le moteur de rendu.
  • Si vous relâchez toutes les références à un chronologie, n’utilisez aucun des objets de ce chronologie, même si vous détenez des nombres de références.

Plusieurs instances de chronologie

  • Ne déplacez pas chronologie objets d’une chronologie à l’autre. Chaque objet d’une chronologie doit être créé par cette chronologie. Le chronologie contient un cache interne contenant des informations sur les objets qu’il crée ; le déplacement d’objets chronologie peut perturber le cache.
  • N’utilisez jamais le même instance d’un moteur de rendu avec plusieurs chronologie. Le moteur de rendu contient un cache contenant des informations sur le chronologie. Plusieurs chronologies perturbent le cache et entraînent des résultats imprévisibles. Si vous avez besoin de deux chronologies actives, créez des instances distinctes de moteurs de rendu pour chaque chronologie.
  • Un chronologie peut utiliser plusieurs moteurs de rendu, mais pas en même temps. Supprimez l’ancien moteur de rendu avant d’utiliser un autre moteur de rendu. (Vous le faites généralement lorsque vous passez du moteur de rendu de base pour la préversion au moteur de rendu intelligent pour l’écriture de fichiers.)

Persistance

  • Le graphe de filtre n’est pas persistant lorsque vous enregistrez le projet dans un fichier XML. Par conséquent, vous perdez toutes les informations relatives à la recompression intelligente, au format de compression ou aux paramètres de compression. Il appartient à l’application de restaurer ces paramètres après le chargement d’un projet.

Utilisation de DirectShow Editing Services