Como Ativar a Transmissão de Áudio no Linux

Imagem em Destaque de Transmissão de Áudio

A transmissão de áudio – ou streaming de áudio – permite que o áudio reproduzido em um dispositivo seja reproduzido em outro. Pode ser áudio ao vivo, arquivos ou até mesmo entrada de microfone. Muitas das grandes empresas de tecnologia têm sua própria versão de transmissão de áudio. A Apple tem o AirPlay, e o Google tem o Chromecast. Para o Linux, você tem muitas opções diferentes de transmissão de áudio devido ao seu caráter de código aberto.

Índice

  • Uma Perspectiva Técnica
  • O Que Você Precisa para a Transmissão de Áudio
  • Como Habilitar a Transmissão de Áudio
  • Perguntas Frequentes

Leia também: Como Transmitir Áudio do Linux para Chromecast e Google Home

Uma Perspectiva Técnica

Embora diferentes fabricantes usem protocolos ligeiramente diferentes, quase todas as transmissões de áudio utilizam rede peer-to-peer (P2P). O P2P adquiriu uma reputação considerável pelo seu uso em torrenting, mas o método de rede não é tão infame.

Essencialmente, P2P significa que tanto o seu dispositivo quanto o dispositivo ao qual você está conectado compartilham permissões de dados – ambos podem receber e enviar dados como desejarem. Para fins de transmissão de áudio, o emissor converterá os dados de áudio em binário e o receptor os converterá de volta em dados de áudio. Compressão, taxas de bits e buffering também desempenham um papel nesse processo, mas são um assunto diferente do qual estamos abordando.

O Que Você Precisa para a Transmissão de Áudio

Essas são as principais aplicações que estamos usando para transmitir áudio. Existem outros métodos que envolvem mais instalação, mas estas são as principais que você usará para interagir com o Pulseaudio.

Preferências do Pulseaudio

Paprefs (preferências de pulseaudio) é uma ótima maneira de acessar todos os módulos do pulseaudio. Para implementar isso, normalmente exigiria que você consultasse a documentação e usasse o terminal, mas a interface gráfica facilita muito. Instale o Paprefs com o seguinte comando:

sudo apt install paprefs

Um dos problemas com o Paprefs é que ele usa o nome da pasta padrão para o Pulseaudio. Quando você tenta ativar ou instalar módulos através dele, ele o leva a essa pasta padrão. Essa pasta não existirá se o Pulseaudio tiver sido atualizado.

Para resolver isso, crie um symlink que aponte o paprefs para a pasta correta, como a abaixo.

A pasta real é “pulse-15.99.1+dfsg1.” A pasta do symlink é “pulse-13.99.” O Paprefs o registrará como tal, mas ele aponta para a pasta real em vez de ser uma nova por conta própria. Para criar um symlink, o comando do terminal é o seguinte:

sudoln-s'/usr/lib/pulse-15.99.1+dfsg1''/usr/lib/pulse-15.99'

Leia também: Como Melhorar o Áudio do seu PC Linux com PulseEffects

Controle de Volume do Pulseaudio

Este aplicativo permite que você interaja com os sinks e monitores do pulseaudio. Isso não apenas ajudará você a ver se o áudio está sendo reproduzido onde você deseja, mas uma interface visual é sempre útil ao trabalhar com vários sinks e computadores.

O comando de terminal a seguir instalará o Pavucontrol.

sudo apt install pavucontrol

Como Habilitar a Transmissão de Áudio

Como qualquer coisa no Linux, habilitar a transmissão de áudio no Linux pode variar de fácil a extremamente complicado. Meu teste e metodologia focam no Ubuntu, mas se você estiver rodando Arch ou qualquer outra distribuição, o processo deve ser semelhante.

Transmissão de Áudio RTP

Usar RTP (Real-time Transport Protocol) é o método mais fácil que encontrei durante os testes. Aqui, estamos usando o Pulseaudio.

  1. Navegue até a aba Multicast/RTP no Paprefs e marque a caixa “Ativar receptor Multicast/RTP” e a caixa “Ativar emissor Multicast/RTP” em ambos os dispositivos. Você pode optar por habilitar um deles, mas quero poder enviar e receber de ambos os dispositivos, então estou habilitando os dois.

Captura de Tela De 2022 09 28 20 28 02

  1. Você pode optar por criar um sink separado ou alimentar áudio diretamente de seus alto-falantes para o outro dispositivo. Um sink separado permitirá que você controle o volume e o formato do áudio que está enviando. Você deve ver o monitor de áudio transmitido do outro dispositivo na seção Dispositivos de Entrada do Pavucontrol.
  2. Se você prefere o terminal, também pode adicionar os seguintes módulos ao arquivo “default.pa” em “/etc/pulse.” Esses fazem a mesma coisa que habilitar o receptor e o emissor no Paprefs.
