Transcodificadores¶
Instalación de los transcodificadores para Perfect Streamer.
Paquetes disponibles:
pstreamer-tcsw — transcodificación en la CPU (Software).
pstreamer-tcnv — transcodificación en la GPU NVIDIA.
pstreamer-tcivpl — transcodificación en la GPU Intel (Intel VPL).
El requisito principal es la versión de GLIBC >= 2.28.
El transcodificador funciona en AlmaLinux 8.9 o posterior. El transcodificador Intel VPL funciona en sistemas AlmaLinux 9 y 10 (RHEL 9/10) y Ubuntu 24.04.
Qué hardware Intel es adecuado para la transcodificación, qué entornos de ejecución y códecs están disponibles en las distintas generaciones de gráficos y cómo comprobar que se ha reconocido el hardware se describe en la sección Transcodificador Intel VPL: hardware compatible.
RHEL 8+¶
Instalar pstreamer.
Para NVIDIA, añadir el repositorio de NVIDIA para su versión del sistema y actualizar el sistema (si el repositorio aún no está añadido). El comando inserta por sí solo el número de versión, 8 o 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 solo necesita el controlador NVIDIA versión 550 o posterior; no es necesario instalar el CUDA Toolkit en el servidor del streamer.
Instalar el controlador (elija una opción):
Legacy
sudo dnf -y module install nvidia-driver:latest-dkms
New
sudo dnf -y module install nvidia-driver:open-dkms
Después de la instalación, es obligatorio reiniciar la máquina:
reboot
Después del reinicio, comprobar el funcionamiento del controlador:
nvidia-smi
modprobe nvidia
sudo lsmod | grep nvidia
o
modprobe nouveau
sudo lsmod | grep nouveau
Intel VPL Encoder.
Instalación del controlador Intel e 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
Instalar los paquetes del transcodificador.
Método 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¶
Instalar pstreamer.
NVIDIA Encoder.
pstreamer-tcnv solo necesita el controlador NVIDIA versión 550 o posterior; no es necesario instalar el CUDA Toolkit en el servidor del streamer.
Instalar el controlador desde el repositorio de Ubuntu; es suficiente:
sudo ubuntu-drivers install
O instalar el controlador desde el repositorio de NVIDIA. Primero, añadir el repositorio para su versión de 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
A continuación, instalar el controlador desde este repositorio (elija una opción):
legacy kernel module flavor:
sudo apt-get install -y cuda-drivers
o
open kernel module flavor:
sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555
Después de la instalación, es obligatorio reiniciar la máquina:
reboot
Después del reinicio, comprobar el funcionamiento del controlador:
nvidia-smi
La versión del controlador aparece en la línea Driver Version de la salida de nvidia-smi: debe ser 550 o superior. Una versión de CUDA ya instalada en el sistema, sea cual sea, no interfiere con el funcionamiento del transcodificador.
Intel VPL Encoder (Ubuntu 24.04).
Los componentes clave de Intel VPL se toman del repositorio oficial de Intel Graphics: en los repositorios estándar de Ubuntu son más antiguos y no admiten las GPU modernas.
Añadir el repositorio de 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
Instalar el runtime de Intel VPL y el controlador:
sudo apt-get install -y libvpl2 libmfxgen1 intel-media-va-driver-non-free
Opcionalmente, se pueden instalar las herramientas de diagnóstico:
sudo apt-get install -y libvpl-tools
El usuario pss, en cuyo nombre se ejecuta el servicio, debe pertenecer a los grupos render y video (acceso a los dispositivos /dev/dri/):
sudo usermod -aG render,video pss
sudo systemctl restart pss
Comprobar que la GPU es visible (con libvpl-tools instalado):
vainfo --display drm --device /dev/dri/renderD128
vpl-inspect
En la salida de vainfo debe estar presente la línea «Driver version: Intel iHD …», y vpl-inspect debe enumerar la implementación por hardware (AccelerationMode VAAPI).
Instalar los paquetes del transcodificador.
Método 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
Archivos y verificación de la instalación¶
Los paquetes de los transcodificadores instalarán los siguientes archivos:
/usr/local/bin/tcsw — archivo ejecutable del transcodificador SW (CPU).
/usr/local/bin/tcnv — archivo ejecutable del transcodificador NVIDIA (GPU).
/usr/local/bin/tcivpl — archivo ejecutable del transcodificador Intel VPL (GPU).
/opt/pss/config/pss_tc_sw.properties — archivo de configuración de arranque del transcodificador SW (CPU).
/opt/pss/config/pss_tc_nv.properties — archivo de configuración de arranque del transcodificador NVIDIA (GPU).
/opt/pss/config/pss_tc_ivpl.properties — archivo de configuración de arranque del transcodificador Intel VPL (GPU).
La instalación de los paquetes del transcodificador reiniciará el servicio pss. Puede comprobar la instalación de los transcodificadores en la pantalla «Acerca del sistema» de la interfaz web (Acerca del sistema): allí se muestra la versión de los transcodificadores o un error.
El streamer de la versión 2.0.2.416 o posterior necesita transcodificadores no anteriores a pstreamer-tcnv 1.2.0.128, pstreamer-tcsw 1.2.0.127 y pstreamer-tcivpl 1.1.0.56: un transcodificador de una versión anterior puede terminar de forma anómala al detener o reiniciar el servicio. Actualice los paquetes de transcodificadores instalados junto con el streamer. Desde la versión 2.0.2.420, una vez iniciada la parada del servicio, los transcodificadores no se vuelven a iniciar: terminan junto con el servicio.
Otros sistemas operativos basados en Debian y RHEL¶
En sistemas operativos distintos de Ubuntu 22/24 y RHEL 8+, el transcodificador pstreamer-tcnv solo necesita el controlador NVIDIA versión 550 o posterior para ese sistema operativo; el CUDA Toolkit no es necesario. La arquitectura admitida es x86_64, y el requisito principal para el sistema operativo es la compatibilidad con GLIBC >= 2.28. NVIDIA enumera los repositorios del controlador para los distintos sistemas operativos en la página de descarga de CUDA:
https://developer.nvidia.com/cuda-downloads
Puede comprobar si una tarjeta gráfica NVIDIA es adecuada para el transcodificador pstreamer-tcnv en el sitio web de NVIDIA, en la Video Encode and Decode Support Matrix. En esta página figura la matriz de compatibilidad de formatos de vídeo para el decodificador y el codificador, así como otras características.
Eliminación de la versión antigua de CUDA y del controlador¶
El CUDA Toolkit instalado anteriormente no es necesario para el transcodificador y se puede eliminar para liberar espacio en disco. El controlador se elimina cuando hay que instalar otra versión de este.
Eliminación 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*"
Eliminación del controlador¶
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\*