GPU für transcoding nutzen

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Superbunny79
Beiträge: 17
Registriert: 30.12.2009 20:35:08

GPU für transcoding nutzen

Beitrag von Superbunny79 » 04.11.2024 12:17:16

Hi,

ich habe ein kleinen NAS Server auf Debian Basis (Openmediavault).

In diesem Server habe ich eine DVBS2 Karte verbaut und TVHeadend als Life TV Server für mein Haus eingerichtet.
Plexmediaserver ist ebenfalls installiert und liefert meine Film-Sammlung.

Als Client nutze ich Kodi-Anwendung auf einem Raspi.

Nun würde ich gern wenn ich unterwegs bin mit meinem Tablet und Kodi auch Live und Filmsammlung nutzen wollen und habe micht zwangsläufig mit Transcoding beschäftigt.
Oft werden die Vorteile des GPU-Transcoding erwähnt.

In meinem Server ist eine Gforce GTX 1050 verbaut.

Ausgabe lspci -nnk | grep -A3 "\[03..\]:"

Code: Alles auswählen

a:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1)
        Subsystem: Gigabyte Technology Co., Ltd GV-N105TOC-4GD [1458:3763]
        Kernel modules: nvidia
0a:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
Im Plexinstaller-Log sieht man das keine Karte erkannt wird und ich bin mir nicht sicher ob die Treiber für die Karte installiert sind.

Ich habe bei google zwar eine Anleitung gefunden die Treiber zu installieren nur wird die Karte trotzdem nicht erkannt.

Gibt es da eine detaillierte Anleitung wie man die unter Debian TVHeadend und Plex die GPU fürs Transcoding an laufen bekommt?

Superbunny79
Beiträge: 17
Registriert: 30.12.2009 20:35:08

Re: GPU für transcoding nutzen

Beitrag von Superbunny79 » 04.11.2024 14:28:42

Ich habe nochmals geprüft was an Treibern alles installiert ist:

Der Befehl
apt list --installed | grep -i nvidia:
gibt folgenden Output:

Code: Alles auswählen

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

firmware-nvidia-gsp/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
glx-alternative-nvidia/stable,now 1.2.2 amd64  [Installiert,automatisch]
libegl-nvidia0/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
libgl1-nvidia-glvnd-glx/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
libglx-nvidia0/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
libnvidia-egl-wayland1/stable,now 1:1.1.10-1 amd64  [Installiert,automatisch]
libnvidia-eglcore/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
libnvidia-glcore/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
libnvidia-glvkspirv/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
libnvidia-ml1/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-alternative/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-driver-bin/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-driver-libs/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-driver/stable,now 535.183.01-1~deb12u1 amd64  [installiert]
nvidia-egl-common/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-egl-icd/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-installer-cleanup/stable,now 20220217+3~deb12u1 amd64  [Installiert,automatisch]
nvidia-kernel-common/stable,now 20220217+3~deb12u1 amd64  [Installiert,automatisch]
nvidia-kernel-dkms/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-kernel-support/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-legacy-check/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-modprobe/stable,now 535.161.07-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-support/stable,now 20220217+3~deb12u1 amd64  [Installiert,automatisch]
nvidia-tesla-470-alternative/stable,now 470.256.02-1~deb12u1 amd64  [Installiert,automatisch]
nvidia-tesla-470-kernel-support/stable,now 470.256.02-1~deb12u1 amd64  [installiert]
nvidia-vaapi-driver/stable,now 0.0.8-1 amd64  [installiert]
nvidia-vdpau-driver/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]
xserver-xorg-video-nvidia/stable,now 535.183.01-1~deb12u1 amd64  [Installiert,automatisch]

debianoli
Beiträge: 4152
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: GPU für transcoding nutzen

Beitrag von debianoli » 05.11.2024 06:41:35

Das geht mit Cuda und einem für Cuda kompilierten ffmpeg. Das ffmpeg aus den Debian-Repos wird nicht mit Cuda-Unterstützung kompiliert. Also muss man das selber machen. Bringt bei deiner Karte eine Zeitersparnis von ca. 75% beim Transcodieren mit ffmpeg, war zumindest bei meiner 1050 so
Such mal nach cuda debian ffmpeg

Benutzeravatar
hikaru
Moderator
Beiträge: 13896
Registriert: 09.04.2008 12:48:59

Re: GPU für transcoding nutzen

Beitrag von hikaru » 05.11.2024 11:05:05

debianoli hat geschrieben: ↑ zum Beitrag ↑
05.11.2024 06:41:35
Bringt bei deiner Karte eine Zeitersparnis von ca. 75% beim Transcodieren mit ffmpeg, war zumindest bei meiner 1050 so
Die Frage ist natürlich: 75% im Vergleich zu was?
Die Antwort: Im Vergleich zu Softwaretranscodierung auf der CPU. Man müsste also eure beiden CPUs kennen, um Vergleiche anstelen zu können.

debianoli
Beiträge: 4152
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: GPU für transcoding nutzen

