Redirecting audio to a remote host using esddsp

There are situations where you might want to redirect some audio you're playing on your local computer to another computer's speakers, potentially in a different room, or even anywhere on the Internet.

One of many possibilities to do that is to use the Enlightened Sound Daemon (EsoundD, or esd). It ships with a program called esddsp (apt-get install esound-clients) which can redirect various audio sources.

First, you have to start the esd daemon on a console on the remote host (the one which should output the audio on some speaker, for example 192.168.0.xxx) e.g. like this:

  $ esd -public -nobeeps -tcp

You can do this as regular user (no need to be root) if you have the proper permissions. You also need to allow connections on port 16001 in your firewall settings. Then you can redirect audio to that daemon from another computer. In this example I'm redirecting some music using various players:

  $ esddsp -s 192.168.0.xxx:16001 mpg321 -o esd foo.mp3
  $ esddsp -s 192.168.0.xxx:16001 mplayer -ao esd foo.mp3
  $ esddsp -s 192.168.0.xxx:16001 ogg123 -d esd foo.ogg

This also works fine for videos, in which case you can redirect the audio (but not video):

  $ esddsp -s 192.168.0.xxx:16001 mplayer -ao esd foo.mp4

For the video player Miro, I've recently documented this in the Debian package's README.Debian file. Basically you have to edit ~/.xine/config and enable audio.driver:esd there, then start Miro with

  $ esddsp -s 192.168.0.xxx:16001 miro

Audio will be emitted on the remote host, video remains on your local PC.

Some programs may also support esd natively, in which case esddsp is not required, e.g.

  $ ogg123 -d esd -o host:192.168.0.14:16001 foo.ogg

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

works for me!

I was recently asking how to send audio from my linux box to my XO. this works!
Hopefully I can figure out the PA if possible.
thanks!

ESD is dead, long live PulseAudio

AFAIK ESD's development has ceased some time ago and it lacks many useful features PulseAudio has. For example PA offers Avahi service discovery, which means I can select available sink without knowing IP addresses. It can also act as ALSA sink, so there is no need to reconfigure all apps using this sound system, emulate ESD (GStreamer and Xine have PA output plugins anyway) and does other fancy-shmancy stuff that can be useful. Basically PA is much more feature rich than ESD and a mature project. I am using it at home and it works great.

ESD is mostly dead upstream, use pulseaudio

If you want to use a somewhat still supported solution for this, pulseaudio is a drop-in replacement for ESD. It has better multiple audio management, you can change the volume independently on each sink/input, and of course you can move audio on a LAN. Of course, if you are on stable, pulseaudio might be in a worse shape (but I think even etch contained a good pulseaudio, compared to esd). And several distributions now use pulseaudio exclusively instead of esd.

Sincerly,
Jean-Christophe Dubacq (no specific investment in pulseaudio)