Erfahrungen mit Intel ARC Grafikarten? > Linux, Video, VDR

  • Hat es hier jemand mal mit einer von den "neuen" Intel ARC-Grafikarten versucht?
    Anfangs gab es ja einige Treiber-Probleme, aber inzwischen scheinen die ja weitgehend gelöst zu sein.
    Mit einem aktuellen Kernel sollte die Karte doch eigentlich direkt laufen, kann das jemand bestätigen?

    Wie sieht da aus bzgl. Video-Beschleunigung unter Linux?
    Ist das inzwischen ähnlich gut brauchbar wie die Prozessorgrafik von Intel?

    Wie gut ist der Video-Encoder von der Qualität her, besonders h.265?
    Hat das mal jemand gegen den x.265-Codec verglichen?
    Und wie sieht es aus mit der Geschwindigkeit? Macht da "Größe" der Karte einen Unterschied???

    Fragen über Fragen...
    Natürlich habe ich im Netz gesucht, das meiste was man findet, stammt aber aus der Anfangszeit, wo es noch nicht so richtig lief.
    Und bezüglich Video-Beschleunigung unter Linux findet man nicht besonders viel.
    Über aktuelle Erfahrungswerte wäre ich also echt dankbar. Besonders bzgl. Tauglichkeit für einen VDR natürlich.

    Aktuell bin ich von den Nvidia-Treibern ziemlich genervt, so dass ich alleine deshalb überlege meine Karte zu tauschen und auf einen anderen Hersteller umzusteigen.
    An sich ist mir mein aktueller Computer aber noch schnell genug, nur etwas mehr Power beim Video-Encoding wäre halt nie schlecht.
    Die Intel ARC A750 oder B580 gibt es ab ca. 200€, das klingt gegenüber einem kompletten Neubau schon interessant. Zumal die Karte ja später noch anderweitig verwendbar ist.

    Gruss
    SHF

    Mein (neuer) VDR:

    Software:
    Debian Wheezy mit Kernel 3.14
    VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
    noad 0.8.6

    Hardware:
    MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
    32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
    TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
    Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
    PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

  • Ich habe eine zum Testen des AV1 Encoders, mittlerweile sollte die normal laufen, HEVC encodieren geht recht flott.

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Super, Danke!
    Da habe ich ja gleich den Experten hier erwischt :).

    Lässt sich was zur Qualität des Encoders sagen?
    Bei meinen letzten Versuchen mit den GPU-Encodern war ich nicht wirklich begeistert. Das ist aber Jahre her, als noch h.264 "aktuell" war.
    Ich verwende derzeit meist x265 unter ffmpeg mit den folgenden Einstellungen:
    libx265 -crf 27 -preset medium -x265-params nr-intra=200:nr-inter=200:ref=6:weightp=1:weightb=1:bframes=8

    Die Karten werden doch über Quicksyncvideo angesprochen?
    Kann man da auch die cuda/opencl Filter von ffmpeg einsetzen wie bei Nvidia/ATI?

    Video-Ausgabe geht über VAAPI, wie bei Intel üblich.
    Hat mal jemand versucht so eine Karte mit dem VDR zusammen zu verwenden?

    Gruss
    SHF

    Mein (neuer) VDR:

    Software:
    Debian Wheezy mit Kernel 3.14
    VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
    noad 0.8.6

    Hardware:
    MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
    32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
    TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
    Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
    PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

  • Die Karte geht ganz normal über VAAPI, bei Encoding hast Du die Wahl, VAAPI oder QSV.

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ich habe mal einen Geschwindigkeitsvergleich mit einer Nvidia 1650 gemacht:

    Code
    1650
    frame=299943 fps=739 q=33.0 size= 1757440KiB time=01:39:58.45 bitrate=2400.1kbits/s speed=14.8x
    Arc A380
    frame=299773 fps=1122 q=-0.0 size= 1765888KiB time=01:39:55.38 bitrate=2412.9kbits/s speed=22.4x
    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Unterscheidet sich die Qualität des Ergebnis?

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich hatte die Parameter so angeglichen, dass die Dateien etwa gleich groß sind. Ich habe in der Qualität keinen Unterschied gesehen. Keine Artefakte bei schnellen Bewegungen.

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ich hatte zwischenzeitlich noch diese Seite mit Qualitätsoptimierungen zu den Intel Codecs gefunden:
    https://github.com/intel/media-de….rst#h-265-hevc
    Die Optimierungsvorschläge da scheinen durchaus sinnvoll und einen Versuch wert zu sein. x265 macht bei den besseren presets ähnliches.

    bei Encoding hast Du die Wahl, VAAPI oder QSV.

    Das erklärt einiges.

    Ich schätze mal das erste Beispiele ist VAAPI (obwohl ffmpeg-qsv dabei steht).

    Code
    # VBR (encoding from YUV with ffmpeg-qsv)
    ffmpeg -init_hw_device vaapi=va:${DEVICE:-/dev/dri/renderD128} -init_hw_device qsv=hw@va -an \
      -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -framerate $framerate -i $inputyuv \
      -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1
      -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \
      -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 -b_strategy 1 \
      -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \
      -fps_mode passthrough -y $output

    Und zweite QSV?

    Code
    # VBR (transcoding with ffmpeg-qsv)
    ffmpeg -hwaccel qsv -qsv_device ${DEVICE:-/dev/dri/renderD128} -c:v $inputcodec -extra_hw_frames $lad -an -i $input \
      -frames:v $numframes -c:v hevc_qsv -preset $preset -profile:v main -async_depth 1 \
      -b:v $bitrate -maxrate $((2 * bitrate)) -bufsize $((4 * bitrate)) \
      -rc_init_occupancy $((2 * bitrate)) -low_power ${LOW_POWER:-true} -look_ahead_depth $lad -extbrc 1 -b_strategy 1 \
      -bf 7 -refs 4 -g 256 -idr_interval begin_only -strict -1 \
      -fps_mode passthrough -y $output

    Mit VAAPI müsste man dann auch opencl-Filter kombinieren können, wenn ich das richtig sehe.
    Bzw. nur die Codierung in die Grafikkarte auslagern, wenn man das unbedingt will.

    Aber warum steht bei beiden als Codec "hevc_qsv" ? Das muss ich mir dann wohl doch mal bei ffmpeg selber durchlesen :schiel.

    Ich habe mal einen Geschwindigkeitsvergleich mit einer Nvidia 1650 gemacht:

    Da schlägt sich die A380 ja echt nicht schlecht.

    Was für eine Auflösung war das? 720p?
    (Dann kann man das Ergebnis global besser einordnen.)

    Zwischen der Arc A und B-Serie gibt es einige Unterschiede in den unterstützten Codecs:
    https://www.intel.com/content/www/us…ERVIEW-DISCRETE
    Die B-Serie hat einige zusätzliche "fixed-function hardware + shader-based" Codecs, während die A-Serie nur "fixed function hardware-based encoder" hat.

    "shader-based" geht in die Richtung opencl Software-Codec, der auf der Grafikkarte läuft, vermute ich mal?
    Die Idee ist gar nicht mal so schlecht, da man die Codecs optimieren und neue nachrüsten könnte.

    Bei "hardware-based" stell sich mir die Frage, was da Leistung beeinflusst.
    Wenn die ganzen zusätzlichen Shader usw. com Codec eh nicht verwendet werden, dürfte eine A750 nicht wesentlich schneller encoden als eine A380 und man könnte sich das Geld sparen.
    Da muss ich mal schauen, ob sich was dazu finden lässt.

    Gruss
    SHF

    Mein (neuer) VDR:

    Software:
    Debian Wheezy mit Kernel 3.14
    VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
    noad 0.8.6

    Hardware:
    MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
    32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
    TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
    Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
    PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

  • Das war 720p

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Wenn die ganzen zusätzlichen Shader usw. com Codec eh nicht verwendet werden, dürfte eine A750 nicht wesentlich schneller encoden als eine A380 und man könnte sich das Geld sparen.

    Nach dem was man so liest, scheint es in der Tat so zu sein, dass Karten sich beim reinen Transcoding nicht viel geben.

    Nach diesem Video haben alle Arc-A die gleichen(?) zwei dezidierte Video-Einheiten (MFX), die auch parallel ein Video bearbeiten können.
    youtube: Creators Welcome: Inside the Video Codecs and Media Engines of Intel Arc Graphics
    (Offizielles Werbe-Video, aber zwischen den Zeilen gibt es einige aufschlussreiche Infos zur Technik.)
    Die als "Neuheit" angepriesene automatische Szenenerkennung, fand ich nach über 20 Jahren noad aber echt amüsant. :lol1

    youtube: Should You Buy an Intel Arc for Your Media Server?
    Hier geht es um Arc-Karten rein zum transcoding und die Alternativen.
    (Bei einigen Intel-Platformen kann das Aufrüsten des Prozessors auf einen mit besserer Grafik einiges bringen zB. UHD 5xx -> UHD 6xx.)

    Wenn man die ARC-Karten nur zum Video-Kogieren verwenden will, sind anscheinend sehr niedrige Idleverbräuche möglich. Werte von lediglich 1W werden öfters genannt.
    Vorraussetzung: PCI-ASPM ist aktiviert und es ist kein Monitor an der Karte angeschlossen.
    (Links spare ich mir mal, das war recht gut zu finden.)

    Leider konnte ich noch nichts zu den Unterschieden zwischen Arc-A und B raus finden, wenn es ums Videokodieren geht.
    In der offiziellen Übersicht ist bei den "Discrete Graphics" genannten "Iris Xe Max" handelt es sich um eine Laptop-Variante, nicht wie im ersten moment angenommen um die ARC-B!
    Wo sich die einreihen wird, habe ich momentan keinen Überblick.
    Encode Features for Intel® Discrete Graphics

    Auch über die "shader-based" Codecs konnte ich bislang nicht viel finden, obwohl ich die Idee echt spannend finde.
    Die Intel-Variante sieht mir inzwischen aber eher nach einer "Spar-Lösung" für die Laptop-ICs aus, aber da kann ich auch falsch liegen. Auch scheint es sich nicht um opencl/vulkan/... Codecs zu handeln.

    Das einzige was ich an "shader-based" Codecs gefunden habe, war ein AV1 Decoder für die XBox one von Google: GPU-accelerated AV1 decoder for the Xbox One
    Der ist zwar wohl auch "nur" GPU unterstützt, aber generell scheint das schon was zu bringen.

    Transcoding müsste sich, im Gegensatz zum Encoding eines Livestreams, auch sehr gut parallelisieren lassen. Da die einzelnen GOPs weitgehend unabhängig sind, könnte man theoretisch jede GOP einzeln codieren, wenn man vorher die zwei I-Frames bestimmt hat.

    Gruss
    SHF

    Mein (neuer) VDR:

    Software:
    Debian Wheezy mit Kernel 3.14
    VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
    noad 0.8.6

    Hardware:
    MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
    32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
    TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
    Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
    PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

  • Zu den Unterschieden zwischen Arc-A und B habe ich doch was gefunden:
    https://github.com/inteVP9l/media-driver#decodingencoding-features

    Die einzigen Unterschiede, die ich finden konnte waren, dass die Arc-A kein VP8 Decoding unterstützt, dafür aber VP9 Encoding, was die Arc-B nicht unterstützt.
    Die Codecs wären zwar nicht meine erste Wahl, aber keine Ahnung, ob das sonst irgendwie relevant sein könnte. Benutzt die Codecs noch irgend wer?
    Bzw. macht das überhaupt einen Unterschied? Schließt VP9 decoding evtl. auch VP8 mit ein?
    Mit diesen Codecs kenne ich mich auch nicht so aus und irgendwie sind die Aussagen etwas widersprüchlich.

    Dann gibt es einen Unterschied beim AV1-Codec.
    Der Codec hat das Potential uns länger zu begleiten, denke ich.
    Die Arc-A soll AV1- nur mit der Full-Feature-Treiber decodieren können.
    Könnte die Tatsache, dass das Decoding nicht mit dem Kerneltreiber geht, auf längere Sicht lästig werden? So Nvidia-Treiber-mäßig meine ich.
    Immerhin hat Debian die Pakete aber offiziell als "non-free" an.

    Zu Geschwindigkeitsunterschieden konnte ich bislang nichts finden.
    Aber da dürfte sich nicht viel getan haben, vermute ich.

    Die Intel-Variante sieht mir inzwischen aber eher nach einer "Spar-Lösung" für die Laptop-ICs aus,

    Da hatte ich anscheinend Teilweise recht, das scheint eine Art Energiesparfunktion zu sein.
    In dieser Tabelle ist das etwas anders beschrieben:
    E - Hardware Encoding, Low Power Encoding(VDEnc/Huc)
    Es - Hardware(PAK) + Shader(media kernel+VME) Encoding

    Gruss
    SHF

    Mein (neuer) VDR:

    Software:
    Debian Wheezy mit Kernel 3.14
    VDR 2.0.7 & div. Plugins aus YaVDR-Paketen
    noad 0.8.6

    Hardware:
    MSI C847MS-E33, onboard 2x1,1GHz Sandybridge Celeron 847, 4GiB RAM
    32GB SSD (System), 4TB 3,5" WD-Red HDD (Video)
    TT FF DVB-S 1.5 FullTS-Mod PWM-Vreg-Mod, DVB-Sky 852 Dual DVB-S2
    Das ganze im alten HP Vectra VLi8-Gehäuse versorgt von:
    PicoPSU-160-XT und Meanwell EPP-150 im ATX-NT-Gehäuse

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!