Here's a basic description of my setup, which sounds basically just like what you are looking to accomplish:
SageTV handles all PVR duties. It is installed on my main "server" (running in the basement man cave). It records to M:\Recordings\ and has that option described above enabled. The ONLY time I ever actually open SageTV is when I want to watch something live, which almost never happens (basically just when a buddy comes over and wants to watch some sports event).
I have the SageTV Web Server plugin installed, and use that to schedule any new recordings, etc.
JRiver MC 19 is also installed on that machine and running in Library Server mode. I've added M:\Recordings\ as an Auto-Import watched directory. Any new recordings are automatically picked up by MC and imported, usually within 1-10 minutes from when the recording finishes. Because of the way SageTV handles "seamless" recording, I have noticed that long-continuous strings of recordings with my HD-PVRs don't get imported until the whole "chain" of recordings has completed (so, if it records one show on HBO from 9-10pm, and then another from 10-11pm, and then a third from 11 - 11:30pm, none of them will show until 11:32pm or so).
Essentially, this is all that is needed. MC properly imports the files as they are recorded, marks them as [Media Sub Type] TV Show or Movie, parses the filenames (with that option enabled) to get the Season and Episode numbers, and then looks up the proper metadata for the recordings all automatically. The only times this fails are:
1. News programs, which often don't have good Season and Episode numbers available in SageTV. A good example of this is
The Daily Show with Jon Stewart. These import as TV Shows properly, but since they don't parse properly without season and episode numbers, they get imported by default as [Name] = "The Daily Show with Jon Stewart" or something similarly useless. You can solve these issues on a case-by-case basis by
adding Tag On Import rules specific to the show.
2. A simpler problem is when the Series Name provided by SageTV doesn't match the string needed to find a show in the TVDB. A good example of this might be "Star Trek TNG", by which you mean,
Star Trek: The Next Generation. This is simpler to solve because MC automatically ads a Series ID tag for any series you've looked up manually before, and then uses that key to look up future episodes of that particular show, instead of searching by the text in the [Series] tag. So, using that example, if you want to keep calling Star Trek episodes "Star Trek TNG", all you have to do is find ONE in your Library somewhere that is tagged well, then right-click and do the manual Get Movie and TV Info lookup. Change the search as needed to find the proper info for that show, select the TVDB result in the list, and hit apply. Now, any show where [Series] = "Star Trek TNG" will be automatically "mapped" to
TVDB Series ID 71470, and will work automatically in the future. If you don't like the way the series name looks as it comes in from SageTV, then you can use the Tag On Import rules to fix it however you'd like.
3. Episodes with oddball durations (oversized or super-short). The way MC's logic to decide if a video import is a TV Show or Movie works is basically based on length. If a recording is longer than 1 hour (the limit is actually something like 70 minutes, to account for buffers on both ends of a recording), it'll be classified as a Movie. If a recording is shorter than one hour, it'll come in as a TV Show, unless it is REALLY short, where it will probably come in as [Media Sub Type] = blank. The smarts are actually a bit smarter than that, so it rarely is an issue, but I do occasionally see a "season finale" come in tagged as a Movie. This is easiest to just fix as you go, but if it happens with a particular series regularly (as it would if Sherlock on the BBC ever comes back) then you could use Tag on Import rules to fix it, of course.