Транскодеры¶
Установка транскодеров для Perfect Streamer.
Доступны пакеты:
pstreamer-tcsw — транскодирование на CPU (Software).
pstreamer-tcnv — транскодирование на GPU NVIDIA.
pstreamer-tcivpl — транскодирование на GPU Intel (Intel VPL).
Главное требование — версия GLIBC >= 2.28.
Транскодер работает на AlmaLinux 8.9 или новее. Транскодер Intel VPL работает на системах AlmaLinux 9 и 10 (RHEL 9/10) и Ubuntu 24.04.
Какое оборудование Intel подходит для транскодирования, какие рантаймы и кодеки доступны на разных поколениях графики и как проверить, что оборудование распознано, описано в разделе Транскодер Intel VPL: поддерживаемое оборудование.
RHEL 8+¶
Установить pstreamer.
Для NVIDIA подключить репозиторий NVIDIA для своей версии системы и обновить систему (если репозиторий ещё не подключён). Команда сама подставляет номер версии, 8 или 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 нужен только драйвер NVIDIA версии 550 или новее; CUDA Toolkit на сервер стримера ставить не нужно.
Установить драйвер (выберите вариант):
Legacy
sudo dnf -y module install nvidia-driver:latest-dkms
New
sudo dnf -y module install nvidia-driver:open-dkms
После установки обязательно перезагрузить машину:
reboot
После перезагрузки проверить работу драйвера:
nvidia-smi
modprobe nvidia
sudo lsmod | grep nvidia
или
modprobe nouveau
sudo lsmod | grep nouveau
Intel VPL Encoder.
Установка драйвера Intel и 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
Установить пакеты транскодера.
Метод 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¶
Установить pstreamer.
NVIDIA Encoder.
Для pstreamer-tcnv нужен только драйвер NVIDIA версии 550 или новее; CUDA Toolkit на сервер стримера ставить не нужно.
Установить драйвер из репозитория Ubuntu — этого достаточно:
sudo ubuntu-drivers install
Или установить драйвер из репозитория NVIDIA. Сначала подключить репозиторий для своей версии 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
Затем установить драйвер из этого репозитория (выберите вариант):
legacy kernel module flavor:
sudo apt-get install -y cuda-drivers
или
open kernel module flavor:
sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555
После установки обязательно перезагрузить машину:
reboot
После перезагрузки проверить работу драйвера:
nvidia-smi
Версию драйвера показывает строка Driver Version в выводе nvidia-smi:
она должна быть не ниже 550. CUDA любой версии, уже установленная в системе,
работе транскодера не мешает.
Intel VPL Encoder (Ubuntu 24.04).
Ключевые компоненты Intel VPL берутся из официального репозитория Intel Graphics: в стандартных репозиториях Ubuntu они старее и не поддерживают современные GPU.
Подключить репозиторий 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
Установить рантайм Intel VPL и драйвер:
sudo apt-get install -y libvpl2 libmfxgen1 intel-media-va-driver-non-free
Дополнительно можно установить инструменты диагностики:
sudo apt-get install -y libvpl-tools
Пользователь pss, от имени которого работает служба, должен входить в группы render и video (доступ к устройствам /dev/dri/):
sudo usermod -aG render,video pss
sudo systemctl restart pss
Проверить, что GPU виден (при установленных libvpl-tools):
vainfo --display drm --device /dev/dri/renderD128
vpl-inspect
В выводе vainfo должна присутствовать строка «Driver version: Intel iHD …», а vpl-inspect должен перечислять аппаратную реализацию (AccelerationMode VAAPI).
Установить пакеты транскодера.
Метод 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
Файлы и проверка установки¶
Пакеты транскодеров установят файлы:
/usr/local/bin/tcsw — исполняемый файл SW (CPU) транскодера.
/usr/local/bin/tcnv — исполняемый файл NVIDIA (GPU) транскодера.
/usr/local/bin/tcivpl — исполняемый файл Intel VPL (GPU) транскодера.
/opt/pss/config/pss_tc_sw.properties — файл стартовой конфигурации для SW (CPU) транскодера.
/opt/pss/config/pss_tc_nv.properties — файл стартовой конфигурации для NVIDIA (GPU) транскодера.
/opt/pss/config/pss_tc_ivpl.properties — файл стартовой конфигурации для Intel VPL (GPU) транскодера.
Установка пакетов транскодера перезапустит службу pss. Проверить установку транскодеров можно на экране «О системе» веб-интерфейса (О системе): там показана версия транскодеров или ошибка.
Стримеру версии 2.0.2.416 и новее нужны транскодеры не старше pstreamer-tcnv 1.2.0.128, pstreamer-tcsw 1.2.0.127 и pstreamer-tcivpl 1.1.0.56: транскодер прежней версии может аварийно завершиться при остановке или перезапуске службы. Обновляйте установленные пакеты транскодеров вместе со стримером. С версии 2.0.2.420 после начала остановки службы транскодеры заново не запускаются: они завершаются вместе со службой.
Другие ОС на основе Debian и RHEL¶
Для транскодера pstreamer-tcnv на ОС, отличных от Ubuntu 22/24 и RHEL 8+, нужен только драйвер NVIDIA версии 550 или новее для этой ОС; CUDA Toolkit не нужен. Поддерживаемая архитектура — x86_64, главное требование к ОС — поддержка GLIBC >= 2.28. Репозитории драйвера для разных ОС NVIDIA перечисляет на странице загрузки CUDA:
https://developer.nvidia.com/cuda-downloads
Подходит ли видеокарта NVIDIA для транскодера pstreamer-tcnv, можно проверить на сайте NVIDIA в Video Encode and Decode Support Matrix. На этой странице приведена матрица поддержки видеоформатов для декодера и энкодера, а также другие характеристики.
Удаление старой версии CUDA и драйвера¶
CUDA Toolkit, установленный раньше, транскодеру не нужен, и его можно удалить, чтобы освободить место на диске. Драйвер удаляют, если нужно установить другую его версию.
Удаление 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*"
Удаление драйвера¶
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\*