Partager via


Configuration de flux vidéo

Les flux vidéo sont plus flexibles dans leur configuration que les flux audio. En effet, les propriétés des images qui composent la vidéo peuvent varier considérablement d’un fichier à l’autre. Lorsque vous récupérez le format de codec pour le codec que vous utilisez, vous devez définir les valeurs suivantes pour les objets de configuration de flux vidéo.

Valeur Description
Vitesse de transmission Appelez IWMStreamConfig::SetBitrate pour définir sur la valeur souhaitée. Le codec vidéo essaiera de compresser le média pour répondre à vos spécifications. Si vos valeurs sont trop faibles, la vidéo compressée résultante sera très dégradée.
Fenêtre Mémoire tampon Appelez IWMStreamConfig::SetBufferWindow pour définir sur la valeur souhaitée. Le codec vidéo essaiera de compresser le média pour répondre à vos spécifications. Si vos valeurs sont trop faibles, la vidéo compressée résultante sera très dégradée.
WMVIDEOINFOHEADER.rcSource L’angle supérieur gauche doit être défini sur 0,0. Le coin inférieur droit doit être défini sur les dimensions du cadre. Par exemple, dans un flux 640x480, ces paramètres sont 0,0,640,480.
WMVIDEOINFOHEADER.rcTarget Doit correspondre à rcSource.
WMVIDEOINFOHEADER.dwBitRate Doit correspondre à la vitesse de transmission définie pour le flux.
WMVIDEOINFOHEADER. AvgTimePerFrame Définissez sur l’heure approximative par image.
BITMAPINFOHEADER.biWidth Défini sur la largeur, en pixels, de la taille de cadre souhaitée.
BITMAPINFOHEADER.biHeight Défini sur la hauteur, en pixels, de la taille de cadre souhaitée.

 

Le contenu vidéo n’est pas lu correctement, sauf s’il est encodé sur une taille qui est un multiple de quatre pour la largeur et la hauteur. L’exception est la vidéo RVB non compressée, qui peut être de n’importe quelle taille. Si vous essayez de définir une taille qui n’est pas un multiple de quatre, l’une des erreurs suivantes est retournée par l’enregistreur :

  • NS_E_INVALID_INPUT_FORMAT
  • NS_E_INVALID_OUTPUT_FORMAT
  • NS_E_INVALIDPROFILE

Si vous utilisez l’encodage à débit binaire variable, vous devrez peut-être effectuer d’autres ajustements. Pour plus d’informations, consultez Configuration des flux VBR.

Certains codecs Vidéo Windows Media prennent en charge plusieurs niveaux de complexité. Les niveaux de complexité déterminent les algorithmes que le codec utilisera lors de l’encodage d’un flux vidéo. L’utilisation d’un niveau de complexité élevé nécessite plus de puissance de traitement pour l’encodage et le décodage.

Chaque codec qui prend en charge les paramètres de complexité expose les paramètres suivants que vous pouvez récupérer avec la méthode IWMCodecInfo3::GetCodecProp .

Paramètre Description
g_wszComplexityMax Niveau de qualité maximal pris en charge par le codec.
g_wszComplexityOffline Niveau de qualité suggéré pour la lecture hors connexion.
g_wszComplexityLive Niveau de qualité suggéré pour la lecture en continu.

 

Pour définir la complexité d’un flux vidéo dans un profil, utilisez la méthode IWMPropertyVault::SetProperty à l’aide de la propriété g_wszComplexity. La valeur que vous définissez doit être inférieure ou égale à la complexité maximale prise en charge pour le codec.

Configuration commune à tous les flux

Configuration des flux

Paramètres de complexité vidéo