Glitching e saída atrasada ao gravar loopback do PulseAudio

2

Eu tento fazer um screencast onde eu preciso gravar tanto o microfone quanto o som de saída do pc (e vídeo, é claro). Eu tentei fazer um loopback no pulseaudio para "mesclá-los" e usar este sink com a ferramenta de gravação (primeiro eu tentei o recordmydesktop e o ffmpeg / avconv).

Mas o problema é quando eu uso esse loopback, o som está com falha (acho que essa é a melhor palavra que descreve) e tem delay progressivo (significando muito atraso de lote após 2/3 minutos). Isso não está acontecendo ao usar a saída direta (saída de mic ou pc).

Eu tentei reduzir o atraso do loopback para 1ms, não mudei nada (ele não queria 0ms)

Existe alguma maneira de resolver isso? Eu ouço sobre pulseaudio em tempo real, mas eu acho que isso é um tipo um comedor de CPU? (e precisamos de um kernel RT que eu acho que não tenho)

Eu também tento instalar o jackd, mas sem grande sucesso (e, aparentemente, é uma dor de cabeça para fazê-lo funcionar com o avconv).

    
por eephyne 12.01.2013 / 07:32

2 respostas

1

Em vez de criar um coletor de loopback com pulseaudio-module-loopback na maioria das harwares de placa de som, temos a possibilidade de mesclar uma origem com um coletor usando um perfil de áudio duplex .

Para mudar para um perfil duplex, podemos executar pavucontrol para selecionar o perfil "Duplex analógico estéreo" para nossa placa de som na guia "Configuração" .

Também podemos alterar o perfil de saída do coletor a partir da linha de comando com <index> e possível <profiles> de cartões listados com

pacmd list-cards

Para alterar o perfil do cartão, podemos emitir

pacmd set-card-profile <index> <profile>

Para combinar os sumidouros de saída, podemos executar paprefs que nos fornece uma opção para um " Dispositivo de saída simultânea " :

Este dispositivo combinado também pode ser carregado a partir da linha de comando, carregando o módulo module-combine-sink .

    
por Takkat 12.01.2013 / 09:55
1

Duplex significa que a placa atua como um dispositivo de entrada e saída para áudio. Isso não significa que simplesmente combina a saída e a entrada em um único fluxo. E tudo o que a saída virtual faz é combinar os sumidouros como você disse, para que você possa produzir dois cartões separados ao mesmo tempo. Nenhum deles consegue o que o OP e eu estamos tentando fazer.

    
por Mischka 17.03.2013 / 08:24