Re: esd



raster@redhat.com wrote:
> 
> On  2 Jan, Pedro Corte-Real scribbled:
> ->
> ->  I was wondering...
> ->
> ->  Is it possible to use esd to play audio from one computer to another. This
> ->  would be real cool because I could do things like hearing the cd's I play
> ->  in my portable with decent audio by using my pc's sound capabilities.
> 
> yup - esad handles this.
> 
> one example:
> 
> mpg123 -s file.mp3 | esdcat -s other.machine.name
> 
> the "other.machine.name" needs to be runing esd and you need permission
> to esd on that machine. this means the contents of ~/.esd_auth must be
> the same (ie just like ~/.Xauthroity) - this is the auth key (the user
> who ran esd gets an auth key and only those wiht the auth key
> canconnect to esd) you can do the equivalent of xhost + and - wiht
> esdctl unlock and lock.
> 
> but yes - its perfectly possible :)

Or: EXPORT ESPEAKER=other.machine.name ; mpg123 -s file.mp3 | esdcat
Or compile mpg123 with support for esd, and simply:  mpg123 file.mp3
Or...

> ->  For what I can observe esd already listens on a port so all I have to do
> ->  is make the aps looks for esd not only in the local machine but in my
> ->  network also.
> ->
> ->  Is this very hard to do?
> 
> nup. see above.

That's why it's there. =)

> ->  Would this eat up too much bandwidth?
> 
> 44.1Khz 16bit stereo will need about 170Kb/sec.

If that's too much bandwidth, you can play with mono, 8bit, and 
lower sample rates, too.

> ->  Would this cause security issues?
> 
> not if you share the auth key and not flagratly use "esdctl unlock"

If you use the --with-libwrap configure option, esd will check 
host.access and host.deny.  You can set restrictions in there, 
and "esd unlock" with as much security as any other program 
using libwrap.  

Speaking of security, anyone with too much time handy is 
encouraged to let me know if there are potential buffer 
overruns, DoS probelms, etc. in the code.  I believe I fixed 
a problem recently with incomplete protocol requests eating 
cpu/hanging esd, but extra eyes on these things never hurts.

> ->  I can find cool apliances for this like doing a small chat app that would
> ->  just connect to the listener's esd to play the sound.
> 
> alrady did this before in scripts :) works :)

you:  esdrec [-b -m -r 8000] | esdcat -s their.machine.name
them: esdrec [-b -m -r 8000] | esdcat -s your.machine.name

-b for 8 bit sound, -m for mono, -r 8000, to cut the sampling
rate to a manageable rate.  Add an ADPCM com/decom layer, (basic 
hook reserved, needs significant fleshing out) and you could 
probably do this over a modem, at least for speech.

> ->  Possibly we'd have to have a /etc/esd.access to state who can connect to
> ->  esd.

configure --with-libwrap, see above.

> ->  Am I still stable or is this I just wrote a major mind core dump? hehe


> --------------- Codito, ergo sum - "I code, therefore I am" --------------------
> raster@rasterman.com       /\___ /\ ___/||\___ ____/|/\___  raster@redhat.com
> Carsten Haitzler           | _ //__\\ __||_ __\\ ___|| _ /  Red Hat Advanced
> 218/21 Conner Drive        || // __ \\_ \ | |   \ _/_|| /   Development Labs
> Chapel Hill NC 27514 USA   ||\\\/  \//__/ |_|   /___/||\\   919 547 0012 ext 282
> +1 (919) 929 9443, 801 4392   For pure Enlightenment   http://www.rasterman.com/
> 
>               \|/ ____ \|/  For those of you unaware. This face here is in fact
>               "@'/ ,. \@"   a Linux Kernel Error Message.
>               /_| \__/ |_\
>                  \__U_/

Funny, I've never seen that message.  I guess just occurs
much less frequently than the Blue Screen Of Death...

-- ebm
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+
|  __                         a.k.a. Eric B. Mitchell |
|  |_) .  _  _|      _|  _     ericmit@ix.netcom.com  |
|  | \ ( (_ (_| (_| (_| (/_   www.netcom.com/~ericmit |
| How's My Programming?   Call:  1 - 800 - DEV - NULL |
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]