Sunday, April 6, 2014

Streaming XBMC

Introduction

  I thought I would go through my current Media Center setup since it has changed over the past few months.  I originally had a server setup in the basement with one streamer I built for upstairs.  Now, with another TV in the household I have upped the streamers and went through a few options.


Streamer Choices

  
  First, I would like to go through the choices I looked at for streamers, and the reason behind why I picked what I did.  So let's start off with one of my favorite little computer!

Raspberry Pi

  
  Yes, the Raspberry Pi is such a cool little gadget.  I say gadget because you can transform it into just about anything.  I recently used it in my briefcade project, and I knew that it also had development within the XBMC area.  To get a better understanding of the capability of the Pi as a streamer, you need to dive into your software options.  I currently know of three.



Xbian
    I have used Xbian very little.  I know the tagline for this software is “XBMC on Raspberry Pi, the bleeding edge”  and it shows.  The software will be with the most up to date nightlies, atleast in my usage, and that comes with it's own pros and cons.  I am not able to comment much further on Xbian because I have not used it too much, suffice to say what I did use of it, I was impressed.  Faster menus than I was used to with the Pi and seamless play back.  I would think that heavy usage would turn up some bugs, etc. but for what I used, it was great.



Openelec
    I love the idea and concept of Openelec so much.  This is a branch of XBMC built from the ground up using a kernel of Linux.  What you get as an end user is, in my opinion, the very epitome of XBMC as a Media Center.  Just about all of the configuration is handled within XBMC, the speed and fluidity of usage is phenomenal.  Setup and usage is fast, quick, and painless, and that is what I love about it so much.  If you have an "older" PC, running XP or something similar, you will get SO MUCH more mileage out of using Openelec instead of applying an OS and running XBMC on top of that.  Having said that I did run into two issues when using Openelec:  
   1) Further customization to bring my Media Streamer to what I wanted could not be fulfilled.  I specifically was looking for Hibernation and Wake On Lan capabilities that I could not get Openelec to do.  I am not sure if it is possible, but when I asked on the forum I was greeted with a stern, no way.
  2) Certain video files would not play within Openelec.  I had a few video files that were ripped the same as all my other files, but for some reason it would only play audio within Openelec.  After searching around, I found some configuration settings within Raspberry Pi Config.txt (file created within Raspberry Pi to configure what the device will do, etc.) to overclock and handle this issue.  As a result, my Openelec Pi started to lock up and freeze.  I couldn't have that so I switch to the third option.



Raspbmc
    The rock solid Raspbmc is my go to for the Raspberry Pi.  Setup takes a little time and the menu movement is sluggish when dealing with a large amount of media/artwork/metadata, etc.  The upside to this is a more rock solid media streamer that I have had no issues with playing media over, once so ever.  I make the trade for speed to have a more solid player, and the Raspbmc configuration within XBMC (accessed via My Programs) allows for safe overclocking which can help with menu navigation.

Accessories
    One reason the Raspberry Pi gets so much love is the price point (around $45 shipped) but there are some caveats to the price.  The Raspberry Pi does not come with everything you need to get started right out of the box, unless you buy a starter kit, which generally go above the cost of just the board.  You will need a SD Card to load the OS for the Pi, and if you are looking for Wireless capabilities you will need to purchase a capable Wifi dongle.  A remote might also need to be purchased depending on your needs, but the Raspberry Pi does use HDMI CEC, meaning you can control your Pi with your TV Remote.  These controls are basic, but they will get the job done for base use, i.e. menu navigation and playing.  
   If you are looking for a remote I would hesitate to suggest the  RII K25 2.4Ghz Wireless Air Mouse Keyboard & Infrared Remote Control.  I will go further into this when I explain my setup, but it is an advanced remote that gets the job done with a few caveats.  


