This is an area I've been looking into, and frustrated with, for several years
First, the best terminology (imho) is to call your server in the basement a "backend", and your Raspberry Pi's connected to the TV's "frontends". Many people put the backend and frontend in a single machine - I think this is a mistake, but lots of people are happy with that setup. It sounds like you are keeping them separate.
This is just my opinion, but MythTV is the best backend available. I tried TVHeadend years ago, and it just wasn't very good - it's possible things have improved drastically since then. The backend is where your content is captured, it's job is to:
- acquire television programming schedule - not always easy
- record shows you've asked it to for later playback (DVR). [MythTV also removes commercials!]
- Allow for passing through the "Live feed" to the frontend for real time viewing
So far, everything sounds great. However, there's about a dozen "gotcha's" hiding in this. First, where is your content originating? If it's Over-the-Air HDTV (ATSC/DVB) with an antenna, you generally have no problems. If it's analog cable or digital Clear QAM (from the cable company), also not much of an issue. If it's encrypted QAM, you're going to have some problems with Linux as a backend. If it's cablecard, then Linux is not really an option - and depending on your cable provider Windows MCE might suck also. Using Dish/DirecTV is problematic also due to the proprietary set top boxes - but can be done using a video capture card and a IR blaster.
The next problem is what device to use to capture your content.
You can use a video capture card to basically re-encode everything. This works, but quality isn't always great - and controlling the set-top-box isn't always reliable with an IR blaster. Some STB's offer serial/USB ports for controlling them, but those are rare.
Some STB's from cable companies actually have firewire ports on them for streaming video out of... and some of those actually work
Most don't.
You could use a CableCARD pcie device in your backend. The problem being the content protection flags used by CableCARD. On Linux, most content won't work - on Windows MCE you're at the mercy of your cable provider.
You could use a QAM card in the backend to get cable content. This will give you whatever ClearQAM your cable provider supplies - usually local channels. If they're real jerks (Time Warner), they'll make these the SD versions of the channels instead of HD.
You could use an HDTV antenna connected to a tuner in your backend (ATSC in USA, DVB in Europe). This works great, but requires a good antenna setup. I've never seen an indoor antenna work well without re-positioning for each channel. I use this setup with a HD HomeRun, and it's pretty good. It required mounting an antenna on the roof and fishing a lot of cable through my walls and crawlspace.
In summary, there's no great solution yet. Several workable ones, but nothing that really makes me happy. The cable companies and content owners have gone to great lengths to take control away from the consumers. As usual, the most convenient way to watch broadcast television is to pirate it