Windows Media Video 9 Encoder

Der Windows Media Video 9-Encoder codiert Videostreams. Der Encoder unterstützt die folgenden vier Kategorien der codierten Ausgabe.

  • Windows Media Video 9 – Einfaches Profil
  • Windows Media Video 9 Hauptprofil
  • Erweitertes Profil für Windows Media Video 9
  • Windows Media Video 9.1-Bild

Klassenbezeichner

Der Klassenbezeichner (CLSID) für den Windows Media Video-Encoder wird durch die Konstante CLSID_CWMV9EncMediaObject dargestellt. Sie können eine instance des Videoencoders erstellen, indem Sie CoCreateInstance aufrufen.

Schnittstellen

Ein Videoencoderobjekt macht die IMediaObject-Schnittstelle verfügbar, sodass das Objekt als DirectX Media Object (DMO) verwendet werden kann, und es macht die IMFTransform-Schnittstelle verfügbar, sodass das Objekt als Media Foundation Transform (MFT) verwendet werden kann.

Ein Videoencoder verhält sich je nachdem, welche Schnittstellen Sie erhalten und welche Version von Windows ausgeführt wird, als DMO oder MFT. Die folgende Tabelle zeigt die Bedingungen, unter denen sich ein Videoencoder als DMO oder MFT verhält.

Betriebssystem Encoderverhalten
Windows XP Ein Windows Media-Videoencoder verhält sich immer wie ein DMO.
Windows Vista und Windows 7 Standardmäßig verhält sich ein Windows Media-Videoencoder wie ein DMO. Wenn Sie eine IMFTransform-Schnittstelle für einen Videoencoder erhalten, verhält sie sich wie ein MFT.

 

Eingabeformate

Der Windows Media Video-Encoder unterstützt die folgenden Eingabemedienuntertypen, wenn er als DMO fungiert.

  • MEDIASUBTYPE_IYUV
  • MEDIASUBTYPE_I420
  • MEDIASUBTYPE_YV12
  • MEDIASUBTYPE_NV11
  • MEDIASUBTYPE_NV12
  • MEDIASUBTYPE_YUY2
  • MEDIASUBTYPE_UYVY
  • MEDIASUBTYPE_YVYU
  • MEDIASUBTYPE_RGB32
  • MEDIASUBTYPE_RGB24
  • MEDIASUBTYPE_RGB565
  • MEDIASUBTYPE_RGB555
  • MEDIASUBTYPE_RGB8
  • MEDIASUBTYPE_PHOTOMOTION

Der Windows Media Video-Encoder unterstützt die folgenden Eingabemedienuntertypen, wenn er als MFT fungiert.

  • MFVideoFormat_IYUV
  • MFVideoFormat_I420
  • MFVideoFormat_YV12
  • MFVideoFormat_NV11
  • MFVideoFormat_NV12
  • MFVideoFormat_YUY2
  • MFVideoFormat_UYVY
  • MFVideoFormat_YVYU
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB565
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB8
  • MEDIASUBTYPE_PHOTOMOTION

Ausgabeformate

In der folgenden Tabelle sind die vierstelligen Codes (FOURCCs) aufgeführt, die den Kategorien der codierten Ausgabe entsprechen.

Category FOURCC
Windows Media Video 9 – Einfaches Profil "WMV3"
Windows Media Video 9 Hauptprofil "WMV3"
Erweitertes Profil für Windows Media Video 9 "WVC1"
Windows Media Video 9.1-Bild "WMVP" für 9.1, "WVP2" für 9.1 Version 2

 

Um zwischen Simple Profile und Main Profile zu unterscheiden, legen Sie die eigenschaft MFPKEY_DECODERCOMPLEXITYREQUESTED fest.

Eigenschaften

Der Windows Media Video 9-Encoder unterstützt die folgenden Eigenschaften.

