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.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
MFPKEY_AVGFRAMERATE | Gibt die durchschnittliche Bildfrequenz von Videoinhalten in Bildern pro Sekunde an.
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.
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 eines VBR-Datenstroms (mit eingeschränkter variabler Bitrate) in Millisekunden mit seiner Spitzenbitrate (angegeben durch MFPKEY_RMAX) an.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Lese-/Schreibzugriff. |
MFPKEY_BUFFERFULLNESSINFIRSTBYTE | Gibt an, ob der codierte Videobitstream einen Pufferfüllwert mit jedem Keyframe 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, Image. Nur Schreibzugriff. |
MFPKEY_CODEDFRAMES | Gibt die Anzahl der vom Codec codierten Videoframes an.
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.
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.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Schreiben. |
MFPKEY_CRISP | Gibt eine numerische Darstellung des Kompromisses zwischen Bewegungsruhe 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, Image. 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 bei der Codierung den Rauschfilter verwendet.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image. Nur Schreibzugriff. |
MFPKEY_DROPPEDFRAMES | Gibt die Anzahl der videoframes an, die während der Codierung gelöscht werden.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Schreibgeschützt. |
MFPKEY_ENDOFPASS | Gibt das Ende eines Codierungsdurchlaufs an.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
MFPKEY_FORCEFRAMEHEIGHT | Gibt eine Zwischenbildhöhe für codierte Videos an.
Erweitertes Profil. Nur Schreibzugriff. |
MFPKEY_FORCEFRAMEWIDTH | Gibt eine zwischene Framebreite für codierte Videos 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, Image. Nur Schreibzugriff. |
MFPKEY_FRAMECOUNT | Veraltet. |
MFPKEY_FULLFRAMERATE | Gibt an, ob der Encoder Frames löschen darf.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Image. Nur Schreibzugriff. |
MFPKEY_INTERLACEDCODINGENABLED | Gibt an, ob die Codecausgabe interlaced wird.
Erweitertes Profil. Nur Schreibzugriff. |
MFPKEY_KEYDIST | Gibt die maximale Zeit in Millisekunden zwischen Keyframes in der Codecausgabe an.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
MFPKEY_LOOPFILTER | Gibt an, ob der Codec während der Codierung den In-Loop-Deblockierungsfilter 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 Typen 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, verrauschte Framerä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 von 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, Bild. Schreibgeschützt. |
MFPKEY_PASSESUSED | Gibt die Anzahl der Durchläufe an, die der Codec zum Codieren des Inhalts verwendet.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Lese-/Schreibzugriff. |
MFPKEY_PERCEPTUALOPTLEVEL | Gibt an, ob der Codec beim Codieren 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, Bild. Nur Schreibzugriff. |
MFPKEY_RANGEREDUX | Gibt den Grad an, auf den der Codec den effektiven Farbbereich des Videos reduzieren soll.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Lese-/Schreibzugriff. |
MFPKEY_RDSUBPIXELSEARCH | Gibt an, ob der Encoder die RD-basierte Subpixel-MV-Suche verwendet.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
MFPKEY_REENCENDBUFFERSIZE | Gibt für die Segmentrecodierung die Puffergröße an.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
MFPKEY_REENCDURATION | Gibt für die Segmentrecodierung die Dauer des erneut codierten Segments an.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
MFPKEY_REENCQPREF | Gibt für die Segmentrecodierung den Quantisierer des Frames vor dem Startsegment an.
Einfaches Profil, Hauptprofil, Erweitertes Profil, Bild. Nur Schreibzugriff. |
MFPKEY_REENCSTARTBUFFERSIZE | Gibt für die Segmentrecodierung die Startpufferfülle an.
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.
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 Codierung mit variabler Bitrate (VBR) verwendet.
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.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
MFPKEY_VIDEOSCALING | Gibt an, ob der Codec die Videoskalierungsoptimierung verwendet.
Einfaches Profil, Hauptprofil, Erweitertes Profil. Nur Schreibzugriff. |
MFPKEY_VIDEOWINDOW | Gibt den Inhalt in Millisekunden an, der in den Modellpuffer passen kann.
Erweitertes Profil. Nur Schreibzugriff. |
MFPKEY_VOLHEADERFORREENCODE | Gibt für die Segmentrecodierung die privaten Codecdaten der Datei an, die neu codiert wird.
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.
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 |
|
Weitere Informationen