I love Apple!

Ummm, well with all the security problems at a little company in Redmond, I’ve been singing the praises of the apple infrastructure here at Dave’s House. But life has not been without it’s problems. Thanks to a little known protocol, a proprietary one implemented by Apple, I now have the most efficient music sharing around…

It all started with Samba, and this old 15GB disk that used to be my windows boot disk, that consequently had most of my MP3’s on it. I used to share that vfat filesystem under linux with samba.
iTunes used it as my library. The database of music was local, but the actual files were on the network. This really is a much better way to do things, plus it clears the way for things like movie serving and stuff.
I’m not trying to do file sharing here, I want a local media server for my subnet. There are problems wiht using samba.
1) inconvenient. It’s difficult to have multiple libraries, one on the local iBook disk, and another central library. setting up samba as your library makes it difficult to change that back, iTunes has to re-read your database and stuff.
2) it’s a resource hog. Samba and the samba client take some resources while in use, I think that I was only going to get at the most 3 streams from a 128MB PIII with a 100Mb/s backbone, thats pathetic, streaming takes only disk IO, and network, not CPU and memory. But Samba uses both of those too much - I probably could have tuned this, but hey…
3) Network dependence. Hey now you’re dependent on just one more thing!

I went looking around for alternatives. Shoutcast, Icecast, Real audio… I dont want to set up a radio station, I want to share my library of music…

iTunes now has this neat Rendezvous based music sharing function in it. Lo and Behold, that is what I am using. I found a Linux implementation of this. It uses the freely available Apple Rendezvous code, and then a daemon that handles the DAAP (Digital Audio Access Protocol).

I think of Rendezvous as like BEEP, its a platform of network protocols on top of which many widgets can be built. Rendezvous is very cool stuff.

Anyway, I wanted to give the link to these tools. The daapd server is available here

When I was using Samba, CPU use was at about 20%, and I’d consume a large amount of memory, just handling each stremed file. So this would not scale for me on the machine I wanted to deploy on.

daapd, once it has built a cache of the files it’s serving, it consumes almost no CPU. I almost never see it in a ‘top’ display. And disk access, well it’s very reasonable.

One caveat though - do not use a fat32 partition for your mp3 store. daapd uses the inode numbers of the firs block of song files as unique identifiers for each song. So, before I switched the filesystem to ext3, I was getting duplicates of songs in my listing in iTunes.

The developers on the project are really good guys, with two days of debugging we had the problem identified.

Anyway, Cheers! If you have a Mac and you want to do this too, use the software above.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*