OUYA



  Ouya, the little gaming computer that could.  The OUYA was originally a kick starter campaign that held the title of fastest successful kick starter.  The OUYA is an Android based micro PC that comes with one gaming controller, power supply, and HDMI cable.  If you are good to navigate the menus via a gaming controller, than the $99 price tag is all you have to worry about, else you will need to look into the what remotes work with the OUYA, etc.  I used the RII K25 2.4Ghz Wireless Air Mouse Keyboard & Infrared Remote Control and it worked surprisingly well with OUYA.
  My main gripe with the OUYA seems a lack of support and foresight, and I am not speaking on the games.  There seems to be about one or two people supporting an actual OUYA XBMC, and everyone else is side loading, installing software not through the OUYA store, the Gotham builds for the machine.  The issue with this is, the OUYA gets some quirks, i.e. crashes, when trying and use the machine as a media streamer.  After around a month of constant restarts, and buffering issues, I gave up and went back to the Pi.  
  Side note, the Wifi in the OUYA is Atrocious!  Do not think for a second you can use this machine to stream media without a hard line, it is not even worth it.  I heard new units had a better Wifi module installed, but there is no way to tell a newer unit from an older one.  My advice, do not rely on the Wifi to stream anything, you will just be left heartbroken.


Build your own




  

HTPC

 I went the build your own PC route for a streamer, when I was not able to get what I wanted from the first two options.  What I had laid out was this.  I want an all in one box, that can handle playing all my media in a timely manner, display all the eye candy for a somewhat intensive skin(user interface design for XBMC), play all disc based media (DVD and Blu Ray), handle TV streams coming from the server, and hide behind my TV.
  To accomplish this, I built my own PC with the Gigabyte AMD E-350D APU AMD A45 FCH Mini ITX DDR3 1333 Motherboard/CPU Combo GA-E350N.  This motherboard came with an APU processor that I had read would handle BluRay playback.  This was the smallest form factor for Mobo I could get for my price range.  Below I have listed out the rest of my build.

Mobo + ProcessorGigabyte AMD E-350D APU AMD A45 FCH Mini ITX DDR3 1333 Motherboard/CPU Combo GA-E350N
Ram:Corsair XMS3 4GB (2x2GB) DDR3 1333 MHz (PC3 10666)
BluRay Player: Asus Black 12X BD-ROM 16X DVD-ROM 48X CD-ROM SATA Internal Blu-Ray Drive
Case:In-Win 200-Watt Mini-ITX Case, Black BP655.200BL
OS: Win 7 Home
Remote: Tivo (Premiere)

In total to complete the build was around $450, and the machine is still chugging along.  The build was around a year ago so the hardware is holding up nicely so far.  I installed Win 7, but a free linux install can also be used for a build your own, to not increase cost.  The main reason I used Win 7 was to handle TV streams and Bluray play back.  

In summary, my two streaming units are 1 Raspberry Pi and 1 home built PC.  I am happy with each as a streamer and the entire infrastructure/design in general.  Below is my quick summary/round up for Cost, Pros, and Cons of each option.

Round Up 

Money $:
Raspberry Pi: Around $45 Shipped (additional $4.50 or so for codec usage)
      SD Card (8 Gig) $6 on Amazon
      Wifi Dongle (Edimax on Amazon) $9.99
OUYA: $99 + Tax (if applicable)
Build Your Own $450 +

Pros:
Raspberry Pi: Small, Cheap, gets the job done, can hide behind your TV and use the USB port as power
OUYA: Fast, mostly an all in one package, also play some android games for "free"
Build your own: Limitless possibilities just hindered by your pocketbook, any OS of your choice to use, Fast as you want it to be.

Cons:
Raspberry Pi: Slow menu, somewhat hidden fees, 
OUYA: Little support, crashes like crazy, wifi is unusable
Build Your Own: Cost prohibitive, can be loud, larger than micro pc options

Next time:
  In my next post I will go into my current setup with the Raspberry Pi and self built HTPC streamers.  My main server setup has not changed, but I will touch on the hibernation and wake up I use for the setup.  

Thanks for reading, until next time...