Partager via


Pour configurer un VBR contraint

[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 le lecteur source et l’enregistreurré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.]

Vous pouvez utiliser l’encodage VBR (Vitesse de transmission variable contrainte) sur un flux pour spécifier un débit binaire moyen qui sera conservé dans le contenu encodé. Vous spécifiez également la vitesse de transmission maximale du flux et la fenêtre de mémoire tampon maximale requise.

Vous ne pouvez pas savoir quel sera le débit binaire moyen pour un flux VBR limité avant l’encodage, mais vous pouvez utiliser une estimation approximative. En règle générale, le débit maximal que vous spécifiez finira par être de deux à trois fois le débit binaire moyen.

Le VBR contraint doit être utilisé conjointement avec l’encodage à deux passes. L’encodage en deux passes n’est pas défini dans le profil. Vous devez configurer l’enregistreur pour effectuer une passe de prétraitement avant d’écrire le flux. Pour plus d’informations sur l’utilisation de l’encodage à deux passes, consultez Utilisation de l’encodage Two-Pass.

Pour configurer un flux dans un profil afin d’utiliser l’encodage VBR contraint, procédez comme suit.

  1. Créez un objet de gestionnaire de profils en appelant la fonction WMCreateProfileManager .
  2. Ouvrez un profil existant auquel vous souhaitez ajouter la prise en charge de VBR. Pour plus d’informations sur l’ouverture de profils, consultez Utilisation des profils.
  3. Obtenez un objet de configuration de flux pour le flux que vous souhaitez utiliser en appelant IWMProfile::GetStream ou IWMProfile::GetStreamByNumber.
  4. Obtenez un pointeur vers l’interface IWMPropertyVault de l’objet de configuration de flux en appelant IWMStreamConfig::QueryInterface.
  5. Activez l’encodage VBR pour le flux en appelant IWMPropertyVault::SetProperty pour la propriété g_wszVBREnabled .
  6. Utilisez les appels à IWMPropertyVault::SetProperty pour définir les valeurs maximales souhaitées pour les propriétés g_wszVBRBitrateMax et g_wszVBRBufferWindowMax .
  7. Enregistrez les modifications apportées au flux en appelant IWMProfile::ReconfigStream.
  8. Enregistrez le profil ou passez-le à l’objet writer.
  9. Configurez l’enregistreur pour effectuer une passe de prétraitement.

Configuration de flux VBR