xREL.v3

HD-Wiedergabe mit Hardware-Beschleunigung - Hardware-Blog

Sprache wählen
Board RSS API Status Hilfe Kontakt
Hardware-Blog

Artikel lesen

HD-Wiedergabe mit Hardware-Beschleunigung
Mit Media Player Classic und optional CoreAVC

Ein 1080p-Release mit weniger als 20%-CPU-Auslastung abspielen? Dies ist dank des Media Player Classic und einer entsprechenden Grafikkarte, die das Decoding übernimmt, ohne weiteres möglich! Und auch das neueste Release (1.9) des (kostenpflichtigen) Software-h264-Decoders CoreAVC unterstützt im Zusammenspiel mit einem Beta-Treiber von nVidia Hardware-Beschleunigung.
Nachdem mir heute also ein Licht aufgegangen ist, möchte ich das Wissen um das "Wie?" nun mit euch teilen. Ein Satz noch vorher zur Wahl des Media Player Classic: Dieser Player ist für HD-Wiedergabe auf dem PC im Moment einfach der Standard. VLC hat ja bekanntlich Performance-Probleme bei der Wiedergabe von 1080p-h264-Videos, isbs. auf Rechnern mit "nur" 2.0-2.6 Ghz. Und auch bei 720p bringt er die CPU schon gut ins Schwitzen. Daher greifen wir zum MPC. Der ist genauso gratis und, wie gesagt, für HD-Wiedergabe ausgelegt.
Dieser Artikel wird zudem nicht auf die Wiedergabe von Blu-Rays eingehen. Wenn ich also "HD" schreibe, ist damit immer ein x264-720p oder -1080p-Release gemeint.

Hardware-Voraussetzungen:

  • Eine nVidia-Grafikkarte mit VP2 oder VP3-Unterstützung. Sagt einem so erstmal nichts, deshalb hier zwei Links zur Orientierung:
    Hier sollte bei eurer Karte VP2 oder VP3 in der dritten Spalte stehen.
    Weiterhin funktionieren auch alle nVidia-Mobile-Grafikkarten ab der 8xxxM-Serie (mit Ausname der 8400M), also auch zB die 8600M oder die G110M. Quelle

    oder

  • Eine ATI-Grafikkarte der ATI Radeon HD-Serie (oder neuer). Genauere Infos zu den einzelnen Modellen konnte ich leider nicht finden.


Nun steht die Entscheidung an, ob CoreAVC benutzt werden soll oder nicht. Mein Tipp: Generell wird CoreAVC erstmal nicht benötigt. Allerdings kann es sein, dass der MPC bei einzelnen Video-Dateien nicht selber auf die Hardware-Beschleunigung zurückgreifen kann. In diesem Fall würde er dann auf "pure CPU" oder eben auf CoreAVC im CPU-Modus, oder, im besseren Fall, auf "CoreAVC mit CUDA" (d.h. Hardwarebeschleunigung) zurück fallen. Ich empfehle also CoreAVC ruhig zu installieren, falls ihr die Möglichkeit und/oder eine eher schwache CPU habt. Falls ihr eine starke CPU und eine ATI-Grafikkarte habt, braucht ihr CoreAVC nicht! Die Hardwarebeschleunigung von CoreAVC funktioniert nämlich nur mit nVidia-Karten.

Software-Voraussetzungen:
  • Media Player Classic Home Cinema (MPC-HC, ihr könnt auch mit 64bit-Windows zur 32bit-Variante greifen. Dies ist sogar empfohlen, da die 64bit-Unterstützung noch etwas rudimentär ist.)
  • Einen aktuellen Grafikkartentreiber! (für CoreAVC mindestens nVidia 182.x Beta, ansonsten reicht die aktuellste stabile Version)
  • Wenn ihr CoreAVC einsetzen wollt, CoreAVC 1.9 inkl. des Haali Media Splitters.
  • Vorsicht mit DirectVobSub und ffdshow, die können bei falscher Konfiguration einen Strich durch die Rechnung machen
  • Windows XP, Vista oder 7


So, nachdem jetzt hoffentlich alles eingebaut und installiert ist, schreiten wir zur Konfiguration. Dazu starten wir als erstes den MPC. Dann tippen wir auf die O-Taste oder öffnen die Eintellungen über Rechtsklick -> Options. Jetzt klicken wir auf "Output" (unter Playback) und stellen "DirectShow Video" ein, wie auf dem folgenden Screenshot angegeben:

(Image)


Optional könnt ihr auch noch rechts die beiden Optionen ändern, das ist aber nicht notwendig. Auf einem System mit CoreAVC - aber ohne Hardware-Beschleunigung - würde man übrigens links Haali Renderer wählen. Die MPC-Webseite empfiehlt noch, unter Playback auch Auto-load subtitles anzuklicken.

Wenn ihr euch für die Installation mit CoreAVC entschieden habt, kommen noch folgende Schritte hinzu. Alle anderen können direkt zum Abschnitt "Überprüfung" springen.

Als erstes die Einstellungen unter Internal Filters und External Filters. Der folgende Screenshot hat wieder die wichtigen Schritte markiert:

(Image)


Als nächstes öffnet ihr Configure CoreAVC aus dem Startmenü. Wenn ihr den korrekten Treiber installiert habt, könnt ihr jetzt bei Prefer CUDA acceleration einen Haken setzen. Wenn ihr zusätzlich Use Tray Icon aktiviert, zeigt die Farbe des CoreAVC-Icons bei der Wiedergabe eines Videos an, ob CoreAVC mit oder ohne HW-Beschleunigung arbeitet.

Nun die Überprüfung, ob alles korrekt eingestellt ist: Dazu startet man nach der Änderung der Konfiguration erst mal den MPC neu. Anschließend öffnet man eine entsprechende Video-Datei.
Den entscheidenden Hinweis auf die verwendete Art der Dekodierung liefert nun das Kontextmenü des MPC. Dazu klicken wir während der Videowiedergabe einfach mit der rechten Maustaste ins MPC-Fenster und schieben den Mauszeiger auf Filters.

(Image)
Dort sollte MPC Video Decoder zu lesen sein (oder CoreAVC, falls ihr den Weg über CoreAVC gewählt habt. Das CoreAVC-Icon in der Taskleiste wird bei benutzter HW-Beschleunigung grün!).

Außerdem sollte sich die CPU-Auslastung im Bereich unter 40-50%, je nachdem wie gut eure CPU ist, bewegen:

(Image)

Noch ein kurzer Kommentar zu CoreAVCs HW-Beschleunigung: Dort wird etwas getrickst. Während nämlich bei der "reinen" MPC-Variante spezielle Einheiten der Grafikkarte das Dekodieren übernehmen, nutzt CoreAVC weiterhin seinen eigenen Dekoder, der jedoch mit Hilfe von nVidias CUDA-Schnittschnelle auf dem Prozessor der Grafikkarte, und nicht auf dem Hauptprozessor ausgeführt wird. Daher soll es wohl angeblich mit CoreAVC 1.9.0 auch noch vereinzelt zu Bildstörungen kommen. Ist eben ein brandneues Produkt.

P.S.: Über Korrekturen und Ergänzungen in den Kommentaren würde ich mich freuen!

Doakes
Autor:
Datum:
Blog:
Views:
Doakes
17. März 2009, 12:33 Uhr
Hardware-Blog
21.473
 
Optionen

Beitrag bewerten
5/55/55/55/55/55/55/55/55/55/5
Bewertung: 4,8 / 5,0 (18 Stimmen)