I've read, researched, priced, re-evaluated, and tested various ideas and designs for a Media Center System... and I'm not even close to starting to put things together because I recently moved and I have to rebuild my movie theater room again in the new house.
My criteria for my media center system is as follows:
And finally, I'm a software developer and I like to re-invent the wheel over and over again when it comes to this type of stuff. It's a flaw of mine.
Gives me a sense of accomplishment. So please try to remember that I want to try and write the UI and management system software and would prefer to not use software like MythTV. Just humor me. 
So this is what I've come up with so far (trying to keep initial costs low, but flexibility for future upgrades high), but there are still many questions.
There will be at least 3 servers:
A satellite system would be as follows:
The entire system is connected via hard wire over 10/100 network (or 10/100/1000 if the main switch is ever upgraded) or over wireless (satellites only). Servers (rack-mount) will be hard-wired together and located in the basement in a separate room so the noise they produce will not be an issue. I can also easily add more fileservers to the network once one has it's fill of HDs.
The software on the satellite systems will connect to the media system management server which would provide information about the media library, TV programs, etc... ie MythTV Backend. ISO files (the DVD/CD images) would be mounted on the satellite system over the network when the user was playing a movie/cd. Straight MPEGs (if by chance I did have any) would be streamed.
Now my questions:
Will this setup even work? DVDs play at about 1350 kB/s (kilobytes/second). That is too much for a 10Mb (megabit/second) network to stream over, but what about 100Mb? How about over the wireless where the theoretical 11Mb/54Mb speed is rarely obtained?
Should the satellite system have hardware MPEG decoding for playback? They (the satellite systems) do very little so I can't think that having hardware would be that useful since the CPU would then just be idle.
Anything else I missed?
Feedback/Comments are encouraged!
My criteria for my media center system is as follows:
- Must be able to burn DVDs (in ISO format) to a hard drive and play them.
- Must be able to burn CDs to a hard drive and play them
- Media must be backedup/redundant. While I have the originals, I don't want to re-rip everything all over again
- Must be able to record shows, but not necessarily HD.
- All destination points of the media center system must have aestetically pleasing equipment (satellite systems).
And finally, I'm a software developer and I like to re-invent the wheel over and over again when it comes to this type of stuff. It's a flaw of mine.
So this is what I've come up with so far (trying to keep initial costs low, but flexibility for future upgrades high), but there are still many questions.
There will be at least 3 servers:
- At least 1 linux file server dedicated to storing the media. Using content from LinuxFromScratch.org, I can build my own distro with just file sharing capabilities. No X-server... No web browsing (although networking is needed)... Just base kernel, software raid (RAID-5), networking modules, and some file sharing daemon (probably Samba, but not necessary because satellites will be Linux based). Will also have DVD, CD iso generation (no burning needed).
- 1 linux based TV recorder. The purpose of this server is to simply record TV shows and place them on the file server. Why not include this in server 1? TV recording takes more processing power than what I want to toss into the file server initially. Also, as the file server gets full, that would limit the number of slots open for other tuner cards if I wanted to record multiple shows.
- Media System management server. This is a linux based server that simple keeps track of where all the media content is. Think of this as the MythTV backend minus the tuner card. It's a simple DB server with a simple network protocol that provides information from the satellites to the servers. This is the only server that should be visible to all other systems on the network.
A satellite system would be as follows:
- Small-form case running a mid-level processor and decent memory.
- DVD player for local playing.
- OS would be Linux based running off a CompactFlash memory card connect via the CompactFlash to IDE adapter. I do know of the life of about 100,000 write/erases on CompactFlash. Since the satellite does very little writing to file (outside of swap), CompactFlash life should not be an issue.
- A small 1GB or less, but quite, HD would also be in the system for swap space.
- 10/100/1000 ethernet adapter
- TV out via HDMI, DVI, or Component.
- Audio out via digital or coaxial
- 802.11 wireless b or g
The entire system is connected via hard wire over 10/100 network (or 10/100/1000 if the main switch is ever upgraded) or over wireless (satellites only). Servers (rack-mount) will be hard-wired together and located in the basement in a separate room so the noise they produce will not be an issue. I can also easily add more fileservers to the network once one has it's fill of HDs.
The software on the satellite systems will connect to the media system management server which would provide information about the media library, TV programs, etc... ie MythTV Backend. ISO files (the DVD/CD images) would be mounted on the satellite system over the network when the user was playing a movie/cd. Straight MPEGs (if by chance I did have any) would be streamed.
Now my questions:
Will this setup even work? DVDs play at about 1350 kB/s (kilobytes/second). That is too much for a 10Mb (megabit/second) network to stream over, but what about 100Mb? How about over the wireless where the theoretical 11Mb/54Mb speed is rarely obtained?
Should the satellite system have hardware MPEG decoding for playback? They (the satellite systems) do very little so I can't think that having hardware would be that useful since the CPU would then just be idle.
Anything else I missed?
Feedback/Comments are encouraged!