Transcoder¶
Installation der Transcoder für Perfect Streamer.
Verfügbare Pakete:
pstreamer-tcsw — Transcodierung auf der CPU (Software).
pstreamer-tcnv — Transcodierung auf einer NVIDIA-GPU.
pstreamer-tcivpl — Transcodierung auf einer Intel-GPU (Intel VPL).
Die Hauptvoraussetzung ist GLIBC-Version >= 2.28.
Der Transcoder läuft unter AlmaLinux 8.9. Der Intel-VPL-Transcoder läuft auf Systemen mit AlmaLinux 10 (RHEL 10) und Ubuntu 24.04.
Welche Intel-Hardware für die Transkodierung geeignet ist, welche Laufzeitumgebungen und Codecs auf den verschiedenen Grafikgenerationen verfügbar sind und wie sich prüfen lässt, dass die Hardware erkannt wurde, beschreibt der Abschnitt Intel-VPL-Transcoder: unterstützte Hardware.
RHEL 8+¶
pstreamer installieren.
Für NVIDIA die Repositorys installieren und das System aktualisieren (falls sie noch nicht installiert wurden):
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
sudo dnf clean all
sudo dnf update -y
reboot
NVIDIA Encoder.
CUDA installieren:
sudo dnf -y install cuda-toolkit-12-5
Den Treiber installieren (Variante auswählen):
Legacy
sudo dnf -y module install nvidia-driver:latest-dkms
New
sudo dnf -y module install nvidia-driver:open-dkms
Nach der Installation muss die Maschine unbedingt neu gestartet werden:
reboot
Nach dem Neustart die Funktion des Treibers prüfen:
nvidia-smi
modprobe nvidia
sudo lsmod | grep nvidia
oder
modprobe nouveau
sudo lsmod | grep nouveau
Intel VPL Encoder.
Installation des Intel-Treibers und von Intel VPL (RHEL 10):
dnf install -y intel-gpu-firmware
dnf install -y https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
dnf install -y intel-media-driver
dnf install -y intel-vpl-gpu-rt
Die Transcoder-Pakete installieren.
CPU-Software-Methode:
sudo dnf install -y pstreamer-tcsw
NVIDIA GPU:
sudo dnf install -y pstreamer-tcnv
Intel VPL GPU:
sudo dnf install -y pstreamer-tcivpl
Ubuntu 22/24¶
pstreamer installieren.
NVIDIA Encoder.
CUDA-Toolkit Version 12.5 installieren:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-5
Den Treiber installieren (Variante auswählen):
legacy kernel module flavor:
sudo apt-get install -y cuda-drivers
oder
open kernel module flavor:
sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555
Nach der Installation muss die Maschine unbedingt neu gestartet werden:
reboot
Nach dem Neustart die Funktion des Treibers prüfen:
nvidia-smi
Für den Betrieb des Transcoders ist CUDA-Version 12.5 erforderlich. Auf dem System kann bereits eine andere CUDA-Version installiert sein. Außerdem kann bei einer Systemaktualisierung CUDA auf eine neuere Version aktualisiert werden. Dies beeinträchtigt den Betrieb nicht; sie müssen nicht entfernt werden, da verschiedene CUDA-Versionen in separaten Verzeichnissen installiert werden.
Intel VPL Encoder (Ubuntu 24.04).
Die zentralen Intel-VPL-Komponenten stammen aus dem offiziellen Intel-Graphics-Repository — in den Standard-Repositorys von Ubuntu sind sie älter und unterstützen keine modernen GPUs.
Das Intel-Graphics-Repository hinzufügen:
sudo apt-get update
sudo apt-get install -y ca-certificates gnupg wget
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | sudo gpg --yes --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu noble unified" | sudo tee /etc/apt/sources.list.d/intel-gpu-noble.list
sudo apt-get update
Die Intel-VPL-Laufzeitumgebung und den Treiber installieren:
sudo apt-get install -y libvpl2 libmfxgen1 intel-media-va-driver-non-free
Optional können die Diagnosewerkzeuge installiert werden:
sudo apt-get install -y libvpl-tools
Der Benutzer pss, unter dem der Dienst läuft, muss den Gruppen render und video angehören (Zugriff auf die Geräte /dev/dri/):
sudo usermod -aG render,video pss
sudo systemctl restart pss
Prüfen, dass die GPU sichtbar ist (bei installierten libvpl-tools):
vainfo --display drm --device /dev/dri/renderD128
vpl-inspect
In der Ausgabe von vainfo muss die Zeile „Driver version: Intel iHD …“ vorhanden sein, und vpl-inspect muss die Hardware-Implementierung auflisten (AccelerationMode VAAPI).
Die Transcoder-Pakete installieren.
CPU-Software-Methode:
sudo apt-get install -y pstreamer-tcsw
NVIDIA GPU:
sudo apt-get install -y pstreamer-tcnv
Intel VPL GPU (Ubuntu 24.04):
sudo apt-get install -y pstreamer-tcivpl
Dateien und Installationsprüfung¶
Die Transcoder-Pakete installieren folgende Dateien:
/usr/local/bin/tcsw — ausführbare Datei des SW-(CPU-)Transcoders.
/usr/local/bin/tcnv — ausführbare Datei des NVIDIA-(GPU-)Transcoders.
/usr/local/bin/tcivpl — ausführbare Datei des Intel-VPL-(GPU-)Transcoders.
/opt/pss/config/pss_tc_sw.properties — Startkonfigurationsdatei für den SW-(CPU-)Transcoder.
/opt/pss/config/pss_tc_nv.properties — Startkonfigurationsdatei für den NVIDIA-(GPU-)Transcoder.
/opt/pss/config/pss_tc_ivpl.properties — Startkonfigurationsdatei für den Intel-VPL-(GPU-)Transcoder.
Die Installation der Transcoder-Pakete startet den Dienst pss neu. Die Installation der Transcoder kann im Abschnitt About der Weboberfläche geprüft werden: Es wird die Version der Transcoder oder ein Fehler angezeigt.
Andere Betriebssysteme auf Basis von Debian und RHEL¶
Um den Transcoder pstreamer-tcnv auf anderen Betriebssystemen als Ubuntu 22/24 und RHEL 8+ zu installieren, verwenden Sie den Konfigurator zur Auswahl der erforderlichen CUDA- und Treiberversion auf der NVIDIA-Website:
https://developer.nvidia.com/cuda-toolkit-archive
Bei der Auswahl jeder CUDA-Version stehen Informationen darüber zur Verfügung, für welche Betriebssystemversion sie geeignet ist. Die unterstützte Architektur ist x86_64. Wenn Sie eine ältere Betriebssystemversion benötigen, prüfen Sie deren Unterstützung in älteren CUDA-Versionen. Die Hauptvoraussetzung für das Betriebssystem ist die Unterstützung von GLIBC-Version >= 2.28.
Der NVIDIA-Treiber muss aus dem Repository installiert werden, das für Ihre Betriebssystemversion auf der Seite der ausgewählten CUDA-Version angeboten wird.
Die Unterstützung von NVIDIA-Grafikkarten für die Funktionalität des Transcoders pstreamer-tcnv kann auf der NVIDIA-Website in der Video Encode and Decode Support Matrix geprüft werden. Auf dieser Seite steht eine Matrix zur Unterstützung von Videoformaten für Decoder und Encoder sowie weitere Merkmale zur Verfügung.
Entfernen der alten CUDA-Version und des Treibers¶
Falls eine falsche CUDA- und Treiberversion installiert wurde, kann es erforderlich sein, eine andere Version zu installieren, wobei die installierte Version zuvor entfernt werden muss.
Entfernen von CUDA¶
RHEL:
dnf remove "cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*" "*nvptx*"
Debian/Ubuntu:
apt remove --autoremove --purge "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*" "*nvptx*"
Entfernen des Treibers¶
Ubuntu 22/24:
apt remove --autoremove --purge -V \
cuda-compat\* \
cuda-drivers\* \
libnvidia-cfg1\* \
libnvidia-compute\* \
libnvidia-decode\* \
libnvidia-encode\* \
libnvidia-extra\* \
libnvidia-fbc1\* \
libnvidia-gl\* \
libnvidia-gpucomp\* \
libnvidia-nscq\* \
libnvsdm\* \
libxnvctrl\* \
nvidia-dkms\* \
nvidia-driver\* \
nvidia-fabricmanager\* \
nvidia-firmware\* \
nvidia-headless\* \
nvidia-imex\* \
nvidia-kernel\* \
nvidia-modprobe\* \
nvidia-open\* \
nvidia-persistenced\* \
nvidia-settings\* \
nvidia-xconfig\* \
xserver-xorg-video-nvidia\*
RHEL 9:
dnf module remove --all nvidia-driver
dnf module reset nvidia-driver
RHEL 10:
dnf remove nvidia-driver\*