Adobe Premiere mit Grafikkarte beschleunigen und 4K-Videos auf altem Computer schneiden

Da nun auch 4K-Videos mit unseren betagten Workstations bearbeitet und encodiert werden sollen, wurde ein Upgrade der Hardware letztendlich unumgänglich.

Für Videos, die nicht viel Bearbeitung erfordern und somit keine große Anforderungen an den Rechner stellen ist es tatsächlich kein Problem die betagte Hardware einzusetzen. Sofern man für den Export auch kein komprimiertes Format, sondern DNxHD nutzt, ist zwar die Videogröße astronomisch, aber es dauert nicht lange um ein solches 4K-Video zu exportieren. Wie bereits in meinem anderen Artikel zur Encoding-Beschleunigung beschrieben ist dies für den Upload auf Youtube brauchbar, solange man die Dateigröße von 128 GB nicht überschreitet. Da allerdings auch recht lange Videos, die auch mit Blenden etc. stark gerendert werden müssen auf Youtube landen sollen, ist genügend Leistung beim Rendern und auch eine Komprimierung unumgänglich.

Grundsätzliches

Eigentlich war es von Adobe in den neuen Premiere-Versionen wohl nur vorgesehen, dass die Grafikkarte nur beim Rendern der Effekte unterstützt und nicht für das Encoding genutzt wird. Angeblich ist die Qualität des fertigen Videos schlechter und die Datei größer, als wenn man diesen Job rein von der CPU erledigen lässt.

Dies brachte tatsächlich schon einen Geschwindigkeitsvorteil und die Videobearbeitung stockte nicht mehr, aber das eigentliche Encoding brauchte ohne die Unterstützung der Grafikkarte nach wie vor viel zu lange. Denn lediglich das Rendern der Effekte wurde von der Grafikkarte übernommen.

In irgendwelchen alten Versionen war es meiner Erinnerung nach aber schon mal möglich die Grafikkarte auch für das Encoding zu nutzen. Zum Glück ist es ab der Premiere-Version 14.2 defintiv wieder möglich die Grafikkarte auch für das Encoding zu nutzen. Nach einem Vergleich konnten wir auch keine Unterschiede zwischen dem Nur-Prozessor- und dem Grafikkarten-Encoding erkennen. Die Datei war tatsächlich etwas größer, aber für eine geringe Platzersparnis eine ganze Nacht statt nur 20 Minuten auf ein fertiges Video warten zu müssen steht in keinem Verhältnis. Insbesondere dann nicht, wenn das Ganze auf Youtube enden soll und man sowieso einen enormen Upload zur Verfügung hat.

 

Voraussetzungen

