Streaming de audio

mar. 3, 2013·
Julio Batista Silva
Julio Batista Silva
· 2 min de lectura

Pulseaudio

Forma 1 - Variable PULSE_SERVER

  • En el servidor (equipo donde saldrá el sonido, IP 10.0.0.3)

    1. Instala paprefs

      julio@acer ~> sudo pacman -S paprefs
      
    2. Abre paprefs y, en Network Server, marca:

      • Enable network acess to local sound devices;
      • Allow other machines on the LAN to discover local sound devices;
      • Don't require authentication.
  • En el cliente (equipo con los archivos de audio, IP 10.0.0.2)

    Define la variable de entorno $PULSE_SERVER y ejecuta una música:

    julio@hp ~> export PULSE_SERVER=10.0.0.1
    julio@hp ~> mplayer musica.flac
    

Si todo salió bien, deberías estar escuchando la música en el servidor.

Forma 2 - MPD

Activa el acceso a PulseAudio del servidor por red usando paprefs o con:

julio@acer ~> pactl load-module module-native-protocol-tcp auth-anonymous=1

O, de forma más segura:

julio@acer ~> pactl load-module module-native-protocol-tcp auth-ip-acl="127.0.0.1;10.0.0.2"

Añade un nuevo output al archivo ~/.mpd/mpd.conf:

audio_output {
    type    "pulse"
    name    "Acer - Pulseaudio"
    server  "10.0.0.1"
    #sink   "remote_server_sink"
}

En el menú 8 de ncmpcpp puedes activar/desactivar este output.

RTP

PulseAudio solo hace multicast con RTP; eso terminó tirando abajo el Wi‑Fi de casa.

julio@acer ~> pactl load-module module-rtp-recv

Controlar MPD desde Android

MPDroid

Streaming con MPD

quality es para VBR (variable bitrate) y bitrate para CBR (constant bitrate).

MPD streaming http

En ~/.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
}

Abre un reproductor (puede ser un navegador) en http://10.0.0.2:8000 y dale play.

MPD FIFO + netcat + VLC

En ~/.config/mpd.conf:

audio_output {
    type            "fifo"
    name            "FIFO2"
    path            "/tmp/mpd.fifo"
    format          "44100:16:2"
}

En el servidor:

nc -u 10.0.0.2 8765 < /tmp/mpd.fifo

En el cliente:

nc -u -l 8765 | ~/Applications/VLC.app/Contents/MacOS/VLC --demux=rawaud --rawaud-channels 2 --rawaud-samplerate 44100 --audio-desync=250 -

Enlaces

Julio Batista Silva
Autores
Senior Cloud Developer
comments powered by Disqus