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.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
| MFPKEY_AVGFRAMERATE | Gibt die durchschnittliche Bildfrequenz von Videoinhalten in Frames pro Sekunde an.
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).
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.
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.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Schreibgeschützt. |
| MFPKEY_CLOSEDENTRYPOINT | Gibt das Codierungsmuster an, das am Anfang einer Gruppe von Bildern verwendet werden soll.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
| MFPKEY_CODEDFRAMES | Gibt die Anzahl von Videoframes an, die vom Codec codiert werden.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Schreibgeschützt. |
| MFPKEY_COMPLEXITY | Diese Eigenschaft wird durch MFPKEY_COMPLEXITYEX. |
| MFPKEY_COMPLEXITYEX | Gibt die Komplexität des Encoderalgorithmus an.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Schreiben. |
| MFPKEY_CRISP | Gibt eine numerische Darstellung des Kompromisses zwischen Bewegungsglättung und Bildqualität in der Codecausgabe an.
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.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_DELTAMVRANGEINDEX | Gibt die Methode an, die zum Codieren der Bewegungsvektorinformationen verwendet wird.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_DENOISEOPTION | Gibt an, ob der Codec den Rauschfilter bei der Codierung verwendet.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
| MFPKEY_DROPPEDFRAMES | Gibt die Anzahl von Videoframes an, die während der Codierung gelöscht werden.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Schreibgeschützt. |
| MFPKEY_ENDOFPASS | Gibt das Ende eines Codierungspasses an.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_FORCEFRAMEHEIGHT | Gibt eine zwischengeschaltete Framehöhe für codiertes Video an.
Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_FORCEFRAMEWIDTH | Gibt eine zwischengeschaltete Framebreite für codiertes Video an.
Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_FORCEMEDIANSETTING | Gibt an, ob der Codec die Medianfilterung während der Codierung verwenden soll.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_FOURCC | Gibt den FOURCC an, der den encoder identifiziert, den Sie verwenden möchten.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
| MFPKEY_FRAMECOUNT | Veraltet. |
| MFPKEY_FULLFRAMERATE | Gibt an, ob der Encoder Frames ablegen darf.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
| MFPKEY_INTERLACEDCODINGENABLED | Gibt an, ob die Codecausgabe als Interlacing verwendet wird.
Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_KEYDIST | Gibt die maximale Zeit in Millisekunden zwischen Keyframes in der Codecausgabe an.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_LOOPFILTER | Gibt an, ob der Codec den In-Loop-Deblockierungsfilter während der Codierung verwenden soll.
Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_MACROBLOCKMODECOSTMETHOD | Gibt die Kostenmethode an, die vom Codec verwendet wird, um zu bestimmen, welcher Makroblockmodus verwendet werden soll.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_MOTIONMATCHMETHOD | Gibt die Methode an, die für den Bewegungsabgleich verwendet werden soll.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_MOTIONSEARCHLEVEL | Gibt die Arten von Videoinformationen an, die in Bewegungssuchvorgängen verwendet werden.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_MOTIONSEARCHRANGE | Gibt den bereich an, der bei Bewegungssuchen verwendet wird.
Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_NOISEEDGEREMOVAL | Gibt an, ob der Codec versuchen soll, laute Rahmenränder zu erkennen und zu entfernen.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_NUMBFRAMES | Gibt die Anzahl bidirektionaler Vorhersageframes (B-Frames) an.
Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_NUMTHREADS | Gibt die Anzahl der Threads an, die der Codec für die Codierung verwendet.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_PASSESRECOMMENDED | Gibt die maximale Anzahl von Durchläufen an, die vom Codec unterstützt werden.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image. Lese-/Schreibzugriff. |
| MFPKEY_PERCEPTUALOPTLEVEL | Gibt an, ob der Codec bei der Codierung eine konservative Wahrnehmungsoptimierung verwenden soll.
Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_PRODUCEDUMMYFRAMES | Gibt an, ob der Encoder Dummyframeeinträge im Bitstream für doppelte Frames erzeugt.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_QPPERFRAME | Gibt QP an.
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.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Lese-/Schreibzugriff. |
| MFPKEY_RDSUBPIXELSEARCH | Gibt an, ob der Encoder die RD-basierte MV-Suche auf Subpixeln verwendet.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image. Nur Schreibzugriff. |
| MFPKEY_REENCENDBUFFERSIZE | Gibt für die Neucodierung von Segmenten die Puffergröße an.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image. Nur Schreibzugriff. |
| MFPKEY_REENCDURATION | Für die Segment-Neucodierung gibt die Dauer des neu codierten Segments an.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
| MFPKEY_REENCQPREF | Für die Segment-Neucodierung gibt den Quantizer des Frames vor dem Startsegment an.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
| MFPKEY_REENCSTARTBUFFERSIZE | Für die Segment-Neucodierung gibt die Fullness des Startpuffers an.
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.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Schreibgeschützt. |
| MFPKEY_VBRENABLED | Gibt an, ob der Codec die VBR-Codierung (Variable Bit Rate) verwendet.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_VIDEOSCALING | Gibt an, ob der Codec die Optimierung der Videoskalierung verwendet.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_VIDEOWINDOW | Gibt die Menge an Inhalt in Millisekunden an, die in den Modellpuffer passen kann.
Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_VOLHEADERFORREENCODE | Für die Segment-Neucodierung gibt die privaten Codecdaten der Datei an, die erneut codiert wird.
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.
Erweitertes Profil. Nur Schreibzugriff. |
| MFPKEY_ZEROBYTEFRAMES | Gibt die Anzahl der Videoframes an, die übersprungen wurden, da sie Duplikate vorheriger Frames waren.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Schreibgeschützt |
Anforderungen
| Anforderung | Wert |
|---|---|
| Client |
Windows XP, Windows Vista oder Windows 7 |
| Header |
|
| DLL |
|