À propos du contrôle de débit

Dans Media Foundation, le taux de lecture est exprimé en tant que rapport entre le taux de lecture actuel et le taux de lecture normal. Par exemple, un taux de 2,0 est deux fois la vitesse normale, et 0,5 est une vitesse de moitié normale. Les valeurs négatives indiquent une lecture inversée. Une vitesse de lecture de -2,0 est lue vers l’arrière dans le flux à une vitesse deux fois plus élevée que la normale. Un taux de zéro entraîne le rendu d’une image ; après cela, l’horloge de présentation n’avance pas. Pour obtenir une autre image à la vitesse de zéro, l’application doit rechercher une nouvelle position.

Les applications utilisent les interfaces suivantes pour contrôler la vitesse de lecture.

  • IMFRateSupport. Permet de déterminer les taux de lecture les plus rapides et les plus lents possibles.
  • IMFRateControl. Permet de modifier la vitesse de lecture.

Pour obtenir ces deux interfaces, appelez IMFGetService::GetService sur la session multimédia. L’identificateur de service est MF_RATE_CONTROL_SERVICE.

En utilisant le service de contrôle de débit, une application peut implémenter la lecture rapide avant et inversée.

Amincissement

L’amincissement est tout processus qui réduit le nombre d’échantillons dans un flux, afin de réduire le débit binaire global. Pour la vidéo, l’amincissement s’effectue généralement en supprimant les images delta et en fournissant uniquement les images clés. Souvent, le pipeline peut prendre en charge des taux de lecture plus rapides à l’aide de la lecture simplifiée, car le débit de données est plus faible car les images delta ne sont pas décodées.

L’amincissement ne modifie pas les horodatages ou les durées des échantillons. Par exemple, si la vitesse nominale du flux vidéo est de 25 images par seconde, la durée de chaque image est toujours marquée comme étant de 40 millisecondes, même si la source multimédia supprime toutes les images delta. Cela signifie qu’il y aura un intervalle de temps entre la fin d’une image et le début de la suivante.

Nettoyage

Le nettoyage est le processus qui consiste à rechercher instantanément des points spécifiques dans le flux en interagissant avec une barre de défilement, une chronologie ou une autre représentation visuelle du temps. Le terme vient de l’époque des lecteurs de bande de bobine à reel lorsque le basculement d’un rouleau d’avant en arrière pour localiser une section revient à frotter la tête de lecture avec la bande.

Le nettoyage est implémenté dans Media Foundation en définissant le taux de lecture sur zéro. Pour plus d’informations, consultez Comment effectuer un nettoyage.

Contrôle du taux

Recherche, avance rapide et lecture inversée

Service Interfaces