Wednesday, February 22, 2012

Audio file sharing with Debian and mDNS

I thought this might be more hassle than it would be worth, but it wasn’t that bad. The system I run is Debian unstable, all necessary packages were available through the main repository.

Here’s the list of packages I used in making this work:
rhythmbox 0.9.3.1­1
sound­juicer 2.12.3­3 (not necessary for this, but I want to play audio cds)
libavahi­client3 0.6.9­8
libavahi­common­data 0.6.9­8
libavahi­compat­howl0 0.6.9­8
libavahi­compat­libdnssd1 0.6.9­8
libavahi­core4 0.6.9­8
libavahi­glib1 0.6.9­8
libavahi­qt3­1 0.6.9­8
mdns­scan 0.4­1
libnss­mdns 0.7­1

Don’t worry about trying to install each package individually, dependency resolution takes care of that.

What got me started:
http://www.kitenet.net/~joey/blog/entry/zeroconf_networking_in_debian.htm

Background
I wanted to build a box for home that could serve as my workstation and jukebox for the other computers in the house. Eventually, it’ll probably be my media center, but I need it to get through this quarter first, then it can play. Also, it may be useful for work as the World Languages Media Lab is always looking for ways to distribute audio files.

Set up
Rhythmbox and sound­juicer were installed with my Gnome desktop. Install libnss­mdns, then edit
/etc/nssswitch.conf:
hosts: files dns mdns
^^^^
Install the avahi libraries. I think I started by selecting the compat­howl library, but I’m not sure now.  Multi­tasking means being able to forget exactly what you were doing to multiple tasks. Anyway, once installed they don’t need any configuration.
iTunes runs on tcp 3689, so I changed my Bastille firewall configuration to allow tcp port 3689 and udp port 5353 (mDNSresponder). That pretty much did it.

Note: I wrote this some time ago and things have changed. iTunes 7 broke the DAAP protocol, so you can’t share with it and the packages listed above have all changed version. I’ll update it as soon as I can.

No comments:

Post a Comment