DIY Media Center
As of 30 December, 2012, I'm up to 30 TB of main storage, spread over three RAID 5 drives. If you had told me a couple years ago that I would have that much storage on line, I would have laughed.
At the end of this article, I've included some trouble shooting tips. It seems that Time Warner Cable, with a Ceton InfiniTV and Windows Media Center is a little on the brittle side and subject to breakage.
As of 17 August, 2012, I have converted to a RAID 5 storage system, which comes with a couple warnings. I won't dwell on the previous version, except to briefly explain the changes. This is based on a build started in 2010.
Just to start everyone off on the same foot, I'm using the term “Media Center” to describe a computer used to capture, store, organize and playback various forms of media. Initially, the emphasis is on our personal video collection. But it is equally applicable to audio and literature (these are growth items for us).
The requirements for the build developed out of several problems.
At the time I started looking into this project, we were using VHS for time shifting, and the resulting playback was terrible on a HD display. The obvious solution was a DVR. But HD DVR were not common. We also had at least one time per week when we wanted to record three shows at once. And, while TIVO makes a good product, I just objected to paying a subscription fee
The next problem was the existing equipment stack. There was the cable box, the Blu-ray player, the region cracked DVD player, the Laser Disc player and the SVHS tape deck. This was taking up a lot of space, and most of the gear was standing idle most of the time.
Then there was the shear size of our collection. We had recently started getting Blu-rays, we already had a significant number of DVDs. Plus there is our Laser Disc collection from the pre-DVD era, and a selection of VHS tapes from before the Laser Discs. Storage space for that much media, and then finding something when you wanted it, or even knowing if we actually had a particular movie, was becoming an issue.
Finally, there was our DVD collection that wasn't encoded for Region 1. One of the things that we had discovered is that once you have an account for Amazon.com, you can log into Amazon.co.uk, Amazon.de, Amazon.jp, etc., your account information is still valid. If you know what you are looking for, you can order from sites where you can't read the language. The Amazon sites all work the same. So, we had been able to collect a fair number of disks that required a region free player.
The solution was a media center with a number of capabilities:
Simultaneously record multiple channels off cable.
Then there was a little mission creep.
One of the first issues was questioning the ability to play Blu-rays for other regions. The reason that had motivated us to buy out-of-region DVDs (they just were not available in Region 1), would inevitably lead us to buy Blu-rays that were from out of region.
We could just store the DVDs and lesser media on hard drives. However, we're were not in a hurry, at least not then, to store Blu-rays on the Media Center. We didn't have too many Blu-rays yet, so shelf storage isn't an issue. And they take up a lot hard drive space, which can be better used for older media. But eventually, it will happen. .
Well, as of August 2012, it has happened now. See below for the joys of large RAID drives.
At the top level, there are a couple decisions to be made for hardware and software. They actually simplify very quickly.
PC or Mac? Well, Apple hasn't pursued media play back strongly, at least not strongly enough to make it an obvious contender for this project. So a PC.
Intel or AMD? Your mileage may vary, but given a choice, I'll send my money to AMD. They provide a reasonable price performance ratio and it helps foster a little more competition in the market.
Linux or Windows? I'd love to build a Linux/Myth TV system. But Blu-rays are tied down with DRM (digital rights management) that Open Source isn't allowed to play with. The preferred video tuner card (more on this below) was set up for Windows 7. So, as much as I like to avoid sending any more money to Redmond than I absolutely have to, in this case I absolutely have to.
So, the objective is to build a PC, running Windows 7 Home Premium (or better), with a Blu-ray player, tuner, and a good supply of hard drive space.
Now, just for the record, I like Newegg as a source for parts. I've included links to Newegg's pages for the parts discussed. This will give you pricing and availability. Newegg also includes a link to the manufacturer's page on the product.
I'm not going to include instructions on how to build your own computer. That is covered on many other web sites.
Motherboard: ASUS M4A88TD-M/USB3
I've had good luck with ASUS motherboards, and this is an AMD AM3 socket board. Add in the fact that it has a built in graphics chips set, with HDMI output, and a lot of the requirements are met.
This is a Micro ATX board, so it can be packed into a smaller case, which is a good thing for this type of application. I mean really, do you want a full tower system next to your TV?
The six SATA 2 connectors support a system disk, a Blu-ray player/burner, and four data hard drives (up to 3 TB each). The data disks can be configured as a RAID 5 disk, and, considering the amount of time required to rip a full single disk, the backup is appreciated.
Update Note: Read this before you build!
After building the external RAID 5 sub-system and copying all of the files from the internal drives to the external box, I went to convert the internal drives to RAID 5. This is where I found that I had made a fundamental mistake. On this motherboard, there are six SATA ports, numbered 1 through 6. So, I plugged the system drive into port 1 and the Blu-ray drive into port 2. The data disks went into ports 3 through 6. Unfortunately, the RAID 5 hardware works on ports 1-4. So, I had to move the system disk to port 5 and the optical to port 6. Then Windows was completely lost, so I ended up having to rebuild the OS. Once rebuilt, all of the "Copy Once" video that we had recorded off of Time Warner Cable was inaccessible.
So, when you pick your system disk, think twice about which port you want it plugged into.
The only real limitation, and not a critical one to date, is the lack of an external SATA interface. But USB3 covers all my practical requirements. Under the trouble shooting section you will find comments on using USB for the external RAID enclosures. Installing the external SATA card, helps. But more on this later.
When you get everything together, and plug your HDMI cable into the back of you TV or the input for your audio system, you may find that you don't get any audio. I got lucky and it worked the first time for me.
Well, it stopped working the other week.
The fix was pretty simple. With HDMI set as the default audio output, somehow, things got twisted. By setting the analog output to the correct speaker configuration, I got sound back.
CPU: AMD Phenom II X3 720
Three cores and 2.8 GHz and 95 W. It does the job. There is enough compute power that the OS runs, the media streams and you can be web surfing on the side. This is probably over kill as is, but it does work. There is no need for a bleeding edge processor.
CPU Cooler: Scythe Big Shuriken SCBSK-1000 120mm CPU Cooler
You can use the stock cooler, but I was looking for something with a little more capacity while still being quiet. This works very well. It also has the virtue of being relatively light. I found a spec. that the AM3 socket and frame are rated for a cooler massing less than 450g. If you start looking, not many coolers are that light. Now, that doesn't mean that you can't use a heavier cooler. But every time you move your system, you risk damaging your motherboard.
Memory: Patriot 2GB 240-Pin DDR3 SDRAM DDR3 1333
Good price point at the time and it works. Two sticks for a total of 4 GB.
Case: Foxconn 436+ISO400 Black / Silver Steel MicroATX Mini Tower Computer Case 300W Power Supply
The case selection was based on a Micro ATX format and packing in as many disks as possible. It provides space for a system disk, a Blu-ray burner, card reader and four hard drives. The 300 W power supply seemed to be marginal, so I installed a bigger one (see below).
This case will also accept an additional fan in the front of the case for cooling the hard drives.
Over all, everything fits, but the main power connector to the motherboard is a very tight fit under one of the hard drives. But it does fit.
Auxiliary Fan: Scythe KAZE JYU SLIM SY1012SL12L 100mm Case Fan
This fan is normally considered very quiet. But its efficiency is its own enemy in this case. The front vent slots aren't very big on the case, so while the fan doesn't make much noise, the air that it is pulling in does. If you want the extra cooling, I suggest a fan with a lower flow for this case.
Power Supply: Antec BP550 Plus 550W
It does the job and does it quietly. And it has enough SATA power connectors.
System Disk: HITACHI Deskstar HD32000
Originally, we had a 500 GB system disk. But HD recording of cable video was eating it alive. So we moved up to 2 TB.
Data Disks: HITACHI Deskstar HD32000
2 TB at 7200 RPM. Started with two, but I'm up to four in the case in a RAID 5 configuration. So, 6 TB of storage and it is full.
Blu-ray Burner: PLEXTOR Black 12X BD-R
It plays, and, if needed, it burns. The Power DVD software that comes with the retail version is okay, but it has issues with hard disk files that represent a Blu-ray disk. Say you rip a DVD to hard disk, and save the DVD image in the directory My_DVD. If you point Power DVD at My_DVD, the program figures out that it is looking at a disk image and starts to play it. But this doesn't work with a Blu-ray image. There were further problems with trying to open a disk image from the database, but more on that later.
Card Reader: AFT XM-35U SILVER USB 2.0 Kiosk Card Reader
The AFT is color coded, so you can always find the right slot quickly. The only down side is a VERY bright blue LED on the front face (a bit of black tape helps).
Keyboard and mouse: Rosewill RKM-800RF 2.4 GHz Cordless Slim Keyboard and Mouse Combo
Slim, light, they work. And the USB receiver is almost invisible it is so small.
Wireless Interface: Linksys WUSB600N
USB 802.11n network interface. I would have preferred a hard wired interface, but the layout of the house is not conducive to running the wiring. When I find an internal card that plays well, I'll probably switch. But it isn't a major issue at this time.
Tuner: Ceton InfiniTV 4
This is a PCIe card that uses a tuner card available from your cable company. It serves all the same functions as a cable box and gives you four channels (a six channel card is also available) available simultaneously, either standard definition or HD. It works very well with this motherboard. However, it really didn't like the previous motherboard. This is main reason I changed boards from the previous version of this DIY.
Bar Code Reader: unitech MS180-1UG USB Barcode Scanner
This is very handy with the Collectorz database discussed under software.
Hard Disk Enclosure: Sans Digital TR5UT+B
Five drive bays, with 3 TB hard drives, running RAID 5 over USB3 for a effective total of 12 TB. What's not to like? I have five Seagate 3 TB Barracuda drives in the unit. I followed the instructions, mounted the drives, set the dip switches and reset the box. Went into the Win 7 admin tools and set up a single 12 TB drive. It was literally that simple. Though I have to admit, moving close to 10 TB of data off the existing drives was a bit time consuming
There is one minor "gotcha". When you reboot the system, the BIOS hangs if the RAID box is powered up. So turn it off, wait for Windows to start loading, then turn the box back on.
As a test, I installed the eSATA card that was provided with Sans Digital enclosure. The boot issue is resolved, though the boot does take a little longer to check the RAIDs.
Once all the hardware was assembled, and Windows 7 Home Premium installed, the time came for loading and checking out the software.
Installing the CyberLink Blu-ray Suite that came with the Plextor drive gave us basic HD play back capability. MS Windows Media Center was able to check for available channels (below channel 100) on our Time-Warner cable feed. So, the basic functionality came on line quickly and painlessly.
I haven't been able to find a way to crack the region coding on an internal DVD or Blu-ray player (though I haven't had to crack disks coming from the UK), so this has to be done by ripping the disk to a hard drive. I'm using a copy of DVDFab 8. This software can be used under a trial version, just to convince yourself it will do what you want it to do. While it is one package, it has separate keys for DVDs, Blu-rays and ripping to mobile apps.
DVDFab can rip a complete image of a disk, either DVD or Blu-ray, or just the main content to hard drive. So, you can have all the extras on the disk, or save some disk space, your choice. And along the way, you can tell it to skip all of the “unskipable” previews and advertising, FBI and Interpol warnings and go directly to the main menu. The end product is a directory with the same structure as the source disk, but without region coding or encryption. The directory can be used as if it were the original disk in the player. DVDFab has allowed us to rip our entire collection to hard drive.
Which brings us to the issue of keeping that many files organized. I did a little web surfing and found Collectorz.com. They have a variety of databases available. We are currently using Movie Collector for our video collection. The application supports using a UPC barcode reader to identify individual titles. Take a stack of media (Blu-ray, DVD, Laser Disc, or tape) and scan the barcodes. When you have the current stack scanned, you command the application to query Collectorz main database. Everything that it finds will be populated in your personal data base. The data includes cover art, cast and crew lists, release dates, plot summaries, etc. Not every piece of video in the world is included, nor is all of the data for any given movie/show. But the hit rate if very good and you can hand edit in the missing pieces if you want to. You also have the ability to pass your corrected entry back to the main database.
Collectorz also provides the ability to link, both locally and across the web. The external links tend to go to IMDB, Amazon.com and back to the Collectorz main database. The local link can be to the root file of one of the DVDs that you ripped using DVDFab, or the MPEG file that you made from a tape or Laser Disc. This allows you to open Movie Collector, find what you want to watch, click on the link, and the video player opens and starts playing that material. As a small bonus, if you are watching something and wonder where you've seen a particular actor before, you can pause the movie, and click on the IMDB link for that movie, and find out.
With Movie Collectorz version 8, they have added the ability to check the URL links for local files. When I moved all the movie files from the individual drives to the RAID drives, all of the links were broken. This new feature checks the links, lists the broken links, and allows you to use a "Manual" mode to redefine the correct path. In my case I was change from //TARDIS/Store1 to //TARDIS/Store_A. The database then updated the links and double checked that they were valid. You can quickly step through the database for all of your moved files this way.
But... There is always a “but.” Links have to go to a particular file, not a directory. For a DVD, you want to link to \VIDEO_TS\VIDEO_TS.IFO. For a Blu-ray the link is to \BDMV\MovieObject.bdmv or the \BDMV\index.bdmv. You can edit the tag that appears on the screen to make the links more readable. This is also where CyberLink runs into trouble.
Whether you agree or disagree, the Digital Millennium Copyright Act (DMCA) and the resulting DRM are reality. It appears, IANAL, that CyberLink, a US based company, doesn't want to run the risk of getting sued by litigation happy entertainment lawyers. Some of these lawyers apparently don't believe that fair use has any place in the world at this time. So, CyberLink will not read a Blu-ray directory from a hard drive. End of discussion.
Enter TotalMedia Theater 3 from ArcSoft. It does exactly what is needed. Set TotalMedia 3 as the default application for launching the .ifo and .bdmv file types. Find the desired video in Collectorz and click on the link. TotalMedia launches and plays what you asked for.
But life is still not perfect. You will notice that I specified TotalMedia Theater 3 (TMT3). The current release is TMT5 (TMT4 apparently never happened). At this time DO NOT get TMT5. ArcSoft removed the ability link directly to file types as described above. If you can't get a copy of TMT3, but find something else that works, let me know.
Which brings us around to using Windows Media Center. It works very well for the DVR functions. But, at least for our uses, it is useless for handling the database. Collectorz can export its database to Media Center, but the result is very tedious to navigate. We currently have 825 titles, on over 1726 disks (and we haven't started on the video tape yet). WMC just doesn't handle this well. Even if you do navigate to what you want, Media Center will end up launching TotalMedia (or whatever you have as your default application). So, we just slide through the database tree in Collectorz and pull up what we want.
Just to expand on what I am describing, below is a screen shot of the Collectorz interface.
In the left column, you have the primary genre types. In this case, I've selected “Science Fiction.” It should be noted that any given entry could have multiple categories, as you feel is appropriate, that it is listed under. So, in the case of Babylon 5, it can be found under “Action”, “Adventure”, “Drama” and “Science Fiction”.
Here, by selecting Babylon 5, we automatically see the first entry. Selecting that entry, and clicking on edit, opens the properties for this database entry.
But taking a small side trip, let's look at a how you actually fine tune the database entry. First, when you scan the bar code, you get whatever is in the main database at Collectorz. While that is usually enough, I like to fine tune a little. So here are the controls.
Under the “Personal” tab, you can include your own sub-categories. I've included a sub-category to group Babylon 5. This is how the subcategories are created under the broader heading of Science Fiction. There is a corresponding B5 subcategory under Action, Adventure, and Drama.
Finally, to create the link, the links tab is used. And this is where there is a “trick.”
You will note that for each of the disks in the set there is a link to the VIDEO_TS.IFO file.
Two things can make life more difficult than needed.
The first is that there is no naming convention for disks, even within a boxed set of disks, such as in this case for a season of B5. So, when you are ripping the disks, it helps if you apply some naming conventions for both the general directory and the individual disk.
In this case, “Store2” is my #3 data disk (I program, so I used zero based counting). On the disk, I have the directories "Video" and "Movies" to create two big piles when I want to find something manually. Then, under the general Babylon5 directory, I created five season directories, and a sixth directory for the made for TV movies. Then the individual disks were named in a consistent manner.
But, you ask, the “TARDIS”?
The system name for our media center is the “TARDIS,” because it is bigger on the inside than it is on the outside. Unfortunately, I couldn't find a blue case that I liked. Oh well. If you aren't a "Doctor Who" fan, you may be totally lost, on this reference, but it isn't important.
And at this point there is the trick. If you create a link in the database on the computer where the file is located, the link is purely local. If you tried to open the link from another computer on the network, the remote machine would try to follow the path locally. It doesn't work. The trick is to create a path that includes the system name, so that it is absolute on the network. By doing all of the database entries from a remote computer, and having the files in a shared directory, the video files become globally visible.
Anyone on our home network with Collectorz installed can remotely open and view files that are located on the media center.
Going back to the user interface, scrolling down to the bottom of the entry for B5 season 1, you see:
If you wanted to watch the episode “Chrysalis”, you notice that it is listed as being on “Disc 6”. So, click on “Disk6” at the bottom of the entry. TotalMedia will launch and you are ready to start watching.
Unfortunately, sometimes there is no joy. Then you start the trouble shooting.
The first issue is the RAID enclosures causing the system to lock up during boot up when using the USB interface. As mentioned above, the work around is to turn off the RAID enclosure(s) when booting and only turn them back on once Windows has started to load. The fix is to use the eSATA interface.
A more serious issue is Switched Digital Video, which my cable provider (Time Warner) has implemented. The objective of SDV is to pack 10 pounds of bandwidth into a 5 pound cable. Can't blame TW for wanting to maximize the use of their infrastructure, but their execution is the pits.
SDV dynamically switches some channels from one physical channel to another. The channel keeps the same virtual channel number, but you have to have a means to query the cable head to find out where your desire virtual channel is currently located. To do this, TW provided us with a small box, a tuner adapter, with both an USB and a cable interface. Ours was made by Motorola.
When Media Center asks the Ceton tuner for a channel, the turner queries the tuner adapter, which then gets the data from the cable head and provide the correct physical channel to the tuner software.
We now have every software engineer's worst nightmare, three vendor's and four chunks of hardware/firmware/software. When anything breaks, it is always the other guys fault until proven otherwise.
The first issue is the Motorola Tuner Adapter. I have been told by TW tech support that it has known firmware issues. These show up in the adapter locking up after a couple days without being power cycled. When this happens, all of the virtual channels are inaccessible. The work around is to periodically power cycle the box.
Then there are the serious lockups in Media Center. It may happen while it is starting up or while you are watching a show, but, for no apparent reason, Media Center simply stops working and stops responding. You can't close the application, nor can you minimize it. There are three repair procedures that will fix it. If you are lucky, #1 or #2 will work, #3 is tedious.
First, try unplugging the power to the Tuner Adapter, wait a few seconds, the plug it back in. Windows should make a sound when you unplug and replug the Adapter. If you don't hear the tone, proceed to #3. If Media Center resumes, you should be good to go.
Second, if Media Center is still hung, use CTRL-ALT-DEL to bring up the task manager. If it comes up, force Media Center to close. If the task manager does not come up, Media Center doesn't close, or the problem recurs immediately, go to #3.
Third, there is something in the state of the system that is preventing normal operation. As I commented before, it could be in any of four places and no one is taking the blame. So, we have to get the system back to a known good state.
Start by shutting the computer down. Give it a long count and restart it. It should be noted that the system may be hung badly enough that ordering shutdown is not enough, you may have to physically shut it down. Now do another shutdown, just to be sure that it is power cycling correctly.
Once it is back up, try power cycling the Adapter box. You should hear the two tones as Windows sees the USB link dropped and then restarted. If not, shutdown again.
While not required, it doesn't hurt to open the InfiniTV debug software to verify that everything is working.
As a side note, we started to have heat problems with our InfiniTV. The debug software was reporting that the card was at over 70 deg. C with a normal operating max of 65 C. We have since installed a PCI slot exhaust fan to put the hot air away from the InfiniTV Card (a Rosewill RFX-100B 90mm PCI Slot Case Cooler).
If all is well so far, open Windows Media Center. It may ask if you want to connect to the tuner card, select no. Now try playing live TV. If it works, you're done. If not, my drill is to repeat the process.