Beitrag von debianoli » 05.11.2024 12:16:03

hikaru hat geschrieben: ↑ zum Beitrag ↑
05.11.2024 11:05:05
Die Frage ist natürlich: 75% im Vergleich zu was?
Die Antwort: Im Vergleich zu Softwaretranscodierung auf der CPU.
Richtig, hatte ich auf die schnelle vergessen zu schreiben. Kann ich später nachliefern, sofern von Interesse

Superbunny79
Beiträge: 17
Registriert: 30.12.2009 20:35:08

Re: GPU für transcoding nutzen

Beitrag von Superbunny79 » 07.11.2024 06:18:50

debianoli hat geschrieben: ↑ zum Beitrag ↑
05.11.2024 06:41:35
Das geht mit Cuda und einem für Cuda kompilierten ffmpeg. Das ffmpeg aus den Debian-Repos wird nicht mit Cuda-Unterstützung kompiliert. Also muss man das selber machen. Bringt bei deiner Karte eine Zeitersparnis von ca. 75% beim Transcodieren mit ffmpeg, war zumindest bei meiner 1050 so
Such mal nach cuda debian ffmpeg
Ich habe in meinen TV-NAS Server einen Ryzen7 (hatte ich rumliegen) verbaut:

Code: Alles auswählen

Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          43 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   16
  On-line CPU(s) list:    0-15
Vendor ID:                AuthenticAMD
  BIOS Vendor ID:         Advanced Micro Devices, Inc.
  Model name:             AMD Ryzen 7 3800X 8-Core Processor
    BIOS Model name:      AMD Ryzen 7 3800X 8-Core Processor              Unknown CPU @ 3.9GHz
    BIOS CPU family:      107
    CPU family:           23
    Model:                113
    Thread(s) per core:   2
    Core(s) per socket:   8
    Socket(s):            1
    Stepping:             0
    Frequency boost:      enabled
    CPU(s) scaling MHz:   48%
    CPU max MHz:          4558,8862
    CPU min MHz:          2200,0000
    BogoMIPS:             7785,31
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht
                           syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apic
                          id aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16
                          c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skin
                          it wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd
                           mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_n
                          i xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr
                           rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists paus
                          efilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev
                          sev_es
Virtualization features:
  Virtualization:         AMD-V
Caches (sum of all):
  L1d:                    256 KiB (8 instances)
  L1i:                    256 KiB (8 instances)
  L2:                     4 MiB (8 instances)
  L3:                     32 MiB (2 instances)
NUMA:
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-15
Vulnerabilities:
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Not affected
  Reg file data sampling: Not affected
  Retbleed:               Mitigation; untrained return thunk; SMT enabled with STIBP protection
  Spec rstack overflow:   Mitigation; safe RET
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:             Mitigation; Retpolines; IBPB conditional; STIBP always-on; RSB filling; PBRSB-eIBRS Not affected; BH
                          I Not affected
  Srbds:                  Not affected
  Tsx async abort:        Not affected
Ich habe nach dem Paket cuda debian ffmpeg mal gesucht...
Gibt es eine Anleitung wie man das selber baut?

Habe nur das hier auf die Schnelle gefunden:

https://docs.nvidia.com/video-technolog ... index.html

Benutzeravatar
MSfree
Beiträge: 11604
Registriert: 25.09.2007 19:59:30

Re: GPU für transcoding nutzen

Beitrag von MSfree » 07.11.2024 08:09:12

Hier gab es mal eine Diskussion um Cuda-Encoding:
viewtopic.php?p=1298596

Dort findest du auch Hinweise auf die genutzten Programme, unter anderem nvenc. Dort gibt es auch ein paar Benchmarks zum Vergleich zwischen Nvidia GTX 1660, Intel i3-7100 iGPU und Intel i5-10400 iGPU.

debianoli
Beiträge: 4152
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: GPU für transcoding nutzen

Beitrag von debianoli » 07.11.2024 11:27:11

Muss man ffmpeg jetzt extra kompilieren oder nicht? Habe ffmpeg_cuda seit längerem nicht benötigt und finde dazu das im Netz: https://gist.github.com/Ghostbird/0445e ... 02ad455103

Danach hätte ffmpeg seit Debian 12 das inzwischen out of the box dabei. Kann das wer bestätigen?

MaGe
Beiträge: 1796
Registriert: 01.06.2014 17:12:16

Re: GPU für transcoding nutzen

Beitrag von MaGe » 07.11.2024 11:59:09

debianoli hat geschrieben: Danach hätte ffmpeg seit Debian 12 das inzwischen out of the box dabei. Kann das wer bestätigen?
Kann ich nicht, aber was sagt

Code: Alles auswählen

 ffmpeg 2>&1  |grep configuration 
Bei mir, selbst kompiliert.
--enable-cuda-llvm --enable-cuda-nvcc --enable-ffnvcodec --enable-cuvid --enable-nvenc --enable-cuda



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Antworten