Abrufen von Codierungsstatistiken (Microsoft Media Foundation)

Informationen darüber, was in einer Codierungssitzung geschieht, sind in der Regel sofort in Form von Fehlercodes verfügbar, die bei der Verarbeitung von Beispielen zurückgegeben werden. Es gibt jedoch einige Statistiken, die Sie aus dem Codec zu verschiedenen Codierungsaspekten abrufen können.

Videoframeinformationen

Einige Videostatistiken, die Sie abrufen können, befassen sich mit der Anzahl der frames, die vom Encoder verarbeitet werden. Es gibt drei Framenummerneigenschaften, die Sie aus dem Videoencoder lesen können:

  • MFPKEY_TOTALFRAMES ist die Anzahl der Frames, die über den Eingabestream des DMO verarbeitet werden.
  • MFPKEY_CODEDFRAMES ist die Anzahl der framescodiert. Indem Sie diesen Wert von der Gesamtzahl der übergebenen Frames subtrahieren, können Sie bestimmen, wie viele Frames gelöscht wurden.
  • MFPKEY_ZEROBYTEFRAMES ist die Anzahl der Frames, die nicht codiert wurden, da sie bereits enthaltene Inhalte dupliziert haben. Dieser Wert wird nicht von der Anzahl der vom DMO gemeldeten codierten Frames subtrahiert.

Sie können videoframe-Eigenschaften jederzeit während der Codierung lesen. Dies kann hilfreich sein, um zu bestimmen, ob die Codierungseinstellungen für Ihre Inhalte geeignet sind. Wenn es einen großen Unterschied zwischen den Gesamtframes und den codierten Frames gibt, erfüllt der komprimierte Inhalt möglicherweise nicht Ihre Qualitätsanforderungen. Sie können die endgültigen Werte lesen, nachdem Sie die Codierung abgeschlossen haben.

VBR-Pufferstatistik

Abhängig vom verwendeten Codierungsmodus können einige oder alle Puffereinstellungen während der Codierung bestimmt werden (z. B. ist die Bitrate der qualitätsbasierten VBR erst bekannt, wenn der Inhalt codiert ist). Es gibt vier VBR-Puffereigenschaften, die Sie mit der IPropertyBag::Read-Methode abrufen können:

  • MFPKEY_RAVG ist die durchschnittliche Bitrate des VBR-Inhalts.
  • MFPKEY_BAVG ist das Pufferfenster für die durchschnittliche Bitrate.
  • MFPKEY_RMAX ist die Spitzenbitrate des VBR-Inhalts.
  • MFPKEY_BMAX ist das Spitzenpufferfenster.

Nachdem Sie mit der Verarbeitung der Beispiele begonnen haben, sollten Sie keine der VBR-Eigenschaften lesen, wenn Sie die Codierung des Datenstroms abgeschlossen haben. Wenn Sie dies tun, interpretiert der Encoder Ihre Anforderung als Signal, dass die Codierung abgeschlossen ist. Das nächste Beispiel, das Sie verarbeiten, wird als neue Codierungssitzung behandelt.

Windows Media-Codecs