Transcodeurs¶
Installation des transcodeurs pour Perfect Streamer.
Paquets disponibles :
pstreamer-tcsw — transcodage sur CPU (Software).
pstreamer-tcnv — transcodage sur GPU NVIDIA.
pstreamer-tcivpl — transcodage sur GPU Intel (Intel VPL).
L’exigence principale est la version de GLIBC >= 2.28.
Le transcodeur fonctionne sous AlmaLinux 8.9 ou version ultérieure. Le transcodeur Intel VPL fonctionne sur les systèmes AlmaLinux 9 et 10 (RHEL 9/10) et Ubuntu 24.04.
Le matériel Intel adapté au transcodage, les runtimes et codecs disponibles selon les générations graphiques et la façon de vérifier que le matériel est reconnu sont décrits dans la section Transcodeur Intel VPL : matériel pris en charge.
RHEL 8+¶
Installer pstreamer.
Pour NVIDIA, ajouter le dépôt NVIDIA correspondant à la version de votre système et mettre à jour le système (si le dépôt n’est pas encore ajouté). La commande insère elle-même le numéro de version, 8 ou 9 :
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel$(rpm -E %rhel)/x86_64/cuda-rhel$(rpm -E %rhel).repo
sudo dnf clean all
sudo dnf update -y
reboot
NVIDIA Encoder.
pstreamer-tcnv n’a besoin que du pilote NVIDIA version 550 ou ultérieure ; il n’est pas nécessaire d’installer le CUDA Toolkit sur le serveur du streamer.
Installer le pilote (choisissez une option) :
Legacy
sudo dnf -y module install nvidia-driver:latest-dkms
New
sudo dnf -y module install nvidia-driver:open-dkms
Après l’installation, il est impératif de redémarrer la machine :
reboot
Après le redémarrage, vérifier le fonctionnement du pilote :
nvidia-smi
modprobe nvidia
sudo lsmod | grep nvidia
ou
modprobe nouveau
sudo lsmod | grep nouveau
Intel VPL Encoder.
Installation du pilote Intel et d’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
Installer les paquets du transcodeur.
Méthode CPU Software :
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¶
Installer pstreamer.
NVIDIA Encoder.
pstreamer-tcnv n’a besoin que du pilote NVIDIA version 550 ou ultérieure ; il n’est pas nécessaire d’installer le CUDA Toolkit sur le serveur du streamer.
Installer le pilote depuis le dépôt Ubuntu, cela suffit :
sudo ubuntu-drivers install
Ou installer le pilote depuis le dépôt NVIDIA. Ajouter d’abord le dépôt correspondant à votre version d’Ubuntu :
# Ubuntu 22.04
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
# Ubuntu 24.04
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
Installer ensuite le pilote depuis ce dépôt (choisissez une option) :
legacy kernel module flavor:
sudo apt-get install -y cuda-drivers
ou
open kernel module flavor:
sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555
Après l’installation, il est impératif de redémarrer la machine :
reboot
Après le redémarrage, vérifier le fonctionnement du pilote :
nvidia-smi
La version du pilote figure dans la ligne Driver Version de la sortie de nvidia-smi : elle doit être égale ou supérieure à 550. Quelle que soit sa version, CUDA déjà installé sur le système ne gêne pas le fonctionnement du transcodeur.
Intel VPL Encoder (Ubuntu 24.04).
Les composants clés d’Intel VPL proviennent du dépôt officiel Intel Graphics : dans les dépôts standard d’Ubuntu, ils sont plus anciens et ne prennent pas en charge les GPU récents.
Ajouter le dépôt Intel Graphics :
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
Installer le runtime Intel VPL et le pilote :
sudo apt-get install -y libvpl2 libmfxgen1 intel-media-va-driver-non-free
En complément, vous pouvez installer les outils de diagnostic :
sudo apt-get install -y libvpl-tools
L’utilisateur pss sous lequel s’exécute le service doit appartenir aux groupes render et video (accès aux périphériques /dev/dri/) :
sudo usermod -aG render,video pss
sudo systemctl restart pss
Vérifier que le GPU est visible (avec libvpl-tools installé) :
vainfo --display drm --device /dev/dri/renderD128
vpl-inspect
La sortie de vainfo doit contenir la ligne « Driver version: Intel iHD … », et vpl-inspect doit répertorier l’implémentation matérielle (AccelerationMode VAAPI).
Installer les paquets du transcodeur.
Méthode CPU Software :
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
Fichiers et vérification de l’installation¶
Les paquets des transcodeurs installent les fichiers suivants :
/usr/local/bin/tcsw — fichier exécutable du transcodeur SW (CPU).
/usr/local/bin/tcnv — fichier exécutable du transcodeur NVIDIA (GPU).
/usr/local/bin/tcivpl — fichier exécutable du transcodeur Intel VPL (GPU).
/opt/pss/config/pss_tc_sw.properties — fichier de configuration de démarrage du transcodeur SW (CPU).
/opt/pss/config/pss_tc_nv.properties — fichier de configuration de démarrage du transcodeur NVIDIA (GPU).
/opt/pss/config/pss_tc_ivpl.properties — fichier de configuration de démarrage du transcodeur Intel VPL (GPU).
L’installation des paquets du transcodeur redémarre le service pss. L’installation des transcodeurs se vérifie sur l’écran « À propos » de l’interface web (À propos) : il affiche la version des transcodeurs ou une erreur.
Le streamer à partir de la version 2.0.2.416 nécessite des transcodeurs au moins en version pstreamer-tcnv 1.2.0.128, pstreamer-tcsw 1.2.0.127 et pstreamer-tcivpl 1.1.0.56 : un transcodeur d’une version antérieure peut s’arrêter brutalement à l’arrêt ou au redémarrage du service. Mettez à jour les paquets de transcodeurs installés en même temps que le streamer. Depuis la version 2.0.2.420, une fois l’arrêt du service commencé, les transcodeurs ne sont plus relancés : ils s’arrêtent avec le service.
Autres systèmes d’exploitation basés sur Debian et RHEL¶
Sur les systèmes d’exploitation autres qu’Ubuntu 22/24 et RHEL 8+, le transcodeur pstreamer-tcnv n’a besoin que du pilote NVIDIA version 550 ou ultérieure pour ce système ; le CUDA Toolkit n’est pas nécessaire. L’architecture prise en charge est x86_64, et l’exigence principale pour le système d’exploitation est la prise en charge de GLIBC >= 2.28. NVIDIA répertorie les dépôts du pilote pour les différents systèmes d’exploitation sur la page de téléchargement de CUDA :
https://developer.nvidia.com/cuda-downloads
Pour savoir si une carte graphique NVIDIA convient au transcodeur pstreamer-tcnv, consultez la Video Encode and Decode Support Matrix sur le site NVIDIA. Cette page présente la matrice de prise en charge des formats vidéo pour le décodeur et l’encodeur, ainsi que d’autres caractéristiques.
Suppression de l’ancienne version de CUDA et du pilote¶
Le CUDA Toolkit installé auparavant n’est pas nécessaire au transcodeur et peut être supprimé pour libérer de l’espace disque. On supprime le pilote lorsqu’il faut en installer une autre version.
Suppression de 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*"
Suppression du pilote¶
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\*