Monday, February 18, 2013

How I chose to cut my cable - Part 6: XBMC vs. Windows Media Center

When this project was first conceptualized and my requirements of playing mkv's, recording OTA TV from an antenna, and streaming video from the internet (including Netflix), I repeatedly came across a community project called XBMC.  It even made Lifehacker's top five five most popular tips and guides.  Though in the primordial stages of my project, PVR support was not officially supported by XBMC version 11 "Eden", but could still be patched in.  By January 29th, version 12 "Frodo" was released with full PVR support.

For the streaming side of XBMC, there's plenty of video add-ons.  The official add-ons can be browsed here.  I also recommend Fusionblueccop, and the Advanced Launcher.  For me personally, I also added an unofficial BYU TV add on.  This gave me access to Hulu, Amazon, PBS, NASA, Vimeo, YouTube, BYU TV, all via remote control on my TV.  Bluecop has one called Free Cable, that accesses a lot of cable network websites, but the Hulu add on (also by Bluecop) gives you a similar access, but with 'limited commercial interruption'*.

The Advanced Launcher became a necessity because of my Netflix requirement.  I had Windows and Silverlight installed.  But XBMC hasn't had a supported Netflix add-on since version 10.  Version 11 wasn't quite polished for release, but could be made to work.  It's yet to be seen if the guy working that add on will support it for version 12.  From the looks of this though, it may have been orphaned.

With Advanced Launcher, I get around the not having a Netflix support inside of XBMC by using the Advanced Launcher to open an Internet Explorer window.  The only downside to this setup, is that once I launch Internet Explorer, I can no longer use the remote to browse Netflix, and must use my mouse and keyboad.  This is the case with any website I'd like to visit, that doesn't have a native add on.  It's cumbersome that way, but it works.

And I have to say, video playback is fantastic**.  Ripped blue rays and DVD's play back fine in XBMC and with the hardware I've chosen.  The music and picture library are equally functional.  In the end, XBMC gave me everything I wanted: a media center for all my media, DVR, and internet streaming.  I can't say enough good things about it.

Having purchased Windows 8 Professional during their promotional period, I also was able to get Windows Media Center as an add on for free.  So, I tried it out and compared it to XBMC.  It was equally easy to set up and comes in a very refined package.  Internet TV is easily accessible and customized (and includes BYU TV).  It has native Netflix support.  The TV portion was easier to set up than in XBMC, and the Electronic Program Guide is taken care of by Microsoft and partners.  The one drawback that was a deal breaker, was that I couldn't get it to play mkv files.  If WMC played mkv's, I probably would have used it.  But I really didn't feel like ripping my movies, and then converting them all to playable format.  It just takes twice as long.

While setting up the DVR portion of Windows Media Center was a lot easier than in XBMC, the setup for XBMC was still manageable, and deserves some detail.  So I'll cover that, and how to set up your antenna, in my next post.

*I actually found out later that you can eliminate having to watch commercials on Hulu by configuring the plugin to do so.  Even Better!

**As I've worked with it, I've discovered some playback issues.  I'll cover them in my follow up 'improvements to be made' post.  Update:  Since I haven't gotten around to writing more on this lately, I'll summarize it here:  When you configure XBMC's global resolution setting (1080P for example), it will try to output all video at that format.  So the issue I've run into is when watching 720P video recorded from over the air signals.  720P comes in at 60 frames per second.  While 1080i is 60 frames per second, but interlaced (so only half a frame changes at a time).  A 1080P blue ray is 24 frames per second (but the Hobbit will be 48...I wonder how that will work...?)  1080i and 1080P blue-ray playback is excellent with the hardware I have.  However, XBMC tries to take that 720P 60 fps video and up-convert it to 1080 resolution while maintaining the 60 frames per second (i.e make it 1080p at 60 fps).  This is where the integrated video card on this board has a hard time keeping up, and ends up dropping a few frames.  A higher powered graphics card can fix this, but was outside my imposed constraints for this project.  Changing the global resolution to 720P also fixes this, but it's annoying to go back and forth manually.  I've seen a number suggestions in the XBMC forums, to have the output resolution automatically change to the video format.  We'll see if that happens.

