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
  • Windows Media Video 9 Advanced Profile
  • Windows Media Video 9.1 Image

Klassenbezeichner

Der Klassenbezeichner (CLSID) für den Windows Media Video Encoder wird durch die Konstante CLSID _ CWMV9EncMediaObject dargestellt. Sie können eine Instanz des Videoencoder erstellen, indem Sie CoCreateInstance aufrufen.

Schnittstellen

Ein Videoencoder-Objekt macht die IMediaObject-Schnittstelle verfügbar, sodass das Objekt als DirectX-Medienobjekt (DMO) verwendet werden kann, und macht die BERTRANSFORM-Schnittstelle verfügbar, sodass das Objekt als Media Foundation Transform (MFT) verwendet werden kann.

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

Betriebssystem Encoderverhalten
Windows XP Ein Windows Media Video Encoder verhält sich immer wie DMO.
Windows Vista und Windows 7 Standardmäßig verhält sich ein Windows Media-Videoencoder wie ein DMO. Wenn Sie eine BERTRANSFORM-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.

  • MEDIASUBTYPE _ IYUV
  • MEDIASUBTYPE _ I420
  • MEDIASUBTYPE _ YV12
  • MEDIASUBTYPE _ NV11
  • MEDIASUBTYPE _ NV12
  • MEDIASUBTYPE _ YUY2
  • MEDIASUBTYPE _ UY WIE
  • MEDIASUBTYPE _ YVINNEN
  • 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 agiert.

  • MFVideoFormat _ IYUV
  • MFVideoFormat _ I420
  • MFVideoFormat _ YV12
  • MFVideoFormat _ NV11
  • MFVideoFormat _ NV12
  • MFVideoFormat _ YUY2
  • MFVideoFormat _ UY WIES
  • MFVideoFormat _ YVVIDEO
  • MFVideoFormat _ RGB32
  • MFVideoFormat _ RGB24
  • MFVideoFormat _ RGB565
  • MFVideoFormat _ RGB555
  • MFVideoFormat _ RGB8
  • MEDIASUBTYPE _ PHOTOMOTION

Ausgabeformate

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

Kategorie FOURCC
Windows Media Video 9 – einfaches Profil "WMV3"
Windows Media Video 9-Hauptprofil "WMV3"
Windows Media Video 9 Advanced Profile "WVC1"
Windows Media Video 9.1 Image "WMVP" für 9.1, "WVP2" für Version 9.1, Version 2

Um zwischen einfachem Profil und Hauptprofil zu unterscheiden, legen Sie die MFPKEY _ DECODERCOMPLEXITYREQUESTED-Eigenschaft 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 Frames 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-Streams (Variable Bit Rate) in Millisekunden mit der durchschnittlichen Bitrate an (angegeben durch MFPKEY_RAVG).
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 (in Millisekunden) eines eingeschränkten VBR-Streams (Variable Bit Rate) 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 mit jedem Keyframe einen Puffer-Fullness-Wert 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, Bild.
Nur Schreibzugriff.
MFPKEY_CODEDFRAMES Gibt die Anzahl von Videoframes an, die vom Codec codiert werden.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreibgeschützt.
MFPKEY_CODEDNONZEROFRAMES Gibt die Anzahl von Videoframes an, die vom Codec codiert werden, die tatsächlich Daten enthalten.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Schreibgeschützt.
MFPKEY_COMPLEXITY Diese Eigenschaft wird durch MFPKEY_COMPLEXITYEX.
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, der 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 Bewegungsglättung 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, Bild.
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 den Rauschfilter bei der Codierung 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 (1-Durch-) VBR-Codierung (Variable Bit Rate) an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_DROPPEDFRAMES Gibt die Anzahl von 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 Codierungspasses an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_FORCEFRAMEHEIGHT Gibt eine zwischengeschaltete Framehöhe für codiertes Video an.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_FORCEFRAMEWIDTH Gibt eine zwischengeschaltete Framebreite für codiertes Video 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, Bild.
Nur Schreibzugriff.
MFPKEY_FRAMECOUNT Veraltet.
MFPKEY_FULLFRAMERATE Gibt an, ob der Encoder Frames ablegen darf.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_INTERLACEDCODINGENABLED Gibt an, ob die Codecausgabe als Interlacing verwendet 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, Image.
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 den In-Loop-Deblockierungsfilter während der Codierung 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 Arten 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, laute Rahmenrä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 der 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, Image.
Schreibgeschützt.
MFPKEY_PASSESUSED Gibt die Anzahl von Durchläufen an, die der Codec zum Codieren des Inhalts verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Lese-/Schreibzugriff.
MFPKEY_PERCEPTUALOPTLEVEL Gibt an, ob der Codec bei der Codierung 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, Image.
Nur Schreibzugriff.
MFPKEY_RANGEREDUX Gibt an, bis zu welchem Grad 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 Bits pro Sekunde an, die für die VBR-Codierung (Variable-Bit-Rate) mit zwei Durchlaufwerten verwendet wird.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Lese-/Schreibzugriff.
MFPKEY_RDSUBPIXELSEARCH Gibt an, ob der Encoder die RD-basierte MV-Suche auf Subpixeln verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Nur Schreibzugriff.
MFPKEY_REENCENDBUFFERSIZE Gibt für die Neucodierung von Segmenten die Puffergröße an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image.
Nur Schreibzugriff.
MFPKEY_REENCDURATION Für die Segment-Neucodierung gibt die Dauer des neu codierten Segments an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_REENCQPREF Für die Segment-Neucodierung gibt den Quantizer des Frames vor dem Startsegment an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_REENCSTARTBUFFERSIZE Für die Segment-Neucodierung gibt die Fullness des Startpuffers an.
Windows Vista und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Nur Schreibzugriff.
MFPKEY_RMAX Gibt die Spitzenbitrate in Bits 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 VBR-Codierung (Variable Bit Rate) verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild.
Lese-/Schreibzugriff.
MFPKEY_VBRQUALITY Gibt den tatsächlichen Qualitätsgrad für die qualitätsbasierte (1-Pass)-VBR-Codierung (Variable Bit Rate) an.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_VIDEOSCALING Gibt an, ob der Codec die Optimierung der Videoskalierung verwendet.
Windows XP und höher.
Einfaches Profil, Hauptprofil, Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_VIDEOWINDOW Gibt die Menge an Inhalt in Millisekunden an, die in den Modellpuffer passen kann.
Windows XP und höher.
Erweitertes Profil.
Nur Schreibzugriff.
MFPKEY_VOLHEADERFORREENCODE Für die Segment-Neucodierung gibt die privaten Codecdaten der Datei an, die erneut 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 Interlacing-Quellvideos 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