ich suche nach möglichst "frischen" Tests, in denen Full-HD-Videos convertiert werden. Dabei interessiert es mich ob es wesentliche Unterschiede in der Zeit zwischen ATI und nVidia gibt, weil dies den Kauf wesentlich beeinflussen wird.
Vielleicht ist es mit ein Test, den Tomshardware in ihre sehr kompetenten Artikel über Grafikkarten mit aufnehmen könnte …
Die Stärken der GPU basierten Videoencoder liegen in enormen Geschwindigkeiten beim Erstellen von Videos für iPhones, Handies etc. Immer wenn man aus großem Material die Videos klein machen möchte u. gelegentliche Artefakte egal sind. Nach der anfänglichen Euphorie sind die Hersteller inzwischen auf dem Boden der Tatsachen angekommen u. bewerben die Produkte auch so ("Create iPod and PSP video up to 20x faster" Zitat Badaboom).
Bei ATI ist die Software kostenlos, dafür hat's viele Artefakte. Bei nvidia mit www.badaboomit.com hat's inzwischen einen gewissen Reifegrad erreicht.
Für Qualitätsencodings (z.B. Archiveren von DVDs oder Schneiden u. mastern von Urlaubsvideos) bleiben CPU basierte H.264 Encoder weiterhin das Maß der Dinge. Welche CPU hier welche Encodingraten erreicht ist auch in den CPU Tests auf Tomshardware ersichtlich. Im speziellen Fall für x264 gibt's auch hier schöne Tabellen:
http://www.techarp.com/showarticle.aspx?artno=520
--
Video Encoding ist immer ein Kompromiss zwischen Encodingzeit/Zielgröße und Qualität. Es hängt daher vom Einsatzzweck ab was die sinnvollste Lösung ist.
Wenn Du einfach mal irgendwas erfolgreich GPU basiert encoden willst, ist nVidia im Moment besser geeignet.
Vielen Dank für die Antwort und deine Ausführungen!
Nu möchte ich mein Problem etwas genauer beschreiben (wenn ich darf):
Ich habe seit zwei Monaten ein Full-HD-Camcorder. Diese Aufnahmen (AVCHD-Format) möchte ich ohne Qualitätsverlust auf dem Rechner schneiden und archivieren.
Mein Wissensstand bis heute war: Videoschnitt und Konvertierung war früher die Aufgabe der CPU. So wie ich die letzten Tests (die ich überwiegend hier und bei Computerbase gelesen habe) verstanden habe, sind die GPU’s mittlerweile eine große Hilfe und können mit entsprechender Software die Arbeit schneller erledigen als die CPU.
Weil ich vor einem Grafikkarte-Kauf stehe, ist die Klärung der obigen Frage für mich wichtig!
Wenn ich mir den deutschsprachigen Artikel durchlese, ist es tatsächlich so, dass die GPU eine große Unterstützung ist. Auch konnte ich herauslesen, dass beim Konvertieren nVidia das AVCHD-Format (im Gegensatz zu ATI) durchaus unterstützt - Vorentscheidung?!
Du haDu hast dabei eine Menge interessanter Aspekte angesprochen.
Du hast also eine 1920 x 1080 AVCHD Kamera. In welcher Bitrate nimmst Du auf? 24Mbit/s? Siehst Du dabei einen Unterschied zu 12 MBit/s? Nach der Aufnahme lädst die Filme auf den PC und fängst an zu schneiden. Das Schneiden selbst, wenn Du nicht gerade mit mehreren Video-Spuren gleichzeitig arbeitest, was mit nur einer AVCHD Kamera nicht sooo wahrscheinlich ist, geht relativ fix. Eine schnelle CPU hilft für die Vorschau u. das passt dann schon alles so.
Wenn Du das nun fertig bearbeitet hast, dann wirst damit ja eines dieser Dinge tun:
. Weitergeben: Die Freunde die dabei waren sollen eine DVD erhalten.
. Archivieren: Du selbst möchtest eine möglichst hochwertige Aufnahme behalten. Da es zum Anschauen aber sehr unpraktisch ist das Projekt der Schnittsoftware zu laden u. so on-the-fly auf dem Rohmaterial den Schnitt zu schauen, kommst nicht umhin Dir für die Archivierung ein allgemeineres Format zu rendern/mastern/transcoden.
Es gibt natürlich noch weitaus mehr Dinge, die man tun kann: Auf Youtube hochladen, auf's iPhone laden, ... Aber ich beschränk' mich mal auf obige zwei Punkte zunächst.
Beim Weitergeben hast zwei Möglichkeiten: Entweder im DVD Format als MPEG-2 mit PAL Auflösung (704 x 576) oder Du brennst FullHD 1920 x 1080 in einem MPEG4-AVC. Letzteres können Deine Freunde dann zwar nur am PC anschauen, aber vielleicht möchtest ja auch die tolle Qualität weitergeben. Bei 24MBit/s (noch ohne Ton gerechnet) reicht eine 4,7GB DVD gerade mal 24 Minuten. Der zusammengeschnittene Event war aber vielleicht länger. Wenn man nicht mit mehreren DVDs hantieren will, würde man die Datenraten dann vielleicht auf ca. 12 MBit/s senken.
Und jetzt kommt ein Knackpunkt: Reichen 12 MBit/s damit ein GPU-basiertes 1920 x 1080 Encoding noch gut aussieht? Oder hab' ich dann die Qualität zu sehr beschnitten? "Normalerweise" genügen 12 Mbit/s für Full-HD. Das Problem ist, dass GPU-basierte Encoder im Schnitt eine höhere Bitrate benötigen um die gleiche sichtbare Qualität zu erzielen. Der Grund dafür wiederum ist, dass GPUs bei einfachen Operationen glänzen, die sie sehr häufig ausführen können. Im Bereich Video-Encoding wo der größte Teil der Zeit auf Bewegungsanalyse angewendet wird, bedeutet dies, dass dort einfache Metriken (hauptsächlich SAD) und dumme Suchmuster (z.B. erschöpfende Suche (*)) zum Einsatz kommen. Das Ergebnis ist, dass die gleiche Qualität mit deutlich höherer Bitrate erkauft werden muss. Schnell ist das Encoding - auf eine DVD passt es nicht mehr.
Die GPU-basierten Encodings verwenden z.Z. dumme/schlechte Algorithmen. Zum einen technischer Natur, weil GPUs nur einen beschränkten Befehlsumfang und Programmierconstraints haben. Zum anderen aber natürlich auch, um weil GPU basierte Encoder erst am Anfang stehen u. Rom wurde auch nicht über Nacht gebaut. Die Standardeinstellungen der CPU basierten Encoder sind besser u. daher sind sie deutlich effizienter. Rüstet man die CPU-basierten Encoder auf das Niveau von GPU-basierten Encodern runter ("--subme=1 --partitions=i4x4 --me=dia" sind hier hauptsächlich verantwortlich), so war selbst ein vergleichsweise alter Q6600 mit 2,4GHz minimal schneller als eine GTX 280 (Test #2 ist hier entscheidend - alle anderen nicht): http://www.maximumpc.com/article/f [...] page=0%2C1
Also für's Weitergeben, muss man's einfach ausprobieren, was da am günstigsten ist CPU vs. GPU. Wenn FullHD auf eine DVD passen soll, lautet wahrscheinlich die Antwort: CPU.
Aus den Gründen, die ich angedeutet habe, taugen die GPU Encoder für's Archivieren eigentlich gar nicht. Oder anders: Man kann auf keinen Fall die Bitrate gegenüber dem Rohmaterial senken, sondern muss sie eher erhöhen.
Zum Generieren von iPhone, Youtube etc. Geschichten sind die GPU basierten Encoder nett. Denn so muss die CPU das Video nicht (auch noch) runterskalieren. Zwar gibt's auch Möglichkeiten der Arbeitsteilung, so das GPU Video dekodiert + resized und CPU encoded, dies ist jedoch bisher nur in OpenSource Tools automatisiert u. nicht in PowerDirector, Premiere etc. Um kleine Videos zu encoden taugt das Zeug: http://www.anandtech.com/video/sho [...] =3539&p=14
Ich würde daher zweigleisig fahren: . Mindestens Quadcore (45nm Penryn aufwärts) . CUDA fähige Grafikkarte. Aber nicht außerirdisch groß, sonst ist Dein Arbeits-PC zu laut. Einen Kompromiss aus Leistung u. Lautstärke.
Wenn Du gute Tests findest, poste die ruhig. Ansonsten ist ein gutes A/V Forum noch mehr wert. Da gibt's dann auch mehr Praxiserfahrung mit dem einen oder anderen Tool.
(*) erschöpfende Suche wäre Du würdest das Telefonbuch von vorn bis hinten durchblättern um einen Namen zu finden. Wenn Du weißt, dass es nach Namen sortiert ist, kannst Du einen Divide and Conquer Algorithmus verwenden: Mitte aufschlagen und entscheiden, ob vorn oder hinten weitergesucht wird. Dann wiederholen bis Name gefunden.
Nachricht bearbeitet von 7oby am 23.06.2009 um 17:25:29
als Erstes: herzlichen Dank für die ausführliche Antwort!!!
Ich hätte da nur noch ein Paar Nachfragen zum besseren Verständnis:
1. Aktueller Leistungsstand: eine aktuelle CPU macht die Arbeit immer noch effektiver, wenn es um Schnitt und Archivierung von Full-HD geht? Insbesondere, wenn man keine Qualitätseinbußen in Kauf nehmen will?
2. Die aktuelle Grafikkarte ist derzeit nur als Unterstützung zu gebrauchen? nVidia mit Cuda der ATI-Konkurrenz vorzuziehen? Warten auf neue GPU-Serie (vielleicht schon dieses Jahr) sinnvoll?
1. Aktueller Leistungsstand: eine aktuelle CPU macht die Arbeit immer noch effektiver, wenn es um Schnitt und Archivierung von Full-HD geht? Insbesondere, wenn man keine Qualitätseinbußen in Kauf nehmen will?
Was immer geht: Die Bitrate hochschrauben um keine Qualitätseinbußen in Kauf nehmen zu müssen. Ein schlechter GPU-basierter Encoder kann sich daher behelfen indem er einfach die Bitrate sehr hoch nimmt. Dann taugt es aber ggf. nicht mehr zum Archivieren oder verteilen an Freunde, da die Dateien eben sehr groß sind.
Die allermeisten Programme, die es im Video-Encoding Bereich gibt sind Konverter (Badaboom, Cyberlink MediaShow Espresso). Wenn Du Deinen Videoschnitt gemacht hast, kommst an diese Konverter nicht ran, denn ein Export in eine Riesendatei, damit dieser Konverter das lesen kann, ist zeitlich zu teuer. Abgesehen davon sind die Konverter hauptsächlich dafür geeignet für iPhone, PS3, XBox, Handy Videos zu konvertieren.
An CUDA fähiger Schnittsoftware gibt's derzeit nur drei Stück:
Bleibt also nur ein einziges Produkt derzeit: PowerDirector. Die kostenlos Aktion hast leider verpasst. Also bleibt Dir nur die Testversion.
Das Archivieren in 1920 x 1080 AVC schafft der PowerDirector auch gut und gerne 3x schneller als CPU only (klick). Schaut man sich die verlinkten Benchmarks an so fällt auf, dass eine LowBudget Karte nVidia GeForce 9600 GT einer deutlich besseren 9800 GTX kaum nachsteht (es gibt einen großen Unterschied zwischen Lautstärke u. Stromverbrauch zwischen beiden Karten).
Von einem der's wissen müsste (Hauptprogrammierer von x264) gibt's das Statement, dass der PowerDirector nVidia Encoder zumindest besser ist als alles andere was man bisher so im Bereich GPU basiertes Encoding findet. Es verwendet ungefähr 15 MBit/s für FullHD, was jetzt nicht übertrieben viel ist um über einen miserablen Encoder hinwegzutäuschen. Das Ergebnis kriegt man zwar CPU-only basiert bei gleicher Qualität bei halber Datenrate hin oder eben noch bessere Qualität bei den verwendeten 15MBit/s, aber witzigerweise ist es so, dass der CPU-only Encoder von PowerDirector schlechter zu sein scheint als der GPU basierte (klick für Test).
Ich hab' mir ein paar Samples aus dem Thread runtergeladen u. fand' die Qualität nicht gut. Das heißt aber nichts, denn manche Links davon gingen nicht mehr u. ich konnte von keinem der Encodings das Original vergleichen. Ob die 15MBit/s von PowerDirector zum Qualität behalten genügen, kann ich so nicht sagen.
Mein Vorschlag an Dich: . installier' Dir die kostenlose PowerDirector Testversion . nimm Dir eine CUDA (nVidia) Grafikkarte, die Du entweder schon hast (alles aber der GeForce 8er Serie geht) oder kauf' Dir eine 9600/9800 GT/GTX. Die sind sehr günstig zu haben. . Lese ein Film Deiner Kamera ein, schnibbel nicht lang rum, sondern exportiere es als 1920 x 1080 qualitätserhaltend. Vergleiche die Qualität des Ursprungsmaterials mit dem Zielmaterial.
Damit kannst Du spielen u. vermutlich ist es genau das was Du brauchst.
2. Die aktuelle Grafikkarte ist derzeit nur als Unterstützung zu gebrauchen? nVidia mit Cuda der ATI-Konkurrenz vorzuziehen? Warten auf neue GPU-Serie (vielleicht schon dieses Jahr) sinnvoll?
Ja, nVidia vorziehen. Neue GPU Serie brauchst Du nicht abwarten. Am CUDA Standard ändert sich so schnell nichts u. wie ein verlinkter Test oben zeigt bringt zumindest bei PowerDirector eine MonsterGPU nichts zusätzlich. Ende 2009 erscheinen dann auch die ersten OpenCL und DirectX 11 basierten Encoder Konverter. Damit bist Du dann auch mit den nVidia Karten bestens bedient. Diese beiden Technologien werden mittelfristig wohl die propietäre CUDA und Steam ablösen.
Nachricht bearbeitet von 7oby am 25.06.2009 um 16:10:28