Erzielen guter Ergebnisse mit dem Windows Media Video 9-Bildschirmcodec

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Sie wurde durch den Quellleser und den Senkenschreiber ersetzt. Quellleser und Senkenschreiber wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit den Quellleser und senkenden Writer anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Der Windows Media Video 9-Bildschirmcodec ist für die Erstellung hoch komprimierter Videos für die Bildschirmaufnahme konzipiert. Da die meisten Bildschirmaufnahmen relativ einfache und statische Bilder erfordern, bedeutet die hohe Komprimierung in der Regel kein großes Opfer in bezug auf die Bildqualität. Allerdings ist jede Bildschirmaufnahme anders, und die resultierende Bildqualität kann je nach Umständen erheblich variieren.

Die beste Möglichkeit zum Ermitteln der Profileinstellungen für eine Bildschirmcodecsitzung besteht darin, eine Testdatei mithilfe eines qualitätsbasierten Datenstroms mit variabler Bitrate zu codieren. Legen Sie die Qualität auf den gewünschten Wert fest, und codieren Sie einen Screenshot, als würden Sie die endgültige Datei aufzeichnen. Wenn die Datei geschrieben wird, spielen Sie sie mit dem asynchronen Reader-Objekt ab, und führen Sie regelmäßige Aufrufe von IWMReaderAdvanced::GetStatistics durch. Durch Überwachen des Werts des dwBandwidth-Members der WM_READER_STATISTICS-Struktur für jeden Aufruf können Sie die ungefähre Bitrate ermitteln, die erforderlich ist, um die gewünschte Qualität zu erzielen. Anschließend können Sie diese Bitrate für die Codierung konstanter Bitraten verwenden.

Wenn Sie feststellen, dass die gewünschte Qualität eine höhere Bitrate erfordert, als Sie für Ihr Übermittlungsszenario verwenden können, können Sie die folgenden Techniken ausprobieren, um mehr Effizienz aus dem Codec zu erzielen.

  • Verwenden Sie eine kleinere Auflösung für die Bildschirmaufnahme. Das Erfassen einer größeren Bildschirmauflösung als erforderlich kann auch verwirrungslösend für den Betrachter sein, indem mehr Informationen als benötigt werden.
  • Verwenden Sie weniger Grafiken in der Screenshotaufnahme. Der Windows Media Video 9-Bildschirmcodec ist für die Codierung von Windows-Grundtypen und Text mit hoher Qualität optimiert. In der Regel treten Probleme aufgrund von Bitmapgrafiken auf, die oft Tausende einzelner Farben enthalten. Je weniger Bitmaps bei der Aufnahme auf dem Bildschirm angezeigt werden, desto besser sind ihre Ergebnisse. Wenn Sie Grafiken nicht aus Der Bildschirmaufnahme entfernen können, gibt es mehrere Möglichkeiten, die Auswirkungen einer Bitmap auf die Bildqualität zu minimieren:
    • Reduzieren Sie die Größe der Grafik.
    • Reduzieren Sie die Anzahl der einzelnen Grafiken, die gleichzeitig auf dem Bildschirm angezeigt werden.
    • Reduzieren Sie die Bewegungsmenge der Grafik. Wenn sich die Grafik beispielsweise in einem Fenster befindet, halten Sie das Fenster so stationär wie möglich.
    • Vermeiden Sie es, den Mauszeiger über die Grafik zu bewegen oder Fenster oder andere Elemente über die Grafik zu ziehen.
  • Verwenden Sie eine langsamere Bildfrequenz. Screenshots können oft mit sehr niedrigen Bildraten (manchmal nur 4 oder 5 Bilder pro Sekunde) effektiv sein.
  • Reduzieren Sie die Bitrate des begleitenden Audios.

Außerdem unterstützt der Codec keine Größenänderung des Videorechtecks. Mit anderen Worten, wenn Sie versuchen, den Codec zu verwenden, um einen 800 x 600-Bildschirm in ein 640 x 480-Videorechteck zu codieren, weist das resultierende Video erhebliche Artefakte auf, die einen Großteil des Texts auf dem Bildschirm unleserlich machen.

Konfigurieren von Screenshotstreams

Konfigurieren von Streams