https://github.com/erikkaashoek/Comskip
It seems the tuning of the algorithm is complex though. There's a dedicated forum for it: http://www.kaashoek.com/comskip/viewforum.php?f=2&sid=effa4b...
I have both an OTA tuner and a CableCARD tuner. I don't really watch TV, but Comcast did the thing where it's cheaper to buy TV than to not, and I figured I'd rather have a CableCARD in a HDHomeRun box somewhere on my network instead of a set-top box in my living room.
Plex found my 120-odd cable channels, found all my broadcast channels, and it assembled a cohesive program guide with everything that I could conceivably watch with cover art and program descriptions and everything. I didn't have to register with any other services, or screw around with anything outside Plex itself. It just works™; took maybe 15 minutes to go from "Plex" to "Plex is recording stuff".
My favorite feature is something I hooked up yesterday -- automated commercial removal via a postprocessing script that invokes https://github.com/erikkaashoek/Comskip.
Net is that anyone in my household can say "I want to watch this show", Plex will record it, strip ads, and make it available on any device, and it wasn't even a pain to set up. I'm quite happy.