iPVR: Intelligent PVR

I'm currently working on a project that aims to create intelligent agents. The first instantiation will be an intelligent PVR. PVR stands for Personal Video Recorder. PVR's (like TIVO) are like VCRs, in that they are used to record television programs. They are different in that they use digital media instead of VHS tapes to store what is recorded. That allows them to do a whole bunch of cool stuff, like Control live TV -- pause, rewind, slow-mo, and instant replay.

I'm still researching exactly how I'm going to implement this (it is a research project!), so there will be some frequent updates to this web page. My current plan is as follow:

  1. Create a PVR software
  2. Get programming information from an Internet source
  3. Store user viewing/recording history in database
  4. Continuously analyze the information in the database to suggest television programs to the user
I'm currently working on item 1.

March 10, 2004: I solved the problem mentioned below. After much, much annoying time spent trying to figure out why Virtual VCR wouldn’t record sound, I finally got it: the wrong line was selected from the audio card. I had “CD Audio” selected, but it should have been “Line in”. What was confusing was that the preview audio was working. That made me think that all the basic settings were right, and that only the "capture" part of the graph was wrong. So now, I can capture audio and video with both Virtual VCR and the DirectX 9 Sample "Amcap".
Today's new problem: since I want to implement my iPVR software in C#, I decided to use the DirectX.Capture library available at The Code Project. I still can't capture the audio with that library. Annoyingly enough, the DirectShow graph for the test program that comes with the library is exactly the same as that of AmCap; AmCap works, not the test program that comes with the library. Anyone got any hints?

March 7, 2004: I'm currently stuck on a small issue: I am unable to use existing programs (like virtual VCR and amcap) to capture sound. Video is captured fine. Both sound and video play fine in preview mode; it's just capturing to a file that doesn't work. Furthermore, the software that came with the card captures sound just fine. Unfortunately, that software doesn't export its directShow graph, so I can't spy on it with graphedit. I'm using an ATI All-In-Wonder Radeon 9600 card on Windows XP.

Here are some screen captures of some relevant graphs. I have almost no experience with DirectShow, so I would appreciate any hints on how to solve this problem.

The image below shows the DirectShow graph for virtual vcr when previewing only. That works fine - both the audio and the video.

The image below shows the DirectShow graph for virtual vcr when capturing to a file (and previewing). The video is captured fine, but not the audio. In the preview which is showing at the same time, both the audio and the video work fine.

The image below shows the DirectShow graph for amcap when capturing to a file (and previewing). The video is captured fine, but not the audio. In the preview which is showing at the same time, both the audio and the video work fine.

If you can help me with the above problem or have any other comments, please do email me!