Streaming FLAC from Linux to a PlayStation 3

The digital home is in an anarchic phase right now. The general public has woken up to the idea of a home music server, and I’m seeing this widely discussed in all sorts of forums, but there are several competing standards and plenty of things that don’t quite work. Getting a seamless and satisfactory experience everywhere including desktop computers, portable devices and in the living room can still be a challenge.

For myself I’ve experimented with a number of setups, including Apple iTunes, Microsoft Windows Media Center, and Logitech SqueezeCenter. My interest is mainly in music rather than video; and I’ve settled for the moment on a Linux server running Ubuntu and SqueezeCenter, with CDs ripped to FLAC. I like FLAC because it is open source and lossless, which I hope means I won’t ever have to rip the CDs again; unlike lossy formats FLAC can be converted to other file types if necessary without compromise.

SqueezeCenter works great with Logitech’s Squeezebox, as you’d expect. The Squeezebox goes anywhere in the house, plugs into a hi-fi, and lets you select music either with a remote, or using a web UI on any device with a web browser, or using Logitech’s Duet smart remote. But a Squeezebox is expensive: what if you want access to the music server in more than one room? Well, you can play music from SqueezeCenter on any PC that can play an MP3 stream, but it is a bit fiddly. What about using a games console like a PlayStation 3 or Xbox 360?

This has been a spare-time project for me for some time. There are actually a zillion ways to stream music to a PS3 or Xbox 360, and some of them actually work. SqueezeCenter isn’t one of them; but there is no problem using other servers which access the same files. My own choices are somewhat limited, as I want something that runs on Linux and works with FLAC. Neither PS3 or Xbox plays FLAC natively, so the server has to transcode on the fly to a format the console can play.

My first stop was Fuppes, a strong project that in theory does exactly what I need. Fuppes is a DLNA server, which is the nearest thing to an agreed standard in this area, though not supported by Apple (why not?). I believe Fuppes would be fine if I stored music as MP3, but the transcoding aspect seems problematic. It used to mostly work on the PS3, but after a Sony firmware update I got nothing but “unsupported data” messages, and I never got it working on the 360, despite playing with many different builds and configuration options.

This weekend I tried Mediatomb instead, another Linux DLNA server with transcoding support. It was the usual Linux circus. I prefer to use standard packages where possible, and I noticed that Mediatomb has an official package for Ubuntu 8.04 “Hardy Heron”. My server was on 7.10 “Gutsy Gibbon”, so this seemed a good reason to upgrade. Did the upgrade easily enough, then installed Mediatomb. It took an age to index my FLAC files, following which I went to the PS3 and tried it. No go; “Unsupported data”.

Then I looked at this thread.  This informed me that the PS3 needs a big endian PCM stream; and further, that the version in the Ubuntu repository does not work. So I removed it; downloaded the source with Subversion; compiled and installed; made the suggested configuration changes; and lo, it all works.

The good news is that performance is great, both in sound quality and in the speed of browsing the server. It is more responsive than a Windows Media Center from the PS3. The bad news is that the UI on the PS3 is basic. There is no search facility, you have to scroll to find what you want. Another annoyance is that you cannot search for one song while playing another; as soon as you go back to searching, the music stops. Third gripe (maybe the fault of Mediatomb): everything is case-sensitive, so unless your tagging is perfect you might have several entries for the same artist. Still, it’s a big advance on Fuppes and nothing working at all.

6 thoughts on “Streaming FLAC from Linux to a PlayStation 3”

  1. Sounds complicated, I think I’ll stick to good old XBMC, its very cheap and plays almost everything.

  2. Sadly, where you limited yourself to the FLAC audio is where your pain pretty much was self-induced. Not very many clients can handle FLAC audio for streaming purposes.

    If memory serves me correctly, Tversity for Windows XP also can handle FLAC files after some codecs are installed. But it is still a tad buggy.

    I would like you to know that you can search for another song while playing another by simply hitting the PS button on your PS3 controller. You should be able to use XMB navigation to look for your next song.

    If you ever feel like tinkering with other streaming software, I have some tutorials available @ http://blog.hillbillyhardware.net and just click on the PS3 tab up top.

  3. @Nate

    Thanks for the tip about searching, I’ll try it.

    It actually isn’t too painful now it is working; seems very reliable.

    Tim

  4. Nate – I feel your pain, and I’m just trying to stream from Windows.

    I’m glad you found a decent solution, although the holy grail for me is the ability to browse music from the -computer-, so my PS3 just acts like long RCA cables from my PCs sound card to my home theater system.

    This because, as you mentioned, browsing music on the ps3 is garbage.

  5. @Kenan

    There is a solution albeit very painful and takes relative much time to setup.

    PS3 allows for the installation of other os’es if you install a linux distribution wich support Pulseaudio(virtual audio device, it’s supposed to work with windows) and/or vlc(allows for tv and radio streams). I personally stream from linux to ps3/linux using pulseaudio it works great it even gives me te ability to multicast my audio stream to different computers. But I am pretty sure that’s not what you want. But it is a solution

Comments are closed.