I spent most of the weekend working with the Windows Media Encoder SDK, to set up automatic video capturing from TV. A poor man's TiVo :-)

The encoder SDK can be used with C# which is pretty cool. It's quite easy to write a simple .NET application that operates a video capture card, such as the ViewCast Osprey 230 that I'm using.

Still having some problems though. I haven't found a way to detect the current aspect ratio (4:3 or 16:9) of Osprey's video input. It would be nice to change the capture resolution accordingly.

Also, I'm losing several frames when stopping the Encoder to switch to a new filename and starting encoding again. I wonder if it's possible to buffer the input while doing that..

Maybe it's possible to do this stuff directly with DirectShow, bypassing the Windows Media Encoder SDK entirely. I'd prefer to capture into DV AVI files anyway, and then encode the files to various output formats..