Instalação

Requisitos do sistema

  • Perfect Streamer funciona em Linux. Requisito principal: GLIBC >= 2.17.

  • As interfaces de rede utilizadas pelo serviço do streamer devem ter configuração estática.

  • Os scripts do instalador usam o utilitário sudo, portanto ele deve estar instalado no sistema.

Para as famílias Red Hat e Debian há pacotes de instalação e repositórios. RHEL 7 e superior são suportados (CentOS, etc.). Sistemas baseados em Debian (Ubuntu etc.) devem usar systemd.

Requisitos indicativos: 1 núcleo de 2,4 GHz e 1 GB de RAM para cada 200 Mbit/s de tráfego. Estimativa aproximada que depende dos protocolos e configurações do serviço.

Particularidades da versão Demo gratuita:

  • Limitado a 10 fluxos

  • O transcodificador opera apenas no modo Software CPU

  • Sem limitações de funcionalidade

  • Sem limite de tempo

Os pacotes diferem entre as versões completa e Demo. Para instalar a versão Demo use o pacote pstreamer-demo. Ao migrar para a versão completa é necessário primeiro desinstalar a Demo e depois instalar a versão completa. O arquivo de configuração da Demo é compatível com a versão completa, mas o arquivo de configuração da versão completa do pstreamer pode ser incompatível com pstreamer-demo, o serviço pode não iniciar e a remoção manual do arquivo pss.json pode ser necessária.

Instalação em sistemas RHEL

Instalar o repositório para RHEL 7:

$ sudo yum install yum-utils
$ sudo yum-config-manager --add-repo=http://repo.pstreamer.tv/pub/pstreamer/pstreamer.repo

Ou para RHEL 8+:

$ sudo yum config-manager --add-repo=http://repo.pstreamer.tv/pub/pstreamer/pstreamer.repo

Instalar o pacote:

$ sudo yum -y install pstreamer

or

$ sudo yum -y install pstreamer-demo

Atualizar o pacote:

$ sudo yum -y update pstreamer

or

$ sudo yum -y update pstreamer-demo

Remover todos os pacotes:

$ sudo yum -y remove pstreamer aksusbd

or

$ sudo yum -y remove pstreamer-demo

Instalação em sistemas Debian

Instalar o repositório:

$ sudo wget http://repo.pstreamer.tv/pub/deb/dists/pstreamer/pstreamer.list -O /etc/apt/sources.list.d/pstreamer.list
$ sudo apt-get update

Instalar o pacote:

$ sudo apt-get install pstreamer

or

$ sudo apt-get install pstreamer-demo

Atualizar o pacote:

$ sudo apt install pstreamer

or

$ sudo apt install pstreamer-demo

Remover todos os pacotes:

$ sudo apt-get remove pstreamer aksusbd

or

$ sudo apt-get remove pstreamer-demo

Arquivos e serviços

/usr/local/bin/pss

Arquivo executável.

/opt/pss/config/pss.properties

Configurações globais, logs, caminhos etc. Após alterações, reiniciar o serviço.

/opt/pss/config/pss.json

Arquivo de configurações. Criado e atualizado automaticamente.

/opt/pss/config/pss_default.json

Arquivo de configuração padrão. Usado em caso de corrupção ou remoção das configurações.

/opt/pss/config/pss_back.json

Arquivo de configuração salvo durante a restauração; aplicado se o arquivo restaurado tiver erros.

/opt/pss/data

Pasta de dados. Criada e atualizada automaticamente. Pode ser alterada no arquivo de configurações globais.

/usr/lib/systemd/system/pss.service

Arquivo de serviço systemd.

/var/log/pss

Pasta de logs. Pode ser alterada no arquivo de configurações globais.

Nome do serviço pss. Executa sob o usuário pss.

Durante a instalação é instalado o pacote complementar aksusbd do sistema de proteção; ele inclui os serviços hasplmd e aksusbd.

Após a instalação

Após a instalação do Perfect Streamer, realize a ativação e a configuração inicial do serviço.

Transcodificadores

Instalação dos transcodificadores para o Perfect Streamer.

