Im Moment beschäftige ich mich viel mit dem Thema Videokodierung, speziell dem Kodieren von Videos mit dem H.264-Codec. Der H.264-Codec bietet den Vorteil, dass er von einer Vielzahl an Geräten unterstützt wird und bei hoher Kompression eine gute Bildqualität liefert. Problem hierbei ist jedoch die Kodierung selbst, welche im Vergleich zu DivX oder ähnlichen Codecs mindestens zwei- bis dreimal solange benötigt.

Dann fiel mir spontan wieder ein, dass man auch ATI- und NVIDIA-Grafikkarten bei der Kodierung zu Hilfe nehmen kann. ATI bietet hierfür die Stream-Technologie, NVIDIAs Pendant dazu nennt sich CUDA. Dann gibt es noch die Programmierplattform OpenCL, die GPU-Computing sowohl auf NVIDIA- als auch auf ATI-Grafikkarten nutzbar machen soll.

Um Stream nutzen zu können, benötigt man mindestens eine ATI-Grafikkarte der 3xxx-Reihe, für CUDA mindestens eine GeForce 8xxx. Soweit ich weiß, gelten dieselben Anforderungen auch bei OpenCL.

Leider gibt es im Moment noch kaum Programme, die sich die Power der Grafikkarten zum Kodieren von Videos zunutze machen, da die Programmierung dafür wohl sehr schwierig ist. Im OpenSource-Bereich konnte ich so z.B. noch kein Programm finden, welches sich einer der Techniken bedient. Insgesamt habe ich nur 4 Produkte finden können, mit denen man Videos per GPU kodieren kann, wovon lediglich eines kostenlos ist:

  • ATI Avivo XCode (kostenlos): dieses Tool muss man zusätzlich zum Catalyst-Treiber installieren und ist nur auf ATI-Grafikkarten nutzbar. Das Programm findet man auf der Catalyst-Downloadseite über ATI Radeon Video Card Drivers und dann Optional Downloads. Um das Programm aufzurufen, musst du das Catalyst Control Center im Basis-Modus starten, wo nun ein neuer Eintrag auftauchen sollte.
  • badaboom (24,54€): diese Software wurde eigens für NVIDIA entwickelt und ist somit nur auf NVIDIA-Grafikkarten nutzbar. Eine kleine Einführung zu dem Tool findest du hier bei Nils.
  • Cyberlink MediaShow Espresso 5.5 (34,99€): dieses Programm arbeitet mit NVIDIA- und ATI-Grafikkarten zusammen. Außerdem kann das Programm von den neuen Intel Core i3, i5 und i7-Prozessoren profitieren.
  • TMPEGEnc 4.0 XPress (99,99€): das wohl teuerste Programm dieser Reihe ist TMPEGEnc 4.0 XPress. Es unterstützt gleichermaßen ATI- und NVIDIA-Grafikkarten. Der hohe Preis lässt sich damit erklären, dass es für den professionellen Anwender detailliertere Einstellungsmöglichkeiten zulässt.

Man sollte sich vor dem Kauf vergewissern, dass die eigene Grafikkarte unterstützt wird.Ich konnte z.B. weder ATI Avivo XCode, noch Cyberlink Espresso oder TMPGEnc 4.0 XPress dazu überreden, meine ATI Mobility Radeon 3450 zum Codieren von Videos zu nutzen. Das kann entweder an mangelnder Stream-Unterstützung liegen (ich habe dazu leider nichts finden können) oder daran, dass die Tools vielleicht erst ab einer bestimmten Grafikkartenreihe auf die GPU zurückgreifen. Ich meine irgendwo gelesen zu haben, dass die Tools erst ab der Radeon 4xxx-Reihe auf die Grafikkarte zurückgreifen.

Glücklicherweise kann man die Kompatibilität problemlos mit den zur Verfügung gestellten Demo-Versionen testen.

Ich für meinen Teil finde, dass dieses Thema ein enormes Potenzial hat, vielleicht werden die kommenden OpenSource-Codierer ja mit OpenCL ausgestattet… wer weiß :)