Windows Media Center can do this, and it has a pretty nice interface. Content can be streamed to other PCs, accessing the data on the main 'server'. Additionally, Xbox's can also be used to act as extenders as well.
Personally, I use SageTV. It's a discontinued product because Google bought...