Saturday, November 17, 2012

OpenHome with BubbleUPnP

with UPnP device we get a wireless freedom of streaming content on many devices. With many more devices being DLNA certified there are many more kind of devices hitting the market right from mobile phones to smartTVs. In DIYers world one good thing about non proprietary software stack means more freedom. Many years DIY home media servers have been rely on open source software to stream content through out the house. Having to setup this by yourself is a mighty task given the complexity of h/w supporting the s/w, for such kind there is always a non-cheap option [ set up a small apple shop at home iphone+ipad+appleTV] for the rest we have mediatomb, minidlna to name a few.

In my case, I already had minidlna running on my pogoplug seamlessly streaming video and audio to my devices. The missing functionality of a good home media system is the media renderer. [ note: this is different from client, a dlna client can be used to browse media server content and play them, while a control point+renderer allows you to play the media on a different device] Consider a simple use case, you are watching a movie in the living room and you decide to watch it in your bedroom TV, in this case, using a control point you can transfer the movie to continue on the TV in your bedroom.

There is no single open source software which has such great feature [ LinuxMCE was an interesting project, is another interesting project ]. But can be achived with combination of tools. For my setup I chose BubbleUPnP.

BubbleUPnP server has the support for creating an Openhome playlist which is exactly what I was looking for. This feature helps in setting up the device specific playlist. This means you can have different playlist per renderer, your living room TV can have a different playlist and your bedroom hifi system can have a different playlist, and since the playlist is not savedin the control point, you can switch from one rendere to another with outloosing the playlist.

Seting up BubbleUPnP is documented for windows and Linux systems. For my setup i wanted to run BubbleUPnP server on my pogoplug , rendere on my HP touchpad and control point on my Nexus one

Media server:
pogoplug running minidlna+BubbleUPnPserver
HP touchpad BubbleUPnP rendere
Nexus one  - BubbleUPnP rendere+controlpoint

BubbleUPnP server setup:
Getting BubbleUPnP server up on pogoplug is a bit tricky. It needs java to be installed first. Download the latest java runtime for embedded linux from oracle site, untar the file

tar zvxf ejre-1_6_0_34-fcs-b04-linux-arm-sflt-eabi-headless-19_jul_2012.tar.gz
mkkdir /usr/local/java
mv ejre-1_6_0_34 /usr/local/java

Next download the server package from here
and run the script
if Java installation is successful, you must now see that the server is running and You can configure the server and renderer from the webinterface on http://:5850

For further configuration related help can be found here