Eigenschaft Beschreibung
MFPKEY_ASFOVERHEADPERFRAME Gibt den Mehraufwand in Bytes pro Paket an, der für den Container erforderlich ist, der zum Speichern des komprimierten Inhalts verwendet wird.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_AVGFRAMERATE Gibt die durchschnittliche Bildfrequenz von Videoinhalten in Bildern pro Sekunde an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Schreibgeschützt.
MFPKEY_BAVG Gibt das Pufferfenster eines eingeschränkten VBR-Datenstroms (variable Bitrate) in Millisekunden mit seiner durchschnittlichen Bitrate (angegeben durch MFPKEY_RAVG) an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Lese-/Schreibzugriff.
MFPKEY_BDELTAQP Gibt die Deltaerhöhung zwischen dem Bildquantisierer des Ankerrahmens und dem Bildquantisierer des B-Frames an.
Windows XP und höher.
Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_BMAX Gibt das Pufferfenster eines VBR-Datenstroms (mit eingeschränkter variabler Bitrate) in Millisekunden mit seiner Spitzenbitrate (angegeben durch MFPKEY_RMAX) an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Lese-/Schreibzugriff.
MFPKEY_BUFFERFULLNESSINFIRSTBYTE Gibt an, ob der codierte Videobitstream einen Pufferfüllwert mit jedem Keyframe enthält.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreibgeschützt.
MFPKEY_CLOSEDENTRYPOINT Gibt das Codierungsmuster an, das am Anfang einer Gruppe von Bildern verwendet werden soll.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Nur Schreibzugriff.
MFPKEY_CODEDFRAMES Gibt die Anzahl der vom Codec codierten Videoframes an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreibgeschützt.
MFPKEY_CODEDNONZEROFRAMES Gibt die Anzahl der Videoframes an, die vom Codec codiert werden und tatsächlich Daten enthalten.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreibgeschützt.
MFPKEY_COMPLEXITY Diese Eigenschaft wird durch MFPKEY_COMPLEXITYEX ersetzt.
MFPKEY_COMPLEXITYEX Gibt die Komplexität des Encoderalgorithmus an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil. Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_COMPRESSIONOPTIMIZATIONTYPE Gibt den Typ der Optimierung an, die für den Windows Media Video 9 Advanced Profile-Codec verwendet werden soll.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreiben.
MFPKEY_CRISP Gibt eine numerische Darstellung des Kompromisses zwischen Bewegungsruhe und Bildqualität in der Codecausgabe an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_DATARATE Wird nicht verwendet.
MFPKEY_DECODERCOMPLEXITYPROFILE Gibt die Gerätekonformitätsvorlage an, der der codierte Inhalt entspricht.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Schreibgeschützt.
MFPKEY_DECODERCOMPLEXITYREQUESTED Gibt die Gerätekonformitätsvorlage an, die Sie für die Videocodierung verwenden möchten.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_DELTAMVRANGEINDEX Gibt die Methode an, die zum Codieren der Bewegungsvektorinformationen verwendet wird.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_DENOISEOPTION Gibt an, ob der Codec bei der Codierung den Rauschfilter verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_DESIRED_VBRQUALITY Gibt die gewünschte Qualitätsstufe für die qualitätsbasierte Codierung mit variabler Bitrate (VBR) (1 Pass) an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Nur Schreibzugriff.
MFPKEY_DROPPEDFRAMES Gibt die Anzahl der videoframes an, die während der Codierung gelöscht werden.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreibgeschützt.
MFPKEY_ENDOFPASS Gibt das Ende eines Codierungsdurchlaufs an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_FORCEFRAMEHEIGHT Gibt eine Zwischenbildhöhe für codierte Videos an.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_FORCEFRAMEWIDTH Gibt eine zwischene Framebreite für codierte Videos an.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_FORCEMEDIANSETTING Gibt an, ob der Codec die Medianfilterung während der Codierung verwenden soll.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_FOURCC Gibt den FOURCC an, der den Encoder identifiziert, den Sie verwenden möchten.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Nur Schreibzugriff.
MFPKEY_FRAMECOUNT Veraltet.
MFPKEY_FULLFRAMERATE Gibt an, ob der Encoder Frames löschen darf.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Nur Schreibzugriff.
MFPKEY_INTERLACEDCODINGENABLED Gibt an, ob die Codecausgabe interlaced wird.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_KEYDIST Gibt die maximale Zeit in Millisekunden zwischen Keyframes in der Codecausgabe an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_LIVEENCODE Wird nicht verwendet.
MFPKEY_LOOKAHEAD Gibt die Anzahl der Frames nach dem aktuellen Frame an, die der Codec vor dem Codieren des aktuellen Frames auswertet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_LOOPFILTER Gibt an, ob der Codec während der Codierung den In-Loop-Deblockierungsfilter verwenden soll.
Windows XP und höher.
Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_MACROBLOCKMODECOSTMETHOD Gibt die Kostenmethode an, die vom Codec verwendet wird, um zu bestimmen, welcher Makroblockmodus verwendet werden soll.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_MOTIONMATCHMETHOD Gibt die Methode an, die für den Bewegungsabgleich verwendet werden soll.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_MOTIONSEARCHLEVEL Gibt die Typen von Videoinformationen an, die in Bewegungssuchvorgängen verwendet werden.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_MOTIONSEARCHRANGE Gibt den Bereich an, der bei Bewegungssuchen verwendet wird.
Windows XP und höher.
Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_NOISEEDGEREMOVAL Gibt an, ob der Codec versuchen soll, verrauschte Frameränder zu erkennen und zu entfernen.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_NUMBFRAMES Gibt die Anzahl bidirektionaler Vorhersageframes (B-Frames) an.
Windows XP und höher.
Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_NUMTHREADS Gibt die Anzahl von Threads an, die der Codec für die Codierung verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_PASSESRECOMMENDED Gibt die maximale Anzahl von Durchläufen an, die vom Codec unterstützt werden.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Schreibgeschützt.
MFPKEY_PASSESUSED Gibt die Anzahl der Durchläufe an, die der Codec zum Codieren des Inhalts verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Lese-/Schreibzugriff.
MFPKEY_PERCEPTUALOPTLEVEL Gibt an, ob der Codec beim Codieren eine konservative Wahrnehmungsoptimierung verwenden soll.
Windows XP und höher.
Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_PRODUCEDUMMYFRAMES Gibt an, ob der Encoder Dummyframeeinträge im Bitstream für doppelte Frames erzeugt.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_QPPERFRAME Gibt QP an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_RANGEREDUX Gibt den Grad an, auf den der Codec den effektiven Farbbereich des Videos reduzieren soll.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_RAVG Gibt die durchschnittliche Bitrate in Bit pro Sekunde an, die für die Codierung mit variabler Bitrate (VBR) mit 2 Durchgängen verwendet wird.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Lese-/Schreibzugriff.
MFPKEY_RDSUBPIXELSEARCH Gibt an, ob der Encoder die RD-basierte Subpixel-MV-Suche verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_REENCENDBUFFERSIZE Gibt für die Segmentrecodierung die Puffergröße an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_REENCDURATION Gibt für die Segmentrecodierung die Dauer des erneut codierten Segments an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_REENCQPREF Gibt für die Segmentrecodierung den Quantisierer des Frames vor dem Startsegment an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_REENCSTARTBUFFERSIZE Gibt für die Segmentrecodierung die Startpufferfülle an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_RMAX Gibt die Spitzenbitrate in Bit pro Sekunde an, die für die eingeschränkte 2-Pass-Variable-Bit-Rate (VBR) verwendet wird.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Lese-/Schreibzugriff.
MFPKEY_TOTALFRAMES Gibt die Anzahl der Videoframes an, die während des Codierungsprozesses an den Encoder übergeben werden.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Schreibgeschützt.
MFPKEY_VBRENABLED Gibt an, ob der Codec die Codierung mit variabler Bitrate (VBR) verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Lese-/Schreibzugriff.
MFPKEY_VBRQUALITY Gibt die tatsächliche Qualitätsstufe für die qualitätsbasierte Codierung mit variabler Bitrate (VBR) (1-Pass) an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_VIDEOSCALING Gibt an, ob der Codec die Videoskalierungsoptimierung verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_VIDEOWINDOW Gibt den Inhalt in Millisekunden an, der in den Modellpuffer passen kann.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_VOLHEADERFORREENCODE Gibt für die Segmentrecodierung die privaten Codecdaten der Datei an, die neu codiert wird.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_VTYPE Gibt den Typ der Logik an, die der Codec zum Erkennen von Quellvideos mit Interlaces verwendet.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_ZEROBYTEFRAMES Gibt die Anzahl der Videoframes an, die übersprungen wurden, da sie Duplikate vorheriger Frames waren.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreibgeschützt

 

Anforderungen

Anforderung Wert
Client
Windows XP, Windows Vista oder Windows 7
Header
Wmcodecdsp.h
DLL
Wmvencod.dll

Weitere Informationen

Codec-Objekte

Codecimplementierung