Friday, February 15, 2013

How I chose to cut my cable - Part 5: The Operating System

Once I had all the hardware in hand, it was time to start getting the software in place.  And the first order of business was the operating system.

As alluded to in the previous post, I would attempt to use Linux first.  Which turned out exactly the same as every other time I tried to use Linux:  I couldn't get hardware acceleration for the video processor.

Fundamentally, the DN2800MT is a Cedar Trail board and implements a GMA 3650 graphics processor.  (For a more detailed review of the board, you can read this.)  And being a relatively new architecture, there were early reports at the time of its release that it didn't quite play well with Linux.  Take this example.  The video processor also strays from Intel convention in that, in upgrading the capabilities from the standard Intel integrated graphics processor to full HD support, its design was actually sourced to another manufacturer:  PowerVR.  As a result, the Linux drivers remain proprietary.

This in and of itself was not the problem.  There's excellent documentation of how to implement the Linux drivers in Ubuntu (also here).   And what's more, when I had installed Ubuntu 12.4, it automatically told me that I had the option of installing the proprietary drivers for my board's graphics processor.  Apparently, the Ubuntu community worked through it, and the install should work, right?

Despite the seeming simplicity of getting it to work, I was never able to get the graphics hardware acceleration to function properly.  And with Windows 8 Pro running $39.99, I ended up opting for that in the end and brought the total spent at this point up to $555.  It was worth the low price and my time to get it up and running without much fuss.  With the operating system out of the way, I commenced installing the necessary software to make the box do what I want it to do.  And having picked Windows, I had a couple of options available to me along those lines that I will discuss in the next post.

Thursday, February 14, 2013

How I chose to cut my cable - Part 4: Hardware Selection

Home built media center pc's (commonly seen around the internet as Home Theater PC's, or HTPC's) are quite common topics, and you can build one pretty easily.  Here's the choices I made that got me mine.

My first choice was I wanted it to stream Netflix.  I'm not even sure why this was a requirement other than, if we were going to cut the cable, it seemed logical to supplement OTA TV with a $8 a month streaming service for shows and movies.  Kudos for Netflix for being ubiquitous enough that I'd consider them first without even having a subscription.  But that influenced the decisions I made quite a bit.

If you want to stream Netflix via a PC, you are limiting what you can do (but probably not more than simply having to to choose another streaming service, like Amazon).  But if watching Netflix on your HTPC is important, it pretty much means you will be installing Microsoft Silverlight.  And at the time I was going through all this, you could only install Silverlight on a Windows or Mac system.  Sorry Linux.  So, with Windows 8 released at an introductory low price of $39.99 and no interest in buying a Mac, I started down the road of building an x86 Windows machine.

So on Black Friday 2012 I started my build by purchasing a Hauppauge WinTV-HVR-2250 on sale for $75 to give me the DVR function I wanted on my HTPC.

Then (a few days later ironically) I found this in my RSS feeds:  Netflix finally comes to ubuntu in the form of an unofficial desktop app. All of a sudden, a Linux machine was a possibility again.  But, either way (Linux or Windows) I was already committed to an x86 machine.  This just allowed me to experiment with the OS:  I'd try Linux first, and if that didn't work, I would try Windows next (hopefully by the time the introductory Windows 8 pricing ended - so by the end of January 2013.)  Either way, I still had to find the right hardware for the job I had envisioned for it, and had a deadline that I had to meet if I wanted to save some money.

It was during this build that I realized the truthfulness in what Steve Jobs (at least I think it was him) was once accredited with saying:  people don't know what they want, they have to be told what they want.  It's true, and I think he took a lot of flack for saying that. But it's still true.  I don't know how many times someone will call me up and ask "I'm thinking about buying a [insert make and model] computer.  Is that a good one?"  To which I always ask, "What do you intend on using it for?"  Do you want to play a graphically intensive game on three monitors, then no.  Do you want to browse the internet and check your Facebook and email, then it's more than you really need.  People more often than not don't know what they want.  That's what makes the iPad so dang successful.  For people that just want to browse the internet, it's enough.  It's a form that meets it's function quite well.  I admit it.  But computers as they get smaller and smaller will be more and more tailored to a specific function, and it's form will follow.

