The (almost) perfect media center setup

As many people know, I just switched employer and moved out of the parental house. Yes, it’s time to pay my own bills now…. :-(

Today, I will be writing about my experience on how to build the perfect media center. Before I will start, I will describe my old setup. This way, you can see what it was and what it will become.

So, I’ve always had a media center at my place. My television is a Sony KDE something something, to be honest, I don’t remember. Thing is, it uses a protocol called DLNA. At my parents home (where I wasn’t the one paying the bills), I have a NAS with 10TB of storage. This server is permanently turned on. Therefor it was interesting to run a DLNA server. I used tvmobili to do this.

The DLNA server was also interesting because we have a second Sony television who’s also able to use the DLNA protocol.

When I moved to my own apartment, I had a few things that where very important for me:

  1. Low power consumption
  2. Since I’m renting a server with 2TB of storage, why would I want to have shitloads of storage at home?
  3. Low in noise
  4. Cheap in assembly

As you see, it’s not easy to create a media center like this. I’ve been working on it for the last month testing and checking why some scenarios failed.

The first thing that I tried was a DLNA server on my Desktop. This worked perfectly. Problem, my desktop is power hungry. I also wanted to move away from DLNA. It’s very nice when it works but it has it flaws, for example, you can’t really move forward in a movie and when things go wrong, they go horribly wrong. And last but not least, I would still need to do a lot of stuff manually and even buy extra storage over time.

A friend of mine had a raspberry pi, the perfect solution right? It’s low in power consumption, it’s passive cooled and very cheap, around 40 euro’s. And so the story begins.

At first I tried something very stupid ^^, I tried to install a DLNA server on it. The CPU literally died ;-) . I’ve got to admit that I was very inexperienced with the raspberry pi.

However, as I worked further and further on this project I discovered some interesting possibilities:

  1. raspbian
  2. raspbmc
  3. openelec
  4. arch for raspberry pi

These are distributions that are specifically designed for the raspberry pi. I started with raspbian, very lightweight and easy to install. It will also help you to configure the raspberry pi if you want to tweak/over clock it.

When I wanted to watch a movie in 720p the raspberry pi was very happy and everything went flawless. However, in this setup I have 2 problems. I want 1080p and I would still need extra local storage. My raspberry pi has an sd-card of 32GB, which for SD is big, but to store movies and series is rather small.

The next thing that I tried was to mount my remote server over sftp, I wanted to see if I could stream series and movies over my internet connection. The first tests went very good, I really thought that I found the perfect setup. However, I wanted more.

Before I continued my testing I decided to test some other distributions as well like the raspbmc and openelec. Both of these distributions run very good on the pi. However, when I was viewing movies I had some problems from time to time. As a matter of fact, 720 wasn’t possible from time to time. Weird I hear many of you think, I thought the raspberry pi was build to do video encoding? Well, that’s correct, and the video isn’t the problem. The audio, is however. The pi wasn’t able to handle the audio decoding (DTS etc) properly I think. I never found the real bottleneck. I tried lot’s of stuff, from downloading it to the sd-card to using an external disk.

The next test was the streaming over the internet which, as said before, worked fairly well in the beginning. However, I soon noticed that 20mbit isn’t enough for 720p or 1080p. My internet connection isn’t stable enough as well. This might change in the future. If all goes well I should be upgraded to 50mbit soon. Perhaps it will be possible then.

I tried to tweak and change settings to the pi everyday. I even thought of buying an external disk and setting up an rsync command. However, I couldn’t get the 1080p up and running.

It was clear to me that the raspberry pi wasn’t the way to go. (note: some co-workers of mine have the new version. They told me that everything is working perfect for them. So you might want to test it and see what it gives).

So, back to the begin, installing a DLNA server on my desktop, trying to stream (and cache) the movie and then serving it to the TV. I found out that I had the same problem as before, the internet just wasn’t fast enough in delivering the movie to my desktop.

So I continued my quest, I looked over to several options. Building a small media center PC, but this would increase the cost. Whatever I wanted, I needed to give up a my first requirements.

  1. I will probably need local storage again
  2. It will use more power then the pi (3,5 watt)
  3. It will cost more then the raspberry PI (40$ or so?)

