AMD Polaris Grafikkarte für Encoding unter Linux

Sp1derschwein

Lt. Junior Grade
Registriert
Dez. 2014
Beiträge
338
Hallo,

da ich ihn letzter Zeit öfter Videos in H265 transkodiere und das über die CPU ziemlich lange dauert, denke ich darüber nach, eine Grafikkarte zu kaufen, die HEVC Encoding unterstützt. Die günstigste Grafikkarte dafür scheint die RX460 zu sein, die zwar unter Linux unterstützt wird, aber ich habe nicht herausfinden können, ob ich sie unter Linux dafür benutzen kann. Hat das jemand von euch vielleicht schon getestet?
 
Kauf dir lieber eine Skylake CPU (ernsthaft). Quicksync ist typischerweise besser in der Qualität als VCE oder nvenc und unter Linux natürlich auch besser unterstützt.

Deine 980 Ti kann auch hevc afaik.

PS: jep sie kann, und ffmpeg hat auch eine Unterstützung dafür.
 
Zuletzt bearbeitet:
Ja,die RX460 ist lauffähig unter Linux.
Dazu brauchst du aber den 4.7 Kernel, mit vorherigen ist der Treiber nicht kompatibel, sofern sich da nicht vor kurzem was geändert hat.
 
Unter Linux sind Nvidia GPUs - zumindest mit den freien Treibern - nicht so dolle.

Ich würde dir hier auch eine aktuelle Intel CPU empfehlen, aber besser noch auf Kabylake warten, da es dort HEVC verbesserungen geben soll. VP9 soll Kabylake auch können, falls dich das auch interssiert.

Intel unterstützt ihre Hardware in Linux ausgezeichnet und ist daher die beste Wahl.
 
Bei hardware-gestütztem Encoding durch die GPU ist man bzgl. den Qualitätseinstellungen doch sehr eingeschränkt, oder irre ich mich da? @Sp1derschwein, ist das kein Problem für Dich?
 
Vielen Dank für die schnellen und zahlreichen Antworten.

@HominiLupus

Eine Skylake CPU wollte ich ohnehin kaufen, da ich ein Backup NAS bauen wollte und dort zusätzlich Videos transkodieren wollte. Würde da schon ein kleiner Pentium ausreichen oder wird die CPU trotz QuickSync oder sonstiger GPU Beschleunigung noch stark beansprucht?

@Faust2011

Ich kenne mich bisher mit verschiedenen Qualitätseinstellungen nicht so aus, also müsste ich zunächst noch herausfinden, ob das ein Problem für mich wäre.
 
Da stimmt, man ist eingeschränkt, aber der Zeitvorteil ist eben nicht zu unterschätzen. Die Frage ist also: Qualität vs Dateigröße vs Zeit.

Qualität: x265 (CPU)
Dateigröße: x265 (CPU)
Zeit: nvenc, VA-API o.Ä (GPU)


Wenn die Dateigröße egal ist, kannst du Bitrate so einstellen, dass die Qualität einwandfrei ist und du den Zeitvorteil voll ausnutzen kannst.
Ergänzung ()

Sp1derschwein schrieb:
Würde da schon ein kleiner Pentium ausreichen oder wird die CPU trotz QuickSync oder sonstiger GPU Beschleunigung noch stark beansprucht?

Würde ausreichen, die CPU wird dank GPU-Beschleunigung kaum belastet. Was aber durchaus sein kann, ist, dass die größeren Modelle schneller kodieren.
 
Zuletzt bearbeitet:
Bagbag schrieb:
Würde ausreichen, die CPU wird dank GPU-Beschleunigung kaum belastet. Was aber durchaus sein kann, ist, dass die größeren Modelle schneller kodieren.

Meinst du damit, dass zum Modelle mit der Intel HD Graphics 530 schneller kodieren, als die mit der 510? Das habe ich mich auch schon gefragt.
 
Genau das meine ich. Aber wirklich was dazu im Internet gefunden habe ich auf die Schnelle nicht.
 
Dann übertaktet man den IGP etwas und sie sind gleich schnell. Nein, die größeren HD530 sind nicht schneller: die Shader haben nix mit Video zu tun. Fixed Function.
 
Hoffentlich nicht zu off-topic: Welche Transcoding-Programme nutzen denn die De-/Encoder von GPUs? Kann das z. B. auch ffmpeg?
 
Ja, FFmpeg kann das.
 
Würde auch gerne wissen.
Die besten CPUs sind gerade gut genug fürs transcoding
Die GPUs können da nicht mithalten.
 
Eine GPU wie die 980 lässt selbst einen hochgetakteten i7 lahm aussehen. Evtl. ist die Qualität des Videos beim GPU Encoding etwas schlechter, aber man probiert am besten selbst aus, ob das wirklich auffällt.
 
Ich habe mittlerweile ein System mit dem Celeron G3900 gebaut und dort gerade CentOS installiert. Ich habe mit Handbrake die H264_QSV Kodierung getestet, die auch sehr gut funktioniert, jedoch wollte ich H265 kodieren, was Handbrake mit QuickSync derzeit nicht unterstützt, deswegen wollte ich ffmpeg nutzen. Um dort H265 mit QuickSync zu nutzen, braucht man anscheinend das Intel Media Server Studio SDK. Dieses habe ich erfolgreich nach dieser Anleitung installiert, wenn ich jedoch Intels sample_multi_transcode Programm zum Testen bekomme ich folgende Ausgabe:

libva info: VA-API version 0.99.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
Ungültiger Maschinenbefehl (Speicherabzug geschrieben)

Weiß jemand etwas dazu?
 
Zurück
Oben