O framework open source GStreamer amplia suporte para Nvidia

A versão em desenvolvimento do GStreamer implementa melhorias para o suporte a nvd3d11, nvcuda e nv para driver da Nvidia.





GStreamer


GStreamer é um framework para desenvolvimento de aplicações que lidam com streams multimedia, como áudio e vídeo. Foi escrito em linguagem C e é baseado em GObject. O GStreamer provê o serviço de multimedia dos aplicativos, como editores de vídeo, streaming de mídia e media players. Wikipédia








nvcodec: Adicionar nova implementação de codificador de modo Direct3D11/CUDA


Adicionando novos elementos de codificador nvd3d11{h264,h265}enc para Direct3D11, suporte de entrada e elementos nvcuda{h264,h265}enc reescritos.
Elementos recém-escritos têm algumas diferenças em comparação com os antigos
nv{h264,h265}enc incluindo alterações não compatíveis com versões anteriores.

  • RGBA não é mais um formato de entrada suportado:

Novos elementos suportarão apenas formatos YUV para evitar conversão implícita
feito por hardware. Idealmente, isso deve ser feito pelo elemento upstream
para ter mais controle sobre ele. Além disso, o suporte RGBA pode causar
RGBA redundante -> conversão YUV se vários codificadores forem
usado para a mesma entrada RGBA

  • O suporte ao formato plano subamostrado foi descartado:

Os formatos I420 e YV12 não são formatos suportados para Direct3D11.
Embora seja suportado no modo CUDA, não é compatível com hardware
layout de memória e desperdiçará a memória da GPU, pois os planos UV
terá grande preenchimento devido ao requisito de layout de memória do NVENC.

  • O suporte GL foi descartado: Semelhante ao caso RGBA,

O suporte GL no codificador seria abaixo do ideal se a entrada GL fosse
usado por vários codificadores, porque cada codificador copiará a memória GL
na memória CUDA.
O elemento upstream cudaupload pode ser usado para GL <-> CUDA
interoperabilidade em vez disso.

  • Não há mais pré-alocação de superfícies de entrada do codificador. Nova implementação

usará a memória CUDA de entrada sem cópia (cópia zero) ou
irá copiar para a estrutura de buffer de entrada de um NVENC em caso de
entrada de memória do sistema. 

 Fonte

 

Instalação

Melhore o suporte ao GStreamer na sua distribuição executando o comando no terminal referente a ela.

Para Arch Linux e derivados.

sudo pacman -S ffmpeg gst-plugins-ugly gst-plugins-good gst-plugins-base gst-plugins-bad gst-libav gstreamer

Para Debian e derivados.

sudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad ffmpeg

Para Fedora

Habilite o repositório rpmfusion.

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm


Instale.

sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free gstreamer1-plugins-bad-freeworld gstreamer1-plugins-bad-free-extras ffmpeg

Para openSUSE

Habilite o repositório Packman

No openSUSE_Tumbleweed

zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman


No openSUSE_Leap_15.2

zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.2/ packman

Confirme a alteração do repositório com o comando.

zypper dup --from packman --allow-vendor-change

Instale.

sudo zypper install ffmpeg gstreamer-plugins-libav gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-good gstreamer-fluendo-mp3


Comentários

Postar um comentário

olá, seja bem vindo ao Linux Dicas e suporte !!

Você precisa ver isso

Todos os arquivos do blog

Mostrar mais