Pacotes disponíveis:

  • pstreamer-tcsw: transcodificação em CPU (Software).

  • pstreamer-tcnv: transcodificação em GPU Nvidia. Apenas para o pacote pstreamer (versão completa com proteção).

  • pstreamer-tcivpl: transcodificação em GPU Intel. Apenas para o pacote pstreamer (versão completa com proteção).

Requisito principal: GLIBC >= 2.28.

Agora funciona no Alma Linux 8.9.

O transcodificador Intel VPL funciona em sistemas Alma Linux 10 (RHEL 10).

RHEL 8+

  1. Instalar pstreamer ou pstreamer-demo.

  2. Para Nvidia, instalar os repositórios e atualizar o sistema (se ainda não foram instalados):

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
  1. NVidia Encoder.

  • Instalar CUDA:

sudo dnf -y install cuda-toolkit-12-5
  • Instalar o driver (escolha uma opção):

Legacy

sudo dnf -y module install nvidia-driver:latest-dkms

New

sudo dnf -y module install nvidia-driver:open-dkms

Após a instalação é obrigatório reiniciar a máquina:

reboot

Após reiniciar, verificar o funcionamento do driver:

nvidia-smi
modprobe nvidia
sudo lsmod | grep nvidia

ou

modprobe nouveau
sudo lsmod | grep nouveau
  1. Intel VPL Encoder.

  • Instalação do driver 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
  1. Instalar os pacotes do 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

  1. Instalar pstreamer ou pstreamer-demo.

  2. NVidia Encoder.

  • Instalar CUDA Toolkit versão 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
  • Instalar o driver (escolha uma opção):

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

Após a instalação é obrigatório reiniciar a máquina:

reboot

Após reiniciar, verificar o funcionamento do driver:

nvidia-smi

Para o funcionamento do transcodificador é necessária a versão CUDA 12.5. No sistema pode já estar instalada outra versão de CUDA. Também ao atualizar o sistema o CUDA pode ser atualizado para uma versão mais recente. Isso não interfere no funcionamento — não é necessário removê-las, pois versões diferentes de CUDA são instaladas em pastas separadas.

  1. Instalar os pacotes do transcodificador.

  • Método CPU Software:

sudo apt-get install -y pstreamer-tcsw
  • Nvidia GPU:

sudo apt-get install -y pstreamer-tcnv

Os pacotes do transcodificador instalam os arquivos:

  • /usr/local/bin/tcsw — executável do transcodificador SW (CPU).

  • /usr/local/bin/tcnv — executável do transcodificador Nvidia (GPU).

  • /opt/pss/config/pss_tc_sw.properties — arquivo de configuração inicial do transcodificador SW (CPU).

  • /opt/pss/config/pss_tc_nv.properties — arquivo de configuração inicial do transcodificador Nvidia (GPU).

  1. Verificar a instalação do transcodificador.

A instalação dos pacotes do transcodificador reinicia o serviço pss. A instalação pode ser verificada na seção About — é exibida a versão ou um erro.

Outros SO baseados em Debian e RHEL

Para instalar o transcodificador pstreamer-tcnv em SO diferentes de Ubuntu 22/24 e RHEL 8+, use o configurador no site da Nvidia para escolher a versão de CUDA e o driver:

https://developer.nvidia.com/cuda-toolkit-archive

Ao escolher cada versão de CUDA está disponível a informação sobre quais versões de SO ela suporta. Arquitetura suportada — x86_64. Se for necessária uma versão mais antiga do SO, verifique seu suporte em versões mais antigas de CUDA. O requisito principal do SO — suporte a GLIBC >= 2.28

O driver da Nvidia deve ser instalado a partir do repositório indicado para a versão do seu SO na página da versão de CUDA escolhida.

O suporte a placas de vídeo Nvidia para o funcionamento do transcodificador pstreamer-tcnv pode ser verificado no site da Nvidia em Video Encode and Decode Support Matrix. Nessa página estão disponíveis a matriz de suporte a formatos de vídeo para decoder e encoder, bem como outras características.

Remoção da versão antiga do CUDA e do driver

Se uma versão incorreta de CUDA e driver for instalada, pode ser necessário trocar por outra versão, removendo antes a instalada.

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html?highlight=uninstall#removing-cuda-toolkit

Remoção do 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*"

Remoção do driver

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\*