Observação: TÃO; NL; é abreviação para “textão, não vou ler”, ou tradução de TL; DR;
Introduzindo…
TÃO; NL;
A problemática aqui é: porquê o Linux não compartilha áudio com a tela, enquanto MacOS e Windows permitem isso?
É consenso que compartilhar janela com áudio no Linux não deveria rolar do jeito que rola. Ou você cria um loopback maneiro que nem isso aqui, ou você não transmite áudio.
Transmitir abas de navegadores Chromium com som já é possível (não uso Firefox então me digam se também funciona por lá), mas só dentro do próprio navegador. As vezes acho isso insuficiente, visto que jogos “top das galáxias” não rodam em navegador, mas no próprio sistema operacional, em uma janela que não é a do navegador.
O ponto agora é: porque o que eu falei no primeiro parágrafo, infelizmente é verdade? Mastigando um pouquinho minha pergunta: porque compartilhar janela no Linux não compartilha áudio também?
Contexto
TÃO; NL;
- Dá pra compartilhar tela no macOS e no Windows
- No Linux, infelizmente tudo foi tardio, porém, isso vem melhorando com o tempo.
- Tem menos de 10 pessoas trabalhando no pulseaudio e no ALSA, somando.
Desde quase sempre se compartilha tela com áudio no Windows. No macOS uma atualização do Discord no ano passado permite fazer isso até então. Agora, e o Linux?
Nosso personagem favorito, carismático e por vezes engraçado e ator de filmes Xenia, a raposinha camarada Tux, por mais que seja um pinguim cantor de Toy Story, áudio no Linux é algo que muitos reclamam, e dizem que pouco é feito. Não vou discutir isso porque eu não sei os perrengues que os desenvolvedores do ALSA e do pulseaudio passam, fora que as coisas são tardias no Linux por padrão (ALSA é de 1998 e pulseaudio é de 2004, sendo em mais ou menos 1991 que o Windows ganhou áudio) e só estão ganhando reconhecimento agora com empresas que se importam em ajudar a gente (exemplo: Valve )
Algo que me intriga é que os desenvolvedores principais do pulseaudio são 3, e do ALSA são 6. Menos de 10 pessoas desenvolvendo o sistema de áudio de mais larga escala em sistemas Linux. Nem a Microsoft deve ter essa quantidade minúscula de gente trabalhando no WASAPI. E não estou reclamando, porque o pulseaudio e o ALSA funcionam bem.
Mas não é esse o detalhe. O detalhe é algo bem acima, bora polemizar o assunto?
Rádio Diolinux Plus, quadro Polêmica com Inky1003
Desenvolvedores do Chromium já disseram que não planejam criar suporte para compartilhamento de tela com áudio desde 2015 no Linux, proposto inicialmente em 2013. Como Electron é Chromium, fora as outras 500 aplicações que usamos e são Chromium, Discord, Teams, todos os navegadores (quase) e muitos outros não vão ter isso por um bom tempo. Ao que parece a tecnologia do pulseaudio não era tão maturada, e/ou o pulseaudio era tão pesado que acabou causando um problema de delay e qualidade na transmissão e desistiram de fazer.
Como mencionei aqui, o pulseaudio tem sim capacidade de ajudar no compartilhamento de tela, redirecionando o áudio. Ainda mencionei também o Soundux, “soundpad” pra Linux que não desconfigura o sistema de som com novos módulos só para tocar seu som de “pare” do “programa do ratinhonho”. Ele consegue enviar o som diretamente para o input de áudio do aplicativo, pegando os programas que estão gravando sources do pulseaudio e só criando uma null-sink que não desconfigura absolutamente nada, e só serve para pegar os dois áudios e redirecionar para o input. Isso já dá uma brecha pra dizer que dá pra fazer o contrário e obter o áudio do programa pelo output do app no pulseaudio.
Tá, beleza, mas eu não falei um programa que consegue fazer isso. Mas aí é que tá, existe: o Zoom faz isso. Eu não queria usá-lo de exemplo porque ele faz gambiarra e não é baseado em Chromium, mas se ele consegue, porque o Chromium não poderia fazer melhor?
Conclusão
Terei de terminar o artigo por aqui, tanto pra não ficar longo, quanto porque eu tenho outras coisas pra fazer, mas deixo uma pergunta aqui…
É negligência ou falta de ajuda na implementação?
O Zoom conseguiu, o Soundux dá um incentivo. O Chromium daqui a pouco já vai ter a faca e o queijo na mão, o que falta agora?