Como habilitar gravação via hardware no OBS?

No Windows dá para gravar a tela via (QSV), no Linux é possível?

P.S: Estou utilizando o POP! OS neste dispositivo.

1 Curtida

Com OBS atualizado e os pacotes VAAPI para sua placa Intel, o efeito deve ser o mesmo que nesse post.

Infelizmente parece que não dá só para selecionar QSV e deixar tudo se resolver sozinho como no Windows, é necessário por no modo avançado, escolher FFMPEG VAAPI e sair testando a qualidade.

Funciona em Nvidia sem Nvenc?

Acho que não. Inclusive, se eu não me engano, só NVEnc vem no driver oficial da Nvidia e usar VAAPI nas placas dela é por programas extras de terceiros que no fim reusam o NVEnc (mas posso estar errado, não tenho hardware Nvidia).


QSV? Isso não é o codificador da Intel?

1 Curtida

Ah sim, mas no Windows eu consigo usar a intelHD para gravar pelo OBS e a Nvidia para outras coisas; no Linux não consigo (no momento) usar as 2 placas ao mesmo tempo.

Não aparecem as duas opções de placa em VAAPI device no OBS? :thinking:

Sim, mas ambas dão erro.
image

No registro/saída de terminal do OBS, tem a linha?

[FFMPEG VAAPI encoder: 'recording_h264'] Failed to create VAAPI device context: Erro de entrada/saída

Se tiver, pode ser questão de falta de módulos VAAPI (não ajuda que a Intel tem dois, um para iGPUs antes do QSV (libva-intel-driver no Arch Linux), e um para as que têm o QSV (intel-media-driver))

1 Curtida

Placa 0:
[AVHWDeviceContext @ 0x557530dc21c0] libva: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[AVHWDeviceContext @ 0x557530dc21c0] Failed to initialise VAAPI connection: -1 (unknown libva error).
warning: [FFMPEG VAAPI encoder: ‘recording_h264’] Failed to create VAAPI device context: Erro de entrada/saída

Placa 1:
[h264_vaapi @ 0x557530bcd640] Driver does not support any RC mode compatible with selected options (supported modes: CQP).
warning: [FFMPEG VAAPI encoder: ‘recording_h264’] Failed to open VAAPI codec: Argumento inválido
QObject::connect: No such signal QLineEdit::editingFinished(const QString &)
QObject::connect: (sender name: ‘customServer’)
QObject::connect: (receiver name: ‘OBSBasicSettings’)

Aparentemento consegui resolver.
A Intel tem 2 drivers, 1 open-source e outro non-free.
Tive que dar: apt install intel-media-va-driver-non-free para instalar o driver non-free que tem VA-API.

2 Curtidas