Was benötigt man oder sollte man im Vorfeld sicherstellen damit das Rendern und Encoden mit der Grafikkarte funktioniert?

  • Man benötigt mind. Version 14.2 von Adobe Premiere!
    • Hintergund ist, dass die Hardwarebeschleunigung für den Export im h264 bzw. HVEC-Format erst in der genannten Version von Adobe Premiere unterstützt wird (siehe: https://helpx.adobe.com/de/premiere-pro/user-guide.html/de/premiere-pro/using/whats-new/2020-2.ug.html).
    • Ein Update ist also nötig wenn man nicht mindestens die genannte Version installiert hat und die Grafikkarte für das Encoding nutzen möchte.
    • Für die Unterstützung der GPU rein beim Bearbeiten des Videos und beim Rendern der Effekte hingegen ist dies nicht nötig.
  • Eine ausreichende Grafikkarte mit genügend Speicher, die von Adobe auch unterstützt wird!
    • Früher konnte man Adobe wohl „verarschen“ und auch offiziell nicht-unterstützte Karten einfach in einer entsprechenden Datei eintragen und dann wurde die Karte trotzdem genutzt und es kann funktioniert haben. Diese Datei wird allerdings wohl seit längerem in neuen Premiere-Versionen nicht mehr beachtet. (Ob die eigene Karte unterstützt wird kann man hier in der offiziellen Kompatibilitätsliste herausfinden: https://helpx.adobe.com/premiere-pro/user-guide.html/premiere-pro/system-requirements.ug.html)
    • Als ausreichende Grafikkarte zur Unterstützung beim Rendering und Encoding hat sich für uns die verhältnismäßig günstige 1660 GTX Super erwiesen.
  • Bei Nvidia-Karten kann es wohl nicht schaden die entsprechenden CUDA-Tools zu installieren:
  • Aktueller Grafikkarten-Treiber
  • Festplatte darf nicht zu voll sein und die Auslagerungsdatei sollte sehr groß dimensioniert sein (siehe hier was sonst passiert)
  • Wenn sie nicht benötigt wird, sollte die OnBoard-Grafik deaktiviert werden um einer Fehlauswahl der „falschen“ Grafikkarte durch Premiere vorzubeugen:

 

Einstellungen in Premiere

Um die Grafikkarte wirklich effektiv in Premiere nutzen zu können sind leider mehrere „Stellschrauben“ in verschiedenen Menüs zu stellen. Warum man so etwas nicht alles zusammenpackt und komfortabel umstellen kann, wird mir wahrscheinlich immer ein Rätsel bleiben.

 

Render-Einstellungen für Effekte (während Wiedergabe und Export)

Für ein schnelleres und ruckelfreies Arbeiten in Premiere muss das Projekt entsprechend auf die GPU-Beschleunigung umgestellt werden.
In den Projekteinstellungen muss man prüfen ob hier die CUDA-Unterstützung („Mercury Playback Engine – GPU-Beschleunigung (CUDA)“) auswählbar ist:

Ist hier stattdessen keine Auswahl möglich und „nur Software“ fest eingestellt, so wurde die Grafikkarte bzw. CUDA von Premiere nicht korrekt erkannt, was z. B. an der OnBoard-Grafik liegen könnte:

Durch das Ändern des Renderers auf „CUDA“ wird das Rendern der Effekte beim Exportieren und auch bei der Wiedergabe im Programm-Monitor von der Grafikkarte übernommen und somit beschleunigt.

Diese Einstellung beeinflusst aber nicht die „reine“ Wiedergabe des importierten Videomaterials! Darüber bin ich leider schon gestolpert und habe einige Zeit damit verbrannt herauszufinden, warum die Wiedergabe immer noch gehangen hat.

 

Decoding bei Video-Wiedergabe

Um auch die Wiedergabe des rohen Videomaterials im Programm-Monitor über die Grafikkarte laufen zu lassen, ist noch der Punkt „H.264/HEVC Hardwarebeschleunigung Dekodierung“ anzuhaken:

Sollte der Punkt für das Kodieren darunter nicht bereits angehakt sein hier zur SIcherheit auch einen Haken setzen!

 

Encoding beim Export

Um die Grafikkarte auch einen Großteil der Encoding-Arbeit übernehmen zu lassen muss man im Export-Dialog bzw. MediaEncoder „Hardware-Beschleunigung“ im Dropdownmenü „Leistung“ unter dem Punkt Codierungseinstellungen auswählen:

 

Einschränkungen

  • Nicht alle Effekte können über die Grafikkarte gerendert werden. Das ist sehr schade, denn laut unseren Erfahrungen wird durch den Einsatz eines auch nur für einen kurzen Zeitraum genutzten Effektes, der durch die CPU gerendert werden muss, das Rendern des gesamten Videos wieder von der CPU übernommen. Dies reusltiert dann eventuell wieder in einem Stunden dauernden Renderprozesses. Die einzige Lösung ist dann den Effekt nicht zu nutzen.
  • Das Vorrendern der Effekte ist nicht mehr möglich, aber für einen ruckelfreien Workflow auch nicht mehr nötig. Erkennen kann man dies an der gelben statt roten Markierung. Normalerweise würden die vorgerenderten Bereiche von rot in grün wechseln:

  • 2-Pass-Encoding, also zwei Encodierdurchgänge für eine bessere Qualität bei einer variablen Bitrate, ist mit Hardware-Beschleunigung nicht nutzbar und es wird automatisch auf „nur Software“ umgestellt wenn man versucht diese Kombination zu verwenden:

Aus diesem Grund nutzen wir nur noch eine konstante Bitrate, wodurch die Dateien größer werden aber keiner qualitativen Schwankung unterliegen.

  • Am Ende des Encodings, wenn eigentlich alles fertig sein sollte, beginnt noch ein Kopiervorgang der je nach Videolänge noch eine deutliche Zeit beanspruchen kann. Hier wird anscheinend das encodierte Video (?) aus dem Ram und der Auslagerungsdatei  auf die Festplatte verschoben.
  • Des Weiteren ist uns aufgefallen, dass die Grafikkarte nie vollständig beansprucht wird. Während des Bearbeitens und Encodings kann man im Taskmanager bei unserer 1660 GTX eine „geringe“ Auslastung sehen. Das könnte auch am Rechner liegen, evtl. wegen des alten PCIe-Anschlusses:

 

Fazit: Was hat es eigentlich gebracht?

Das wichtigste ist natürlich das Ergebnis. Die Bearbeitung ist fast flüssig, außer bei einigen Blenden, trotz dem alten Prozessor möglich. Ich vermute bei einer aktuelleren PCIe-Anbindung wäre es noch besser. Beim Encoding hat sich das meiste verbessert. So dauert das Encodieren im Normalfall grad einmal so lange wie die Laufzeit des Videos oder soagr ein paar Minuten weniger! Das ist für 4K-Videomaterial wirklich super, denn vorher hat das für ein kurzes Video locker eine ganze Nacht oder länger mit der reinen CPU-Nutzung gedauert! Da sich ein Real-Time-Encoding wohl mit der zur Verfügung stehenden Hardware nicht mehr wirklich toppen lässt, habe ich an dieser Stelle auf weiteres Rumexperimentieren verzichtet und auch keine weiteren Vergleiche (wie in meinem anderen Optimierungs-Artikel) mehr aufgestellt. Dass das Exportieren von normalem Full-HD-Material nun auch in einem Bruchteil der vorher benötigten Zeit von statten geht erklärt sich dann vermutlich von selbst.

 

Tobias Langner

Tobias Langner

Ich arbeite seit mehreren Jahren als Software-Release-Manager, zuvor als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-"Pausierer" an der FernUni Hagen. Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Alle Beiträge ansehen von Tobias Langner →

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert