NASDVR

History

Back in the SDTV days I had a great DVR setup. I used an old full size ATX Pentium with a 500GB hard drive running the MythTV backend located in my basement. I used MythWeb for scheduling and managing recordings from my desktop and laptop PC. For the front end, I used 2 Hauppague MediaMVP devices running mvpmc to watch recorded programs on my family room and bedroom televisions. I liked the MediaMVP because it was cheap, small and silent. It was a great setup and very reliable.

Recently I wanted to setup a network file server that could hold all our pictures, music and documents that could be accessible from any computer in the house. Initially I was just going to buy a 1TB hard drive and put it in the MythTV backend machine and fire-up SAMBA. However, I came across a great deal on this Buffalo 2TB NAS that was hard to turn down. So I purchased it and that became the network file server. It worked great.

Enter HDTV. My backend MythTV server had two Hauppauge PVR-350's for video capture. These devices only work with NTSC signals. So I started researching options. My first thought was to use two HD to SD coverters, setup IR blasters and run the signals into the PVR-350's for capture. Then I came across Silicon Dust's HDHomeRun. This is exactly what I needed. It captures the HD signal and makes the results available to clients on the network. MythTV had build in support for the HDHomeRun so it was a no brainer. I ditched the PVR-350's, setup the HDHomeRun and everything on the backend was up and running.

The next problem was the MediaMVPs. They can't play HD!! I tried to use ffmpeg to transcode the HD to SD so I could watch the recordings still using the MediaMVP. My old ATX computer was way too slow to handle this task effectively. More research. I came across the Western Digital WDTV. It was a device just as small as the MediaMVP, cheap and silent. The WDTV can play files served up by uPNP servers. The Myth backend provides a uPNP server. So with the new setup of the HDHomeRun and the WDTV boxes, I was back up and running. I continued to use MythWeb for scheduling and managing recordings.

After 5 years of non-stop performance, my old ATX box died. I think it was a some kind of power surge issue. Now I was faced with replacing that box. During this time of discovery, I started studying the Buffalo NAS a bit more. I never realized. But the Buffalo NAS was a full blown linux box that had built in support for running a web server and a mysql server. After obtaining root access to the box, I also learned that it had perl support and seemed to be some derivitave of Debian. This got me thinking.

I downloaded an ARM cross-compiler to my desktop Linux box and was able to successfully compile the HDHomeRun client application, hdhomerun_config. Sure enough, I was able to record directly from the HDHomeRun to the Buffalo NAS without any problems. This is all I needed to get interested in starting this project.

Requirements

- Schedules Direct account to get program listings
- Buffalo LS-WXL running mysql, perl, lighttpd and twonkey (all included)
- HDHomeRun
- Root access to the Buffalo NAS
- NASDVR Perl Application to do scheduling and manage recordings
- Cross-compiled hdhomerun_config and make
- Several perl CPAN packages

Install

Download and Install

Features

ListingsList all programs for a day, filter listings by start and stop time, filter listings by station, queue program for recording, mark a program as a favorite.
FavoritesNASDVR will record all episodes of a program on a the desired station.
SearchYou can search program titles. From the results you can mark a program for recording or add to your favorites.
QueueShows the order up upcoming recordings. Shows the active recordings and the HDHomeRun tuner being used.
RecordedLists the recorded programs. Allows you to delete recorded programs.
ConfigureSet the NASDVR configuration items.

Help Out

Please join the sourceforge project. The setup works just fine for me. However, the documentation, install instructions, Web GUI can all use improvements.

Screen Shots

Listings

Favorites

Search

Queue

Recorded

Tuners

Configure

Buffalo Media Server

Buffalo Web Server

Buffalo MySQL Server