No servidor (computador onde sairá o som, ip 10.0.0.3)
Instale o paprefs
julio@acer ~> sudo pacman -S paprefs
Abra o paprefs
e, em Network Server
, marque:
Enable network acess to local sound devices
;Allow other machines on the LAN to discover local sound devices
;Don't require authentication
.No cliente (computador onde estão os arquivos de audio, ip 10.0.0.2)
Defina a variável de ambiente $PULSE_SERVER
e execute uma música:
julio@hp ~> export PULSE_SERVER=10.0.0.1
julio@hp ~> mplayer musica.flac
Se tudo deu certo, você deve estar ouvindo a música no computador servidor.
Ative o acesso ao pulseaudio do servidor pela rede usando o paprefs
ou com o
seguinte comando:
julio@acer ~> pactl load-module module-native-protocol-tcp auth-anonymous=1
Ou, de forma mais segura:
julio@acer ~> pactl load-module module-native-protocol-tcp auth-ip-acl="127.0.0.1;10.0.0.2"
Adicione um novo output ao arquivo ~/.mpd/mpd.conf
:
audio_output {
type "pulse"
name "Acer - Pulseaudio"
server "10.0.0.1"
#sink "remote_server_sink"
}
No menu 8 do ncmpcpp
você pode ativar/desativar este output.
O PulseAudio só faz multicast com RTP, isso acabou derrubando o wifi de casa. julio@acer ~> pactl load-module module-rtp-recv
quality
é para VBR (variable bitrate) e bitrate para CBR (constant bitrate)
Em ~/.config/mpd.conf:
audio_output {
type "httpd"
name "My HTTP Stream"
encoder "vorbis" # optional, vorbis or lame
port "8000"
bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
bitrate "128" # do not define if quality is defined
format "44100:16:1"
max_clients "0" # optional 0=no limit
}
Basta abrir um player (pode ser um browser) em http://10.0.0.2:8000 e dar play.
Em ~/.config/mpd.conf:
audio_output {
type "fifo"
name "FIFO2"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
No servidor:
$ nc -u 10.0.0.2 8765 < /tmp/mpd.fifo
No cliente:
$ nc -u -l 8765 | ~/Applications/VLC.app/Contents/MacOS/VLC --demux=rawaud --rawaud-channels 2 --rawaud-samplerate 44100 --audio-desync=250 -