HDHomeRun and Java
I've had several DVRs over the last 5 years: a Panasonic DMR-E85H, a Windows Media Center PC with Linksys Media Center Extenders, and currently a Verizon FiOS HD DVR. While I liked their basic capabilities, I've always found that there were features I wanted to add, but the devices weren't (very) open to extension.
I was thus intrigued by an unusual device, the HDHomeRun from SiliconDust. It has two digital TV tuners, and forwards the selected video data stream(s) via Ethernet to an IP address and port. Each tuner has its own coax jack, and can be connected to either cable TV, or to a digital TV antenna (e.g. for over-the-air HDTV). The HDHomeRun could easily be a key component of a home brew DVR, and the price was low enough that I decided to buy one to experiment with.
The HDHomeRun comes with a C library and command-line program for controlling the HDHomeRun, but I prefer to write in Java, especially when it comes to multi-threaded software, which a DVR would definitely be. Fortunately, the library source is available, along with a document explaining quite about the process of interacting with the device.
This will be the first of several posts regarding the HDHomeRun and the Java library I created to interact with it. More soon...