So I started to look into a few alternatives, one of the alternatives that I found was the xtreamer sidewinger3. Something that I liked very much is the fact that it can run Android applications. This would mean that I would be able to install spotify. Yes, I’m a dedicated paying spotify user. I really love it. Besides the xtreamer sidewinger3 I also looked into the EMINENT EM7380. Both of these media servers are very cheap and easy to install.

Problems with the media center are the updates and customizability. You can’t do whatever you want on them. Also, they both cost around 140 euro + disk. If my internet ever becomes fast and stable enough they wont be able to integrate my plan.

So as I was back to basic I was thinking of several plans again, one of them was actually to reinstall my desktop and not use it as a desktop anymore. Then again, could I survive without desktop? I didn’t think so ;-) .

 

The solution (at least the one I expected) 

Ok, so this is where I’m now. I’m going to buy a new media server. Custom build. I will be using the following hardware:

  1. ASUS E45M1-M PRO, cost, 144,90 euro
  2. Kingston ValueRAM 2 GB DDR3-1333, 11,99 euro
  3. Western Digital WD20EARX, 99,90 euro
  4. Cooler Master Elite 330U 39,99 euro
  5. Sharkoon WPM500, 44,99 euro

*prices are based on the alternate.be website on 11/11/2012, they might change over time.

This makes a total of 341,77 or almost 10times the prices of the raspberry pi. However, in this setup I have more power, I have more customizability and I have local storage.

This is way more expensive then my first idea, thing is, I’m sure that this will work and that it will be able to run whatever I want.

I will probably install Debian as main OS. I will install X and XBMC on the server. It will autostart the XBMC on boot. I will configure the motherboard to automatically boot every night at 1 and to rsync all the content. Then it will automatically shutdown.

 

The actual solution

So as I was thinking of buying this hardware, I remembered one of my first conditions, it needed to be cheap. I just invested a lot of money on moving out, so budgets are tight right now. So this is what I ended up doing.

I wasn’t using my desktop anymore so I ended up using him. I hear many of you think, but gaming? Well I’m gaming on my television now. At first my desktop was running Windows 7 / dual boot Arch Linux. I plugged in the HDMI cable into the PC and the TV and everything was running perfect. Until I started a game ^^. It resized the screen on the television and god nows why he did that. Therefor I reinstalled my desktop to Windows 8. (Yeah… I need Windows to play games). Windows8 runs the games in 1920×1080 without any issues.

As mediacenter software I’m using xbmc. I really love this piece of software. It’s able to automatically download the subtitles from the serie that you’re currently watching. This is awesome! I would have preferred to install xbmc on Linux but dual-booting the system would create unnecessary overhead.

I can feel the disappointment in some of you. But the story isn’t over yet ;-) . As you might have noticed while reading this blogpost, I bought a raspberry pi. I’ve connected the raspberry pi to my desktop. So he’s responsible for powering it.

The raspberry pi runs a small arch linux distribution. He’s responsible for syncing the stuff with my remote server. He can power up and shutdown the dekstop on command. He uses the rsync command to synchronize.

I will do some more cool stuff in the next weeks with my raspberry pi. I will document those and write some tutorials about it.

The reason why it’s the almost perfect setup is because my desktop runs Windows8, the only reason is games. If game studios ever decide to create more games for Mac and Linux, I will change my system ^^.

I hope you enjoyed this story, if you have any ideas or comments feel free to give them.

Cheers!

4 comments

  1. Joe says:

    Raspberry Pi… I have been wanting to get a couple of raspberry pi’s. My mind go crazy with possibilities but implementing is the hard part…

    Reply
    • Yorkim Parmentier says:

      Yeah! You can really do a lot with them! The biggest advantage of them is the price. I have my PI currently installed as “VPN” server. It builds op a couple of site2site connections for me. He’s also responsible to sync my important data and backup it automatically.

      Reply
  2. [...] Today I installed my Raspberry Pi again with the Raspbmc operating system. As some of you might recall, I wanted to install the pi with this OS and use it as my media streamer. I ended up with a total different setup. If you like you can read all about it over here. [...]

    Reply
  3. hy says:

    cant get my mind around this..still trying to understand just plane old pc architecture…

    Reply

Leave a Reply