Abrufen von Codierungsstatistiken (Microsoft Media Foundation)
Informationen dazu, 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, verarbeiten die Anzahl der vom Encoder verarbeiteten Frames. Es gibt drei Framenummerneigenschaften, die Sie aus dem Videoencoder lesen können:
- MFPKEY _ TOTALFRAMES ist die Anzahl der Frames, die über den Eingabestream der DMO verarbeitet werden.
- MFPKEY _ CODEDFRAMES ist die Anzahl der codierten Frames. 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 sind, da sie bereits enthaltenen Inhalt dupliziert haben. Dieser Wert wird nicht von der Anzahl der codierten Frames subtrahiert, die vom DMO gemeldet werden.
Sie können videoframe-Eigenschaften jederzeit während der Codierung lesen. Dies kann hilfreich sein, um zu bestimmen, ob die Codierungseinstellungen für Ihren Inhalt geeignet sind. Wenn es einen großen Unterschied zwischen Gesamtframes und 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 wurde). Es gibt vier VBR-Puffereigenschaften, die Sie mit der IPropertyBag::Read-Methode abrufen können:
- MFPKEY _ 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 von Beispielen begonnen haben, sollten Sie keine der VBR-Eigenschaften lesen, bis Sie die Codierung des Streams 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.