Utilisation du séparateur MPEG-2

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si 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.]

Notes

À compter de Microsoft® Windows® XP, le filtre splitter MPEG-2 est déconseillé. Utilisez plutôt le démultiplexeur MPEG-2 .

 

Le filtre Splitter MPEG-2 prend en charge la lecture en mode pull de flux de programmes MPEG-2 qui contiennent au moins l’un des types de flux suivants.

  • Vidéo MPEG-2
  • Audio MPEG-2
  • Audio Dolby AC-3 encodé comme défini pour DVD-Video
  • LPCM (Linear Pulse Code Modulé) audio encodé comme défini pour DVD-Video

Pour obtenir la liste des types de médias pris en charge par le séparateur MPEG-2, consultez Types de supports de fractionnement MPEG-2.

Le séparateur MPEG-2 n’analyse pas les flux de transport. Utilisez le filtre démultiplexeur MPEG-2 pour les flux de transport (mode Push uniquement).

Horodatages

Lors de la lecture de flux de programmes MPEG-2, le filtre Splitter MPEG-2 traite la première référence d’horloge système qu’il rencontre comme l’origine de l’heure de n’importe quel flux. Cela diffère du séparateur de flux MPEG-1, qui utilise des horodatages de présentation. La méthode IAMParse::GetParseTime retourne l’heure d’horloge système de flux (éventuellement estimée) pour les données qu’elle a traitées.

Si le filtre de fractionnement MPEG-2 rencontre un exemple d’entrée avec le jeu de propriétés de discontinuité (la propriété de discontinuité peut être définie à l’aide de IMediaSample::SetDiscontinuity ou IMediaSample2::SetProperties), il ignore les données jusqu’à ce qu’il trouve le premier pack dans les données et ajuste ses horodatages de sorte que la référence d’horloge système (SCR) pour ce pack soit considérée comme identique à l’heure SCR avant la discontinuité. Si l’horloge SCR semble sauter vers l’arrière ou pour avancer de plus d’une seconde, alors (conformément à la spécification de flux de programme MPEG-2), cela est également traité comme une discontinuité d’horloge et l’écart d’horloge apparent est soustrait des horodatages passés aux filtres en aval.

Sélection de flux

Lors de la lecture du flux de programme MPEG-2, le premier flux vidéo et le premier flux audio trouvés dans le flux du programme sont choisis. Jusqu’à une broche de sortie audio et vidéo sont prises en charge. Via l’interface IAMStreamSelect , différents flux du même type peuvent être sélectionnés jusqu’au nombre spécifié par la limite audio dans l’en-tête système. Pour l’audio MPEG-2, il est actuellement supposé que les flux forment une plage contiguë commençant à la 0xC0 de flux.

Interfaces prises en charge

Le filtre de séparateur MPEG-2 prend en charge les interfaces suivantes.

Prise en charge de MPEG-2 dans DirectShow