As was the case with my build.  I needed 1080p video support (we planned on getting a new HD TV for Christmas) and as much hardware video support I could get.  I wanted low power, low heat, and low noise.  I wanted as small a form factor as I could get.  (The Roku inspired these points.)  And I needed plenty of storage for my DVD collection that I was in the process of converting to mkv's.  And it needed to have a PCIe 1x slot for my tv tuner card.  Luckily, I had fell in love with a system months prior in my search for a low powered NAS.  I went back to www.mini-box.com, and to my surprise they had a new Intel board perfect for my needs:  Mini-Box M350 Intel DN2800MT. So I picked it up with a shield bracket and PCIe 1x riser (and shipping) for $180.53.

All that was left was memory and storage, then I could start dealing with the software.  The memory wasn't an issue.  I had upgraded my netbook memory from 2GB to 4 when I bought it, so I've had 2GB of laptop memory laying around with nothing to do.  So as soon as I got my mini-box, it had a home.  And 2GB is plenty for what this little system would be doing most of the time.  To put a price on it however, I spent $27.90 for the memory: the cost of the 4 GB of memory I put in my netbook.  If you were pricing 2GB of laptop memory for this board nowadays, it'd probably be around $20.  For storage, I picked up a Samsung 320 GB Hard drive for $40 and a Western Digital Passport 2TB for $150.

I'll note here that I had originally bought the external hard drive to use with the Roku.  I ended up re-purposing it at this point because it was unclear if I could fit a second hard drive and the TV tuner card in the mini-box computer.  Now that I settled on the mini-box and have it in hand, I probably would have bought an extra HDD bracket for the Mini-Box case and an internal 2TB drive.  It would have cost me $40 more, but the box fits two hard drives and the tuner with no problems and would be in a cleaner package behind my TV.  I would have probably got a case fan for $4 too.  I'll follow up on these points and others in a future 'improvements to be made' post.

I also needed to pick up a USB keyboard for this project (I'm actually quite embarrassed to admit that I haven't had a USB keyboard until now...), and thinking there might be a possibility of using it from the couch, I bought a Logitech K400r (it's wireless and has a mouse touch pad built in) from Walmart for $30.  The USB dongle/range extender hides quite well in the front "hidden USB" port of the M350 case from Mini-Box, which frees up the rear ports for other things.  This brings the total spent at this point to about $515.  What was I saying earlier about not wanting to spend $500 on a Tivo?  And I still didn't have an operating system.  That will be discussed in my next post.

Wednesday, February 13, 2013

How I chose to cut my cable - Part 3: Decision Matrix

In searching for the perfect solution, I came across this great resource.  It let me filter a wide field of competitors and narrow it down based on my requirements.

There were none.

A Boxee Box came close.  However, you couldn't customize the streaming experience like you could on a Roku.  It came with a fixed set of popular streaming services (Netflix, Vudu, YouTube) but that was it.  Furthermore, the Boxee box had undergone a revision between the publishing of that matrix and when I was looking for a box to replace my cable TV service.  The new boxee touts itself as the first cloud DVR (for a $9.99 a month fee in limited areas - not available where I live).  Essentially, instead of recording your over-the-air (OTA from here on out) on a local hard drive, you upload it to a boxee server.  I suppose on the plus side you don't have to ever worry about running out of space.  And you could watch your shows from anywhere.  However, while I have a screaming download speed, my upload is S-L-O-W.  How long would it take to upload a 5 gigabyte 1 hour HD program at 1 Mb/s?  And I really didn't want to bump into my ISP data limit and get charged again for my DVR habit.  It just didn't seem worth it to me when a one time cost of $50 for a local hard drive would suffice.

The other option was a Tivo.  But that was quickly ruled out due to 3 factors:  1) to avoid the subscription service you can buy one for $500.  It was more than I wanted to spend.  2)  It has limited customization of the streaming experience, and 3)  I can't put my own movies (mkv's) on the thing and play them back.  But you could easily combine a Roku and a Tivo to accomplish my goals.  In fact, in polling some friends of mine, one of them highly recommended a Tivo combined with a Roku.  I suppose that could have got us what we wanted...but again, I wanted to avoid any subscriptions, and $600 seemed like quite a bit to drop.

