Blog Linux Avante

Como usar pulseaudio-dlna para fazer streaming de áudio do Ubuntu 20.10 para dispositivos Chromecast

29 de outubro de 2020

pulseaudio-dlna é um servidor de streaming que permite transmitir áudio de seu computador Linux para um dispositivo Chromecast ou DLNA/UPNP na mesma rede, via PulseAudio.

Este artigo explica como instalar e fazer com que pulseaudio-dlna reproduza áudio do Ubuntu 20.10, Pop_OS! 20.10, e outras distribuições Linux baseadas nesta versão do Ubuntu, para dispositivos Chromecast.

A última versão do pulseaudio-dlna usa Python 2, que não está mais disponível em muitas distribuições Linux, o que significa que não pode mais ser usado em distribuições Linux modernas. Há, no entanto, um branch Python 3 que você pode usar, mas que também não é mantido por algum tempo e tem alguns problemas, por exemplo, não é compatível com o último pychromecast 7.* (que é o que o Ubuntu 20.10 tem em seu repositórios). Ubuntu 20.10 (e distribuições Linux baseadas nele, como Pop!_OS 20.10) tem pulseaudio-dlna em seus repositórios, mas este pacote não funciona corretamente, pelo menos não com dispositivos Chromecast (não posso testá-lo com dispositivos DLNA - pode funcionar com eles). E como o Ubuntu 20.10 tem o pychromecast 7 em seus repositórios, isso complica um pouco as coisas se você quiser usar o branch Python 3.

Mas consegui fazer funcionar, e este artigo explica tudo para que pulseaudio-dlna funcione no Ubuntu 20.10/Pop!_OS 20.10 com dispositivos Chromecast (também deve funcionar com dispositivos DLNA, mas como eu disse, não tentei) .

É importante notar que o Ubuntu 20.04 não tem pulseaudio-dlna em seus repositórios, e usar o mesmo branch Python 3 não funciona nesta versão do Ubuntu.

Além disso, não adicionei instruções para outras distribuições Linux porque isso não parece funcionar em uma máquina virtual (embora esteja na mesma rede), então não pude testá-lo corretamente. Existem pacotes de terceiros para Fedora e Arch Linux (que usam o mesmo branch Python 3 e patch usado nas instruções abaixo), entre outras, então se você pode usar essas distribuições Linux experimente esses pacotes.

Artigos relacionados ao Chromecast de que você pode gostar:

Como instalar o branch Python3 pulseaudio-dlna (corrigido) no Ubuntu 20.10/Pop!_OS 20.10

1. Instale as dependências do Python 3 pulseaudio-dlna (menos o pychromecast, que está na etapa):

Comandos para usar no terminal

sudo apt install python3-setuptools python3-pip python3-docopt python3-chardet python3-gi python3-dbus python3-docopt python3-requests python3-setproctitle python3-protobuf python3-lxml python3-netifaces python3-zeroconf python3-urllib3 python3-psutil python3-pyroute2 python3-notify2 python3-distutils sox vorbis-tools lame flac opus-tools ffmpeg

2. Remova python3-pychromecast e pulseaudio-dlna se você os instalou a partir dos repositórios do Ubuntu:

Comandos para usar no terminal

sudo apt remove python3-pychromecast pulseaudio-dlna

3. Instale o pychromecast 6.0.1

O branch pulseaudio-dlna Python 3 não funciona com o pychromecast 7, que está disponível nos repositórios do Ubuntu 20.10. Portanto, teremos que instalar o pychromecast 6 em seu lugar.

Para facilitar a instalação, carreguei um python3-pychromecast 6.0.1 DEB aqui. Baixe e instale esse pacote em sua máquina Ubuntu 20.10/Pop!_OS 20.10. Você também pode instalá-lo de alguma outra maneira se desejar.

Você também precisará "segurar" esta versão do pacote python3-pychromecast, então ela não será atualizada. Isso pode ser feito usando o seguinte comando:

Comandos para usar no terminal

sudo apt-mark hold python3-pychromecast

No caso de você querer atualizar isso posteriormente pacote, use o mesmo comando, mas com "unhold" em vez de "hold".

4. Instale o Python 3 branch pulseaudio-dlna

Para as instruções de instalação abaixo, usaremos wget e git, portanto, certifique-se de que estejam instalados:

Comandos para usar no terminal

sudo apt install wget git

Agora você pode clonar o ramo Python 3 pulseaudio-dlna, patch com uma correção para aguardar o dispositivo Chromecast estar pronto e instalá-lo:

Comandos para usar no terminal

git clone https://github.com/masmu/pulseaudio-dlna

cd pulseaudio-dlna

git checkout python3

wget https://github.com/masmu/pulseaudio-dlna/commit/d46f419abd5105e48342ee45219cbf557d342af4.patch

patch -p1 -i d46f419abd5105e48342ee45219cbf557d342af4.patch

sudo python3 setup.py install --record=installed_files.txt

Certifique-se de salvar o installed_files.txt criado pelo último comando acima (ele deve ser criado na pasta pulseaudio-dlna), pois você pode usá-lo para desinstalar o pulseaudio-dlna posteriormente. Para remover pulseaudio-dlna instalado usando as instruções mencionadas acima, execute sudo rm $(cat installed_files.txt) na pasta onde o installed_files.txt está colocado.

Como usar pulseaudio-dlna

Para iniciar pulseaudio-dlna, abra um terminal e digite:

Comandos para usar no terminal

pulseaudio-dlna

Em seguida, abra as configurações do sistema, vá para as configurações de som e altere o Output Device para o seu dispositivo Chromecast/DLNA/UPNP. É assim que meu Chromecast aparece na seção Output Device das configurações de som:

pulseaudio-dlna

É importante observar que pulseaudio-dlna tem um certo atraso, por isso pode demorar um pouco até que o som comece no seu dispositivo Chromecast/DLNA.

Isso transmite todos os sons do seu computador para o dispositivo remoto. Caso queira transmitir o som apenas de um aplicativo específico, instale pavucontrol:

Em seguida, inicie pavucontrol (digitando pavucontrol em um terminal, ou abrindo PulseAudio Volume Control do menu de aplicativos), e na aba de playback você pode mudar o stream individualmente, para cada aplicação.

pulseaudio-dlna pavucontrol

Por exemplo, na captura de tela acima, o VLC está configurado para transmitir para meu Chromecast, enquanto o Chromium não.

pulseaudio-dlna tem algumas opções. Por exemplo, você pode fazer com que ele use uma porta diferente (ela usa a porta 8080 por padrão), assim:

Comandos para usar no terminal

pulseaudio-dlna --port

Onde PORT é a porta que você deseja usar para pulseaudio-dlna.

Você também pode especificar o codec a ser usado:

Comandos para usar no terminal

pulseaudio-dlna --codec

Onde CODEC pode ser mp3, ogg, flac, wav, opus, aac e muito mais.

Você também pode especificar um back-end de codificador diferente (por padrão, ele usa um codificador genérico), como ffmpeg, executando pulseaudio-dlna assim:

Comandos para usar no terminal

pulseaudio-dlna --encoder-backend ffmpeg

Caso mais de 1 dispositivo seja descoberto, você pode especificar qual usar usando:

Comandos para usar no terminal

pulseaudio-dlna --filter-device 'Nome do dispositivo'

Para mais opções, verifique a ajuda do aplicativo:

Comandos para usar no terminal

pulseaudio-dlna --help

Você também pode gostar: Como ativar o cancelamento de eco / ruído da entrada de microfone em seu desktop Linux (PulseAudio)

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.