User:Thedaver

From MythTV Official Wiki
Revision as of 13:22, 13 July 2009 by Thedaver (talk | contribs) (My Network and machines (before))

Jump to: navigation, search

I'm building my first MythTV solution right now. For the benefit of interested readers, I'll try to chronicle my adventure. Apologies in advance for a long-winded writing style, I'll try to edit for efficiency once I get initial thoughts committed.

Before I started

What I wanted and what I considered

I wanted to have a "whole house" multimedia distribution system. For me, that meant having music, stored video, DVD playback and DVR all available to every endpoint (frontend) in the house.

I also didn't want to interfere with my general use of the wired or wireless network for internet access.

I strongly considered both MythTV and LinuxMCE. LinuxMCE is an extremely slick solution that provides home automation, media management, home security and integrated telephony. After some research here, two major sticking points came up against my decision for LMCE: 1) It's got a slow development cycle which creates some hardware adoption penalties, and 2) it's so powerful (and complex) that it's like cracking an egg with a hammer. Rightfully, the LMCE community is quick to suggest trading down to MythTV or similar solutions where the user really only wants media distribution. I appreciate their honesty, though I miss some of the embedded glitz and extra functionality around media distribution that LMCE has inside.

MythTV won the day because: 1) open source, 2) linux-based, 3) relatively rapid adoption of hardware support (via underlying Ubuntu), and 4) fit-for-(my)-purpose media distribution. Windows MCE wasn't even close, irrespective of cost. And, frankly, I didn't go too far in evaluating other FOSS MCE solutions since my time spent understanding LMCE revealed that MythTV is a core player and it's functions were what I wanted.

My prior experience with Linux & Mythtv

I consider myself at least a super user skill level on a variety of linux distributions. I'm able to maintain my linux servers and desktops via command line. I can compile code, write some decent PHP and Perl, get what I need done in Bash, and I can understand hardware compatibility lists. I figure that puts me slightly better than average (only slightly) in the general linux skills base.

My point here is that I'm really quite comfortable in linux as a user and for general system administration. I don't code in c/c++ and I haven't recompiled a kernel in quite some time since the distributions (like Ubuntu) have started doing a better job of building their kernels with appropriate support for modules/built in file system support, etc.

I will say that I've never worked with the XFS or JFS file systems before and I noted that those are preferred partition format types for media volumes under MythTV - and rightfully so. I'm going to have the most new ground to cover there if the partition types require any meaningful maintenance - which I don't believe they require.

What I know I don't know

So sometimes in life, if you know what you don't know then you're on your way to wisdom. I assume some ancient philosopher spat that out a long time ago - with a lot more style...

