Pour configurer Quality-Based VBR

Vous pouvez utiliser l’encodage VBR (Quality bit rate) sur un flux pour spécifier un niveau de qualité qui sera conservé pour l’ensemble du flux, indépendamment des exigences de vitesse de transmission qui en résultent.

Pour les flux vidéo VBR basés sur la qualité, vous devez spécifier un niveau de qualité compris entre 1 et 100, 100 représentant la qualité la plus élevée. À l’heure actuelle, il n’existe que 30 paramètres de qualité discrets. Les niveaux de qualité suivants sont équivalents aux paramètres de qualité discrets : 1, 4, 8, 11, 15, 18, 22, 25, 29, 33, 36, 40, 43, 47, 50, 54, 58, 61, 65, 68, 72, 75, 79, 83, 86, 90, 93, 97, 100. Les nombres entre deux valeurs consécutives dans la liste précédente sont équivalents au même paramètre de qualité que le nombre inférieur. Par exemple, 1 et 4 sont répertoriés, si bien que 2 et 3 produisent le même paramètre de qualité que 1.

Pour les flux audio, vous pouvez énumérer les modes disponibles et récupérer un objet de configuration de flux. Pour plus d’informations, consultez pour énumérer des formats de codec.

Lorsque vous utilisez une vidéo VBR basée sur la qualité, vous devez définir le membre dwBitrate de la structure WMVIDEOINFOHEADER sur une valeur positive. Cette valeur n’est pas utilisée par le writer, mais le passage de zéro ou d’un nombre négatif peut provoquer des erreurs lors de l’écriture.

Pour configurer un flux dans un profil à encoder avec un VBR basé sur la qualité, 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 VBR. Pour plus d’informations sur l’ouverture des profils, consultez utilisation des profils.
  3. Récupérez un objet de configuration de flux pour le flux que vous souhaitez utiliser en appelant IWMProfile :: GetStream ou IWMProfile :: GetStreamByNumber.
  4. Obtenir un pointeur vers l’interface IWMPropertyVault de l’objet de configuration de flux en appelant IWMStreamConfig :: QueryInterface.
  5. Activez le VBR pour le flux en appelant IWMPropertyVault :: SetProperty pour la propriété g _ wszVBREnabled .
  6. Définissez le niveau de qualité pour le flux VBR en appelant IWMPropertyVault :: SetProperty pour la propriété g _ wszVBRQuality .
  7. Affectez aux paramètres g _ wszVBRBitrateMax et g _ WszVBRBufferWindowMax la valeur zéro avec IWMPropertyVault :: SetProperty.
  8. Enregistrez les modifications apportées au flux en appelant IWMProfile :: ReconfigStream.
  9. Enregistrez le profil ou transmettez-le à l’objet Writer et commencez l’écriture.

Configuration de VBR Flux