Isolando todo o áudio de uma conta de usuário específica com o Pulseaudio

2

Eu pesquisei sobre o assunto e pesquisei no Stack Exchange, mas ainda não encontrei uma pergunta canonicamente semelhante à minha. Se esta for a seção errada do Stack Exchange para fazer essa pergunta, informe-nos e, felizmente, vamos movê-la.

Eu tenho uma máquina desktop que serve telas VNC remotas, além de sua tela X11 local.

Os aplicativos exibidos via VNC (e o próprio servidor VNC) são executados com um ID de usuário diferente para processos em execução localmente.

Estou tentando conseguir o seguinte:

  • Todos os processos em execução na conta não local são apresentados com dispositivos de microfone e alto-falante totalmente sintéticos, respaldados por um loopback PulseAudio que alimenta a saída do alto-falante na entrada de microfone

  • O Chrome é enganado com sucesso pelo PulseAudio e acredita que o loopback é um microfone real;)

  • Os processos remotos não podem controlar o hardware de áudio físico (para evitar acidentes)

  • O servidor de PA não interfere nas outras contas no sistema nem toca no hardware físico (também para evitar acidentes)

  • A configuração / configurações / estado que torna isso possível precisa ser reinicializado automaticamente quando o sistema for reinicializado (muito importante)

  • (não-crítico / opcional) Uma solução de transmissão em tempo real de baixa latência me permite conectar ao PulseAudio (ou algum aplicativo ouvindo o loopback) e ouvir em

Descobri que o PA pode ser executado em uma conta de usuário específica, isolando mais ou menos seus serviços para essa conta, e usei isso com algum sucesso, embora não tenha certeza se há alguma configuração específica. deve ser aplicado diferente de acionar pulseaudio da minha própria conta.

Os principais pontos em que estou preso são a) convencer o Chrome de que o PA é um microfone real, b) garantir que eu não toque no hardware de áudio do sistema e c) onde armazenar a configuração para que seja atendida ao reiniciar.

Isso está no FreeBSD, se isso mudar alguma coisa.

    
por i336_ 21.02.2016 / 09:29

0 respostas