Konfigurieren von Streams

Videostreams sind in ihrer Konfiguration flexibler als Audiostreams. Dies liegt daran, dass die Eigenschaften der Frames, aus denen das Video besteht, von Datei zu Datei stark variieren können. Wenn Sie das Codecformat für den verwendeten Codec abrufen, müssen Sie die folgenden Werte für Videostream-Konfigurationsobjekte festlegen.

Wert BESCHREIBUNG
Bitrate Rufen Sie IWMStreamConfig::SetBitrate auf, um auf den gewünschten Wert zu setzen. Der Videocodec versucht, die Medien zu komprimieren, um Ihre Spezifikationen zu erfüllen. Wenn Ihre Werte zu niedrig sind, wird das resultierende komprimierte Video sehr beeinträchtigt.
Pufferfenster Rufen Sie IWMStreamConfig::SetBufferWindow auf, um auf den gewünschten Wert zu setzen. Der Videocodec versucht, die Medien zu komprimieren, um Ihre Spezifikationen zu erfüllen. Wenn Ihre Werte zu niedrig sind, wird das resultierende komprimierte Video sehr beeinträchtigt.
WMVIDEOINFOHEADER.rcSource Die obere linke Ecke muss auf 0,0 festgelegt werden. Die untere rechte Ecke muss auf die Rahmendimensionen festgelegt werden. In einem 640x480-Stream wären diese Einstellungen beispielsweise 0,0.640.480.
WMVIDEOINFOHEADER.rcTarget Muss mit rcSource übereinstimmen.
WMVIDEOINFOHEADER.dwBitRate Muss mit der für den Stream festgelegten Bitrate übereinstimmen.
WMVIDEOINFOHEADER. AvgTimePerFrame Legen Sie auf die ungefähre Zeit pro Frame fest.
BITMAPINFOHEADER.biWidth Legen Sie auf die Breite der gewünschten Framegröße in Pixel fest.
BITMAPINFOHEADER.biHeight Legen Sie auf die Höhe der gewünschten Framegröße in Pixel fest.

Videoinhalte werden nur dann richtig abspielt, wenn sie in einer Größe codiert sind, die ein Vielfaches von vier für Breite und Höhe ist. Die Ausnahme ist rgb unkomprimiertes Video, das eine beliebige Größe haben kann. Wenn Sie versuchen, eine Größe zu festlegen, die kein Vielfaches von vier ist, wird einer der folgenden Fehler vom Writer zurückgegeben:

  • NS _ E _ UNGÜLTIGES _ _ EINGABEFORMAT
  • NS _ E _ UNGÜLTIGES _ _ AUSGABEFORMAT
  • NS _ E _ INVALIDPROFILE

Wenn Sie die Codierung mit variabler Bitrate verwenden, müssen Sie möglicherweise weitere Anpassungen vornehmen. Weitere Informationen finden Sie unter Konfigurieren von VBR Streams.

Einige Windows Media Video-Codecs unterstützen mehrere Komplexitätsstufen. Komplexitätsstufen bestimmen die Algorithmen, die der Codec beim Codieren eines Videostreams verwendet. Die Verwendung einer hohen Komplexitätsebene erfordert mehr Verarbeitungsleistung für die Codierung und Decodierung.

Jeder Codec, der Komplexitätseinstellungen unterstützt, macht die folgenden Einstellungen verfügbar, die Sie mit der IWMCodecInfo3::GetCodecProp-Methode abrufen können.

Einstellung BESCHREIBUNG
g _ wszComplexityMax Die maximale Qualitätsstufe, die vom Codec unterstützt wird.
g _ wszComplexityOffline Die empfohlene Qualitätsstufe für die Offlinewiedergabe.
g _ wszComplexityLive Die empfohlene Qualitätsstufe für die Streamingwiedergabe.

Verwenden Sie zum Festlegen der Komplexität für einen Videostream in einem Profil die IWMPropertyVault::SetProperty-Methode mithilfe der Eigenschaft g _ wszComplexity. Der von Ihnen festgelegte Wert muss kleiner oder gleich der maximal unterstützten Komplexität für den Codec sein.

Configuration Common to All Streams

Konfigurieren Streams

Videokomplexitäts-Einstellungen