I soon realized I'd have to do something else to get what I wanted.  But it involved building my own system.

How I chose to cut my cable - Part 2: The Roku 2 XS

My first choice was the Roku 2 XS.  It lets me stream everything that I wanted in my list.  In addition, the XS version has a USB port that you can plug in an external hard drive and it will play MKV files.  Over the air television broadcasts, we would have just hooked up our TV directly to an antenna.  So the only compromise would be the DVR function.

And the Roku 2 XS sells for anywhere from $75 to $99.  ($75 was the price I had found on the Roku site for a refurbished Roku 2 XS, but it seems that deal is no longer available.  But you can find used ones on ebay as well.)

In fact, I had bought one off of ebay to try it out.  And honestly, I was pretty impressed with the little box.  (I still am, actually.)  There's an amazing amount of content available.  Unfortunately, at the time when I ordered it we only had a 10 year old analog TV.  Which normally wouldn't be an issue as it comes with the standard analog RCA video out.  However, on the one I ordered 2nd hand on ebay, the jack on the back of the Roku was shot, and it would only work if the cable was partially inserted.  And I didn't have a TV with an HDMI input.  So I was obliged to send it back.

But from what I could tell from the brief time I had it was that it's a neat little box.

Even more impressive (and eventually frustrating) was what they were able to cram in that little box.  All I can do is point you to this article to see for yourself.  There's just not much there, but the thing can stream Netflix in HD (more on that later too).

But after I sent it back, I started wondering if there was a way to have all that functionality, but somehow incorporate a DVR into the equation, and I held off getting a Roku.  During that time, I started observing my wife's television viewing habits.  It was at this time, that I realized the real value of the DVR function in our home was during prime-time television:  usually we were too occupied getting our kids ready for bed to watch TV.  But as soon as our kids were in bed, we'd watch the show we recorded an hour ago. And skip the commercials.  I also queried my wife on what shows she liked to watch.  For the most part, we could get quite a few of her favorite shows from an antenna and broadcast television.  And what we couldn't get that way, we have since been able to find online.

It was settled then.  I still needed a better solution than just a Roku (despite being a close competitor.)  The hunt continues in the next post.

Tuesday, February 12, 2013

How I chose to cut my cable - Part 1

I had been reading quite a bit about people cutting their cable and the concept greatly appealed to me.  I had become increasingly aware that I was paying quite a bit of money for TV.  And I started wondering why?  Why must I pay $90 a month for 200 channels the majority of which I never watch?  When I have spare time, I found myself watching less and less TV, and instead working on my various projects (computer or otherwise), playing video games, or simply reading a good book.  What was I doing throwing all this money away for something I wasn't using?

Most of it was my family.  My wife enjoys television.  When she gets a break, her preferred form of entertainment is to enjoy some television.  And for my kids, it's admittedly nice to put on a show every once and a while to occupy them so either my wife or myself would be free to get done what we couldn't with kids  hounding us or getting under our feet.

So I provided that to my family.

But as time went on, things changed, and the more I read about cable cutting, the more I realized we could still accomplish these basic ends, without much effort.  And I'd get to build a computer as well.  I'm always up for that.

When I first started seriously considering the idea of cancelling our cable, I was trying to figure out exactly what I wanted to still do.  I came up with the following:

1) It must stream internet television, including BYU TV, Youtube, Hulu, Amazon, and Netflix.
2) It must receive over the air television transmissions
3) It must record over the air television transmissions (DVR function)
4) It must play mkv file formats

To meet these design criteria, I first explored off the shelf options which I'll discuss the pros and cons of each in my next post.