Installation¶
Configuration système requise¶
Perfect Streamer fonctionne sous Linux. Exigence principale : GLIBC >= 2.17.
Les interfaces réseau utilisées par le service streamer doivent avoir une configuration statique.
Les scripts d’installation utilisent l’utilitaire sudo ; celui-ci doit donc être installé sur le système.
Pour les familles Red Hat et Debian, des paquets d’installation et des dépôts sont disponibles. RHEL 7 et versions ultérieures (CentOS, etc.) est pris en charge, ainsi que les distributions compatibles RPM — par exemple openSUSE Leap (voir la note à la fin de la section RHEL). Les systèmes basés sur Debian (Ubuntu, etc.) doivent disposer du service systemd.
Exigences indicatives : 1 cœur 2,4 GHz et 1 Go de RAM pour chaque 200 Mbit/s de trafic. Estimation approximative dépendant des protocoles et des réglages du service.
Particularités de la version gratuite Demo :
Limité à 10 flux
Le transcodeur fonctionne uniquement en mode CPU Software
Sans limitations fonctionnelles
Sans limite de temps
Les distributions des versions complète et Demo diffèrent. Pour installer la version Demo, utilisez le paquet pstreamer-demo correspondant. Lors du passage à la version complète, il faut d’abord désinstaller la version Demo, puis installer la version complète. Le fichier de configuration de la version Demo est compatible avec la version complète du paquet, mais le fichier de configuration de la version complète de pstreamer peut être incompatible avec pstreamer-demo — le service peut ne pas démarrer et la suppression manuelle du fichier pss.json peut être nécessaire.
Installation sur les systèmes RHEL¶
Installer le dépôt pour RHEL 7 :
$ sudo yum install yum-utils
$ sudo yum-config-manager --add-repo=http://repo.pstreamer.tv/pub/pstreamer/pstreamer.repo
Ou pour RHEL 8+ :
$ sudo yum config-manager --add-repo=http://repo.pstreamer.tv/pub/pstreamer/pstreamer.repo
Installer le paquet :
$ sudo yum -y install pstreamer
or
$ sudo yum -y install pstreamer-demo
Mettre à jour le paquet :
$ sudo yum -y update pstreamer
or
$ sudo yum -y update pstreamer-demo
Suppression de tous les paquets :
$ sudo yum -y remove pstreamer aksusbd
or
$ sudo yum -y remove pstreamer-demo
Note
openSUSE (Leap, la dernière version stable) est un système basé sur RPM. Le même dépôt que pour RHEL est utilisé, mais les opérations sont effectuées avec le gestionnaire de paquets zypper :
$ sudo zypper addrepo http://repo.pstreamer.tv/pub/pstreamer/pstreamer.repo
$ sudo zypper --gpg-auto-import-keys refresh
$ sudo zypper install pstreamer # or pstreamer-demo
Mise à jour — sudo zypper update pstreamer, suppression — sudo zypper remove pstreamer aksusbd.
Installation sur les systèmes Debian¶
Installer le dépôt :
$ sudo wget http://repo.pstreamer.tv/pub/deb/dists/pstreamer/pstreamer.list -O /etc/apt/sources.list.d/pstreamer.list
$ sudo apt-get update
Installer le paquet :
$ sudo apt-get install pstreamer
or
$ sudo apt-get install pstreamer-demo
Mettre à jour le paquet :
$ sudo apt install pstreamer
or
$ sudo apt install pstreamer-demo
Suppression de tous les paquets :
$ sudo apt-get remove pstreamer aksusbd
or
$ sudo apt-get remove pstreamer-demo
Fichiers et services¶
- /usr/local/bin/pss
Fichier exécutable.
- /opt/pss/config/pss.properties
Paramètres globaux, logs, chemins, etc. Après modifications, redémarrer le service.
- /opt/pss/config/pss.json
Fichier de paramètres principal. Créé et mis à jour automatiquement. Au démarrage, le service tente de charger précisément ce fichier.
- /opt/pss/config/pss_back.json
Copie de sauvegarde de la configuration de travail précédente. Enregistrée automatiquement lors de l’action Restaurer les paramètres dans l’interface web et utilisée comme premier recours si le fichier pss.json principal ne peut pas être analysé.
- /opt/pss/config/pss_default.json
Fichier de paramètres par défaut. Livré avec le paquet et utilisé en dernier recours si ni le fichier pss.json principal ni pss_back.json ne peuvent être chargés.
- /opt/pss/config/pss_back.json
Archive des fichiers pss.json corrompus. Si le fichier de paramètres principal ne peut pas être analysé au démarrage, il est déplacé ici sous un nom de la forme pss_YYYYMMDD_HHMMSS.json. Le répertoire est créé automatiquement. Voir la section Comportement au démarrage et erreurs de configuration.
- /opt/pss/data
Dossier des données. Créé et mis à jour automatiquement. Peut être modifié dans le fichier de configuration globale.
- /usr/lib/systemd/system/pss.service
Fichier de service systemd.
- /var/log/pss
Dossier de logs. Modifiable dans le fichier de configuration globale.
Nom du service pss. S’exécute sous l’utilisateur pss.
Au cours de l’installation, le paquet associé aksusbd du système de protection est installé ; il inclut les services hasplmd et aksusbd.
Après installation¶
Après l’installation de Perfect Streamer, procéder à l’activation et à la configuration initiale.
Transcodeurs¶
Installation des transcodeurs pour Perfect Streamer.
Paquets disponibles :
pstreamer-tcsw : transcodage sur CPU (Software).
pstreamer-tcnv : transcodage sur GPU Nvidia. Uniquement pour le paquet pstreamer (version complète protégée).
pstreamer-tcivpl : transcodage sur GPU Intel. Uniquement pour le paquet pstreamer (version complète avec protection).
Exigence principale : GLIBC >= 2.28.
Fonctionne désormais sous AlmaLinux 8.9.
Le transcodeur Intel VPL fonctionne sur les systèmes AlmaLinux 10 (RHEL 10).
RHEL 8+¶
Installer pstreamer ou pstreamer-demo.
Pour Nvidia, installer les dépôts et mettre le système à jour (si ce n’est pas déjà fait) :
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.
Installer CUDA :
sudo dnf -y install cuda-toolkit-12-5
Installer le pilote (choisir 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 faut impérativement 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 ou pstreamer-demo.
NVidia Encoder.
Installer le CUDA Toolkit version 12.5 :
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
Installer le pilote (choisir 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 faut impérativement redémarrer la machine :
reboot
Après le redémarrage, vérifier le fonctionnement du pilote :
nvidia-smi
Le transcodeur nécessite CUDA 12.5. Une autre version de CUDA peut déjà être installée sur le système. Lors d’une mise à jour du système, CUDA peut également être mis à niveau vers une version plus récente. Cela n’interfère pas avec le fonctionnement — il n’est pas nécessaire de les supprimer, car les différentes versions de CUDA sont installées dans des dossiers séparés.
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
Les paquets de transcodeurs installent les fichiers :
/usr/local/bin/tcsw — exécutable du transcodeur SW (CPU).
/usr/local/bin/tcnv — exécutable du transcodeur Nvidia (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).
Vérifier l’installation du transcodeur.
L’installation des paquets du transcodeur redémarre le service pss. Vérifier l’installation dans la section About — la version ou une erreur est affichée.
Autres OS basés sur Debian et RHEL¶
Pour installer le transcodeur pstreamer-tcnv sur des OS autres qu’Ubuntu 22/24 et RHEL 8+, utilisez le configurateur du site Nvidia pour choisir la version de CUDA et du pilote :
https://developer.nvidia.com/cuda-toolkit-archive
Lors du choix de chaque version de CUDA, l’information sur les versions d’OS prises en charge est disponible. Architecture prise en charge — x86_64. Si une version d’OS plus ancienne est requise, vérifiez sa prise en charge dans des versions plus anciennes de CUDA. L’exigence principale du système d’exploitation — la prise en charge de GLIBC >= 2.28.
Le pilote Nvidia doit être installé depuis le dépôt proposé pour votre version d’OS sur la page de la version CUDA choisie.
La prise en charge des cartes Nvidia pour le transcodeur pstreamer-tcnv peut être vérifiée sur le site Nvidia dans Video Encode and Decode Support Matrix. Cette page contient la matrice de prise en charge des formats vidéo pour le decoder et l’encoder, ainsi que d’autres caractéristiques.
Suppression de l’ancienne version de CUDA et du pilote¶
Si la version installée de CUDA et du pilote est incorrecte, il peut être nécessaire de passer à une autre version en désinstallant d’abord l’existante.
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\*