Playing AAC/M4A in XMMS under Debian Sarge
So I don't forget how I did this: I've been listening to my ipod shuffle on my
Debian Sarge box at work by plugging it into the usb place¹, then creating
an m3u list and playing the mp3's from XMMS:
#!/bin/bash
mount /mnt/ipod
find /mnt/ipod/iPod_Control/Music -name "*.mp3" > ~/music/lists/ipod.m3u
I was getting annoyed at not being able to play m4a's that I'd ripped with iTunes on my iBook. To get them playing in XMMS, I just had to do the following:
Find a prebuilt version of the XMMS m4a plugin. In particular, the files libmp4.so and libfaad.so.
Install libmp4.so into ~/xmms/Plugins
Install libfaad.so into /usr/local/lib
In /usr/local/lib, ln -s libfaad.so libfaad.so.0
Add /usr/local/lib to /etc/ld.so.conf
Run 'sudo /sbin/ldconfig'
Note: Those last two steps aren't necessary if XMMS doesn't complain about
being unable to find libfaad.so.0.
Now, quit and relaunch XMMS, and voila, I have an AAC player. Finally, I tweaked that last line of my ipod list script so it includes mp3 files and m4a files in the generated list, like so:
find /mnt/ipod/iPod_Control/Music -name "*.m[p4][3a]" > ~/music/lists/ipod.m3u
...and I'm off to the races!
¹How I actually got the box to recognize my ipod and mount it correctly as a fat32 "drive" is a subject all its own. Maybe I'll cover that in a future post.
Thanks! This seems to work so far with XMMS v1.2.10 on Gentoo Linux (i686 PC). I would have preferred a solution using Portage, but the required USE flags seem to have been removed from the required ebuilds, so I thought I would try your solution.
Here is what I did:
~/ $ wget
http://fondriest.frederic.free.fr/fichiers/lib{mp4,faad}.so
~/ $ sudo mv libmp4.so /usr/lib/xmms/Input/
~/ $ sudo chmod +x /usr/lib/xmms/Input/libmp4.so
~/ $ chmod +x libfaad.so
~/ $ sudo mv libfaad.so /usr/local/lib/
~/ $ cd /usr/local/lib/
/usr/local/lib/ $ sudo ln -s libfaad.so libfaad.so.0
The first non-comment line of my /etc/ld.so.conf was already "/usr/local/lib", so I skipped your last two steps (5 and 6).
I then restarted XMMS and checked that libmp4.so was enabled in the Input Plug-ins. It was. I added an album (directory) of .m4a files that had been ripped and encoded with iTunes on Windows. It works! :)
PS: Your find(1) invocation will also find e.g. .mpa and .m43 files. A regex will match only .mp3 and .m4a files:
$ find /path/ -iregex '.*\.\(mp3\|m4a\)$'
Comments