Anyhow, my biggest experience/knowledge gaps going into this project are in the following areas

  1. Remotes for Linux, LIRC, IR, and IR blasting (I plan to keep my backends and tuners in the basement utility area, this should be interesting...)
  2. HDMI television hookups and configuration (shouldn't be a big deal, but I haven't bought anything that uses it yet)
  3. The Hauppauge PVR boards
  4. Digital cable (I'm a Comcast analog subscriber)
  5. Silicondust_HDHomeRun IP-based HD Receiver (my only HD-ready flat-panel in the Den has QAM tuning so it picks up the basic and broadcast HD signals off of the analog cable; thus I'm not sure if I'll need this thing)
  6. Satellite TV (never had my own, watched plenty of other peoples')
  7. Using RS232 to have MythTV frontends control the TV and stereo for a proper home theater experience.
  8. PXE and net-booting. I understand the concepts clearly, but I've never had occasion to use it.

I suppose in many regards, I'm a technical neanderthal by many standards in the MythTV community. I still have tube televisions, I only have one HD-ready LCD tv. But that's the fun of this project. It's going to give me an excuse/reason to take a BIG leap forward in technology.

My Network and machines (before)

Before MythTV home network diagram

One of my main problems with LinuxMCE from a network architecture point of view was that LMCE is very centric to the home network design. It forces you to put LMCE immediately "behind" your internet gateway and all other network devices must operate from behind the LCME backend. This is nice from the standpoint that it has an integrated firewall, proxy, content proxy, etc. at that tier, but it's a real tough message when you've already built a home network to your liking. The choice against LMCE for me and why I moved my project to MythTV was because I didn't have to rework my home network layout and manage new firewall risks. (In fairness, there are some compromises that LinuxMCE could have accommodated, but I got the impression from their forums that any network design changes from their default model would increase the level of difficulty in dealing with any issues I faced concerning talking to their Frontends or any backend media servers/mounts.)

The PC shown with a Static IP is a Ubuntu 8.04 desktop/server hybrid without any awareness of MythTV. It's got some scheduled tasks for backups and it provides a little place to play on linux. I may decide to give it some Myth Frontend awareness at some point, but this all sits in an unattractive place in the basement, so I'm not going to watch media from here.

The laptop is a DHCP enabled Windows XP machine that's used to browse the Internet. Technically I should indicate that TiVo is also a wireless client, but, hey, TiVo would be replaced by MythTV soon!

An important note is that I've been getting close to implementing Dan's Guardian or another content proxy on the linux desktop/server to protect my kids who use the laptop. Haven't gotten there yet, but that's a design goal that I want to include in the MythTV effort.

What I want at the end of the project

I'm hoping that at the end of this project, I'll have many good things to speak of.

Overall solution

From an overall solution perspective, I want to have a highly serviceable and fully integrated home media solution. It should be able to:

  1. Perform scheduled DVR recording from any tuner I choose to provide it
  2. Stream the same content to multiple frontends simultaneously (think Super Bowl!)
  3. Stream different content to different frontends simultaneously (music, live TV, DVR playback, DVD from NAS playback) without a hitch
  4. Allow any frontend to tune a live TV broadcast without compromising a DVR schedule
  5. Provide appropriate parental controls, minimally for any content I store on the filesystems, to ensure that my kids are only able to hear/view age-appropriate content.

Stretch targets:

  1. Diskless, netbooted frontends
  2. Fully integrated RS232 and IR control at each frontend for the stereo and TV it controls in that room. Get to "one remote" per room.
  3. Enable views for Internet-delivered streaming and on-demand content as seamlessly as possible (Rhapsody, Hulu, etc)
  4. Enable parental controls for all content - this would include TV. We also don't allow certain shows to be viewed even though they might be age-appropriate, so block those too.

Basement (Backend room)

Since I have both unfinished and finished sides to my basement, I need to describe them differently. This section describes the unfinished side of the basement and is where I plan to put all my backend equipment.

This is where all my equipment in the "before" diagram is currently running, so this is a natural fit. However, I'll need to run some more cabling to get the rest of the house connected with it.

Basement (frontend room)

The finished side of the basement is mostly a kids play area, but the neighbors and friends have been known to hang out down there for a little viewing and drinking time. Currently there's a DVD/VCR combo player hooked up to a 9-year old Panasonic 32" tube television. The Nintendo Wii game system is hooked up here as well, which adds a bit of a wrinkle when planning the MythTV design here.

Because I planned the finishing of this side of the basement, I was able to get ethernet, cable, and surround sound wiring into place how I want it. Didn't do much with the surround sound, obviously, but that's part of the plan here.

So the finished side of the basement will get the most investment in the project. I'm visualizing a 52" flat panel, a decent stereo to support home theater audio, 5.1 surround, and MythTV frontend. And, as I mentioned, I need to get the Wii game connected here. I would really like to make this a "single remote control" solution, which means integrating the stereo and TV via rs232 connections, right?

Family Room

For us this is the heart of the house. Tivo, a DVD/VCR player, a (older) stereo and a 32" tube television live here now.

I'd like for this to become a 42" HD LCD, Myth front end, and a sleeker stereo. The old TV, old stereo, and Tivo are gone when we're done. Parental controls are especially important here.

Den

The Den is my escape room and home office. I've got a Sharp 26" LC-26DV24U HD-ready LCD TV (with integrated DVD player) in the room now. It's hooked up to the Comcast analog cable. I've got ethernet already run to this room, but I may need another drop nearer the TV to avoid cabling spaghetti. I'm a little bummed out that I didn't think enough ahead about this project when I bought the tv 6 months ago, it doesn't have RS232 interfaces for a Frontend to control it. It does have HDMI inputs.

The Den should end up with a Myth Front end and I'd like to aim towards getting HD broadcasts over Comcast analog cable at a minimum. I need to read through the QAM matches to see if I can get Comcast Sportsnet to see the Cubs games in HD. I know I'll get WGN in HD already.

The kids sometime need to separate from each other for different viewing interests, so parental controls on content will need to apply in this room at all times.

Master Bed Room

The MBR currently has an old decrepit 13" color TV with rabbit ears that my wife had from college. The fact that it plays at all is a testament to the quality that was Zenith products at one time.

Problem here is that we (wife and I) don't agree yet on the size of TV, suitability of a stereo for playback, or even if a TV should even be in the bedroom. With the kids and all it takes to get them moving (and how little time we have to lounge around any more) it's not likely that we'll make a large investment in this space.

June '09 - the 13" rabbit ears tv went blank at the DTV conversion, still nothing done.

Sun Room

The Sun Room connects to our outdoor patio. This room's Myth design is a real wildcard. We don't have a TV in here now. However, I'm forever hooking up our outdoor, wireless speakers to a laptop or iPod for music for deck party time, grilling, etc. I think a case could be made for a frontend-type device in the Sun Room that would support music playback more so than movies/video content. We don't really want to make the Sun Room a destination for video content. Since this might only be streaming audio, it's possible that a wifi-connected frontend (generally a poor idea for video applications) might be the solution.

The Buildout

I'll describe what I have/will build for the MythTV setup. I'm using MythBuntu as my build distro and Mythtv v0.21.

Wiring and Networking

Backend Hardware and Configuration

  1. Asus P5N73-AM motherboard.
  2. Intel Pentium Dual Core E2180
  3. Several 500GB SATA drives, not RAID'd, just standalone as XFS partitioned drives for MythTV. (root partition is ext3 or whatever the default installer uses, all video data partitions are XFS)
  4. Uses my previous Acer 19" LCD monitor.
  5. Video Chipset: NVidia Geforce 7050
  6. 2GB RAM
  7. Hauppauge_PVR-500 with one Comcast analog cable run going to the coax TV input.
  8. HD Homerun tapping the same Comcast analog for the QAM signals

Mythbuntu 9.04 Install

Mythbuntu 8.10 Install 8.10 was not happy with my efforts to scan HD channels.. or perhaps I wasn't happy. It was early enough in the project that I went ahead and reformatted the hybrid with the next version of the distro The overall installation went smoothly. I configured the main backend and gave it a static address - taking most all defaults.

Lessons Learned:

  1. Have your subscription already open/active for the Schedules_Direct website BEFORE you start the install
  2. My install decided (in spite of me specifically profiling that I wanted a static IP for my backend) that it would implement a dynamic/DHCP IP address for my main backend. As a result I had to use steps similar to those found here to set a static IP.
  3. The single Tuner input on the PVR-500 is able to pull both tuners/streams of MPEG decoding from a single coax feed. I'd actually spent some time trying to figure out where/how to hook up a second coax feed - this was a totally noob move on my part.
  4. The default profile for "Watch TV" for the PVR is pretty low resolution, be sure to up the resolution on this mode before you send emails to the support mailing list.
  5. 9.04 STILL wants to have the backend be a DHCP-based IP address. You have to set your IP manually for the backend, IMHO, when you install as a Hybrid in order for the setup to be manageable.
  6. If you go to "Watch TV" and it's blank for a short while and then returns to the menu, you probably have not profiled the Tuner Type correctly on the backend. Try another...

A Word about Comcast Analog and Digital QAM

This took me a longer time to get right than it required because I didn't know what I was doing.

Schedules Direct showing my 2 lineups

Comcast in Chicago analog cable includes the digital cable QAM "broadcasts". Typical stuff.

Background: I had Schedules Direct, the PVR 500 and the HD Homerun input cards. I wanted to be able to "Watch TV" over all channels. I also wanted to DVR over all channels. Setup didn't go right the first time(s), here's the net of my experience.

  1. Schedules Direct needed to have two "lineups" defined on my account. For my Comcast service, one was the Comcast analog programming and the other lineup was the Broadcast lineup (which contained the digital OTA/QAM stations). This was a big hurdle that wasn't documented.
  2. Schedules Direct lineups needed to be pruned to include only the stations I wanted to appear in each lineup - since each lineup eventually translates to a specific Input Card. Therefore I had to remove Digital/QAM from the Comcast cable lineup and had to remove the non-Digital/QAM from the Broadcast lineup. This nets to where only one instance of a channel appears between the lineups.
  3. The mythbackend needed to be configured with two sources - for each of the Schedules Direct lineups.
  4. The input cards needed to be associated wtih the correct input sources
  5. The PVR 500 did NOT need a channel scan, I took the channels from the source
  6. The HD Homerun probably did not need a channel scan, but I did it anyways to make sure my signals were going to be read.
  7. I used mythWeb to manually remove channels that shouldn't appear twice. For instance, in Chicago, the primary CBS affiliate appears Digitally as channel "2.1". On mythWeb I removed instances of channel "2.1" from the source #1 (which I inferred was the PVR 500 that would source from the Comcast Analog cable lineup). That left only channel "2.1" available on source #2 (which I inferred was the HDHR and would source from the the QAM Broadcast lineup).

Frontend(s)

Family Room

Basement

Den

MBR