load-module module-null-sink sink_name=rtp  
load-module module-rtp-send source=rtp.monitor  
set-default-sink rtp  
load-module module-rtp-recv

Você pode precisar alterar as permissões do arquivo default.pa usando chmod se escolher fazê-lo manualmente.

Leia também: Como Corrigir o Problema de Não Conseguir Digitar no Terminal no Linux

Transmissão de Áudio por Conexão Direta

Adicione as seguintes linhas ao arquivo “/etc/pulse/default.pa” em ambos os computadores. Esses módulos são para autenticação entre servidor e cliente.

load-module module-esound-protocol-tcp auth-anonymous=1  
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24

Além disso, defina o parâmetro default-server no arquivo “/etc/pulse/client.conf.” Pode ser o endereço IP ou nome do host (nome do PC) do servidor.

Transmissão de Áudio do Windows para Linux

Se você tem um computador com Windows e deseja transmitir para um dispositivo Linux, o Pulseaudio não pode, por si só, transmitir de forma confiável do Linux para Windows ou vice-versa. O Scream é uma das poucas alternativas que permitirá que você transmita áudio do Windows para Linux. Observe que este método não foi testado no Windows 11.

Instalá-lo é tão fácil quanto baixar o aplicativo para Windows 10 do link do Github e o receptor Linux do repositório. Os seguintes comandos de terminal instalarão o receptor e também estão disponíveis no link dos receptores.

# Redhat, CentOS, etc.  
sudoyum install pulseaudio-libs-devel  
  
# Debian, Ubuntu, etc.  
sudoapt-get install libpulse-dev

Se você quiser abrir mão de usar o Pulseaudio, o Jack oferece um método infalível de transmitir áudio do Windows para o Linux. Este método envolve usar uma ponte ASIO conectando o JACK a um sink de áudio no computador Windows.

Instale o JACK em ambos os seus computadores Linux e Windows. No Windows, você pode baixar e instalar a partir do seguinte link. Para o Linux, você precisará instalá-lo a partir do seu gerenciador de pacotes. No meu caso, usei apt e o seguinte comando:

sudo apt install jackd

Você também precisa ter a Ponte ASIO instalada em sua máquina Windows. Assim que você concluir as instalações, execute os seguintes comandos da linha de comando do Windows:

regsvr32 32bits\JackRouter.dll  
regsvr32 64bits\JackRouter.dll

Na sua máquina Linux, digite jack_load netmanager no terminal ou configure-o para ativar automaticamente usando qjackctl (Cadence e Catia também são ótimos patchbays) usando o mesmo comando. Navegue até a aba Opções, marque a caixa “Executar script após a Inicialização” e adicione o comando.

Captura de Tela De 2022 09 30 18 10 28

Os últimos passos são iniciar o JACK NetDriver em seu dispositivo Windows. Alternativamente, digite jackd -R -d net na linha de comando, inicie a Ponte ASIO e defina o dispositivo ASIO para JackRouter. Você deve ver o nome do host do Windows no qjackctl ou em qualquer patch bay você escolher. Às vezes, essa etapa requer que você reinicie o qjackctl, então não se preocupe se não funcionar na primeira vez.

Leia também: Como Transcodificar Arquivos FLAC Com flac2all no Linux

Perguntas Frequentes

Existem aplicativos alternativos que posso usar para transmitir áudio no Linux?

Existem muitos servidores de mídia e aplicativos de transmissão no Linux. Seria impossível explicar e percorrer todos eles, mas alguns dos mais notáveis são Mkchromecast e Soundwire.

Ativar a transmissão de áudio tornará meu PC vulnerável a um ciberataque?

Uma preocupação ao trabalhar com qualquer coisa relacionada à rede é a segurança. Embora alguns métodos de transmissão de áudio possam deixar seu computador vulnerável, é improvável que haja qualquer perigo real – desde que você esteja trabalhando dentro da sua rede LAN fechada.

Posso usar esses métodos para transmitir áudio para minha TV?

Infelizmente, sem um aplicativo externo como VLC ou mkchromecast, você não pode enviar áudio diretamente para sua TV usando RTP ou uma conexão direta. No entanto, a maioria das smart TVs permitirá que você instale aplicativos e/ou receba e envie áudio de outro dispositivo.