A discussion of my recent dalliance with Windows-based DVRing, and documenting my humbling return to MythTV. And also blowing dust off this blog.
BACKSTORY
I was really, really, REALLY mad at MythTV.
It had failed to record multiple programs during the recent NHL All-Star weekend, and that was pretty much the last straw. I’d been a MythTV user for almost 7 years (my KnoppMyth forum membership started in 2004) but I’d been more and more annoyed at all the tweaking and editing and compiling and rebooting that seemed to be required to keep the system recording for more than a few weeks.
To be fair, most of the recording problems were due to two things: the presence of an old unused analog tuner card inside my PC (which would occasionally, after rebooting, replace my HD tuner for some unknown reason and cause its recordings to fail), and Firewire channel changing (which fails unexpectedly unless you occasionally power-cycle the set-top box or reboot the computer... which of course leads to Problem #1 above).
Although those same problems might still be present with a switch to Windows, I knew that switching would also solve some other problems. Audio over HDMI would be way simpler to set up than it is in Linux; I could run any number of Windows-based solutions for transcoding and mobile access to media; and I could work with Blu-ray media and all the Windows-based tools available for playback and transcoding Blu-ray discs.
So I bit the bullet, backed up various recordings and movies, bought a $100 OEM version of Windows, and tried to set up a system that could replicate what I had with MythTV, even in its occasionally-functional state. Namely:
There were other bullet-list items that would be nice (such as video podcasts) but those were the necessities. The two contenders for accomplishing those tasks were SageTV ($99 for a front-end/back-end and a “placeshifter” license) and Windows Media Center (included with the price of Windows 7 Home).
Pros and cons of SageTV
First I tried SageTV’s demo, as it sounded like it would be an easier transition from MythTV. Sure enough, the look and feel of SageTV was reminiscent of MythTV. In some ways, in fact, it was almost too reminiscent; a cross between MythTV and XBMC. Although functional, it wasn’t anything to write home about, and definitely not equal to XBMC’s interface or Arclight under MythTV.
BACKSTORY
I was really, really, REALLY mad at MythTV.
It had failed to record multiple programs during the recent NHL All-Star weekend, and that was pretty much the last straw. I’d been a MythTV user for almost 7 years (my KnoppMyth forum membership started in 2004) but I’d been more and more annoyed at all the tweaking and editing and compiling and rebooting that seemed to be required to keep the system recording for more than a few weeks.
To be fair, most of the recording problems were due to two things: the presence of an old unused analog tuner card inside my PC (which would occasionally, after rebooting, replace my HD tuner for some unknown reason and cause its recordings to fail), and Firewire channel changing (which fails unexpectedly unless you occasionally power-cycle the set-top box or reboot the computer... which of course leads to Problem #1 above).
Although those same problems might still be present with a switch to Windows, I knew that switching would also solve some other problems. Audio over HDMI would be way simpler to set up than it is in Linux; I could run any number of Windows-based solutions for transcoding and mobile access to media; and I could work with Blu-ray media and all the Windows-based tools available for playback and transcoding Blu-ray discs.
So I bit the bullet, backed up various recordings and movies, bought a $100 OEM version of Windows, and tried to set up a system that could replicate what I had with MythTV, even in its occasionally-functional state. Namely:
- record and play back on the master back-end machine, using three tuners (HD HomeRun’s two tuners, and the Hauppauge HD-PVR recording component HD from a set-top box)
- play back recordings on a front-end-only PC located by the treadmill (makes exercising much more bearable)
- serve out recorded and movie content to other machines on the network, including a Boxee Box
- display downloaded fan art and info for the library of movies on the main DVR computer
- set up recordings via a web interface for those times I wasn’t in front of the main DVR
There were other bullet-list items that would be nice (such as video podcasts) but those were the necessities. The two contenders for accomplishing those tasks were SageTV ($99 for a front-end/back-end and a “placeshifter” license) and Windows Media Center (included with the price of Windows 7 Home).
Pros and cons of SageTV
First I tried SageTV’s demo, as it sounded like it would be an easier transition from MythTV. Sure enough, the look and feel of SageTV was reminiscent of MythTV. In some ways, in fact, it was almost too reminiscent; a cross between MythTV and XBMC. Although functional, it wasn’t anything to write home about, and definitely not equal to XBMC’s interface or Arclight under MythTV.
Configuration of SageTV was very easy, and once I realized there were separate server and client applications, setting recordings was straightforward. The web server plug-in was VERY impressive and was probably the best part of the experience. The listings displayed quickly on both web browsers and mobile devices.
Although front-end playback performance was fine on the Windows-based front-end/back-end computer, I needed playback access on the front-end-only PC which was still running Ubuntu Linux. Since SageTV runs under both Windows and Linux, I figured that I could run the client-only software on the Ubuntu machine and connect to my recordings. In fact, being able to run a client/server type of setup was a big advantage over Windows Media Center, which requires “media extenders” like an Xbox 360 to connect to recordings in that way.
Unfortunately, the honeymoon with SageTV ended here. Once I installed the Linux software, I was surprised and shocked to discover how poor the performance was when playing back HD content. In fact, it couldn’t play back HD content for more than a few seconds without dragging to a halt. Connecting to the same recording over the network with my Linux-based XBMC resulted in perfectly smooth playback, so the SageTV client was to blame. Maybe it’s the fact that the software is written in Java, maybe it was something else (although I didn’t see any configuration settings that improved performance significantly); the bottom line was that playback was utterly unacceptable. Frankly, I also saw deinterlacing problems on the SageTV back-end with 1080i recordings... those might have been curable by tweaking playback settings, but by then I’d pretty much decided not to go the SageTV route.
Which then left the Windows Media Center route as the lone solution.
Pros and Cons of Windows Media Center (WMC)
Setup of WMC was even easier than with SageTV--and I should point out, both WMC and SageTV setups were way easier than MythTV setup, even leaving out the headache that is HDMI digital audio under Linux.
Once I got the HD HomeRun up and recording, it was time to set up the HD-PVR, which required installation of some new drivers and some Hauppauge-supplied add-ons to allow WMC to recognize the HD-PVR as a tuner.
I also had to get Firewire channel changing working (as I hope to NEVER do IR channel changing again -- too unreliable). Ironically, getting Firewire channel changing working under Windows is much more difficult than under Linux. But once I switched Firewire drivers, loaded proper drivers for my FiOS set-top box, tested the channel changing app, and modified the Hauppauge software with RegEdit to use Firewire channel changing, switching channels was super-fast.
Playback of recordings looked great, and the user interface was really slick, particularly the overlays on top of live HD video. I had some problems with the system using the HD-PVR tuner instead of the HD HomeRun for broadcast channels, which I’m sure I could have worked out. The backend system really showed quite a bit of polish and promise for a lasting solution.
But, once again with the “unfortunately,” unfortunately. The problems with the WMC setup -- at least for me and my particular requirements -- were twofold.
First, the requirement for playback of recordings from the remote PC. WMC under Windows 7 introduced a new container format called “.tv2” which XBMC can’t play. Therefore, I’d have to transcode everything to some other format before I could view it on the remote system. I found a nice program to do so in MC-TVconverter, so even this problem wasn’t insurmountable.
The real deal-killer was hardware stability -- the same reason I had for kicking MythTV to the curb. For my hardware, under Win 7, the stability problems were much more severe. One problem seems to be a known one, probably related to HDMI’s cursed HDCP copy protection. If I powered down my home theater system -- the TV and AV receiver -- then powered it up again and switched to the computer’s signal, I would often get a black screen. Thinking it was a power-saver or hibernation mode coming on, I switched off all those settings, but still got black screens. I could see the mouse pointer, but nothing was responsive. These black screens were often capped off with a nice blue screen of death and some sort of kernel error, and a Windows reboot.
Again, I imagine that I could have ultimately figured out a solution to this problem, but at that point I’d been working for a solid week on switching over to Windows, and the family was starting to grumble about missed recordings of various shows. Since, even with its problems, the MythTV setup was more stable, I decided to eat a large helping of crow and go back to MythTV.
The Return of MythTV
So, armed with a fresh copy of Mythbuntu 10.10 and seven years of experience messing with MythTV, I started reinstalling Linux and MythTV on my systems on a Friday night, and was back up and recording by Saturday morning. I pulled the unused tuner card from the system, so hopefully that conflict won’t plague me again. Installing a fresh system seemed to help overall responsiveness of the system, particularly when viewing the program listing. And although configuring HDMI audio is still a royal pain in the butt (and is still not complete), at least the system is stable and not constantly rebooting.
Now, just to be clear that MythTV is no walk in the park, I’m listing my setup notes below. They are numerous and extensive, partly for documenting all my steps in case I have to do it all over again, but partly to show what’s involved with getting MythTV working, even with a MythTV-centric distro like Mythbuntu. These steps aren’t too horrible for me, but if you were coming to this as a Linux newbie, I can see where you’d probably opt to sort out the Windows problems instead. Fair enough, no arguments here -- it’s just easier for me to go this route at this point for my equipment.
Why not just get the cable company’s DVR?
That’s certainly the easiest path forward, and now that many cable-supplied DVRs have the capacity to add storage, it’s a much more appealing option than when they gave you a lousy 80GB of storage (I think I have 80GBs of iCarly alone!). To me, the main problem is cost: if you want to access your recordings from every TV, you’re in for at least $15-$20 per month per TV. In five months you’ve paid for an AppleTV or a Roku that can access those recordings and more; in a year you’ve payed for a mini-ITX-based computer that can do it all.
Plus, the interfaces on the cable DVRs I’ve seen are UGLY. I’d be embarrassed if I was Comcast or Verizon. Standard-definition, hideous colors, fonts that are right out of a Commodore 64. It’s astounding that they can charge what they do for such a minimal effort on their part.
Conclusion
My brief flirtation with Windows was promising, but I just wasn’t willing or able to get it working to my satisfaction. Things in MythTV-land are working fine... for now. Hopefully it’ll stay that way now -- and hopefully I can somehow get this copy of Win 7 working somewhere else.
APPENDIX:
Mythbuntu 10.10 setup notes
- I burned a CD of the Mythbuntu 10.10 ISO after downloading it from their website
- Installed onto my main computer’s 2TB boot drive as a front-end/back-end install. Installation went smoothly and I rebooted into Mythbuntu 10.10.
- First problem: no boot splash Mythbuntu screens... just some ugly monospaced boot text. Didn’t affect booting, purely cosmetic, but added a note to fix after it was up and running.
- Ran Mythtv-backend setup to install tuners and link them to program listings (I already had a SchedulesDirect account from my previous MythTV usage)
- HD HomeRun tuners (1 QAM, 1 OTA) detected fine. Scanning for channels was lengthy but worked fine; the QAM scan detected lots of channels that weren’t needed (primarily the music channels that the cable company offers).
- Ran MythTV frontend, set something to record, and it recorded. Yay.
- Second problem: no audio. Was to be expected since digital audio over HDMI isn’t very straightforward to configure. I made sure the audio channels weren’t muted via alsamixer, then started trying various settings, both in MythTV’s General settings and by trying any number of different recipes in asound.conf. Finally got sound from recordings, but not from every movie source via MythVideo. This is still a problem and I must continue to try new settings until everything is working as it should.
- Third problem: my second internal 1TB drive was not online. Bringing it online required installing gparted, reformatting the secondary drive as ext4, creating a directory under /media, mounting the drive to that directory, and editing fstab to reflect that mount point. Definitely not intuitive, but done.
- Once this was done, I could add the secondary drive to MythTV’s storage groups so that any recording can be stored to either drive.
- Now it was time to tackle getting the Hauppauge HD-PVR recognized by the system (it didn’t appear when I ran Mythtv-backend to set up the other tuners). First I had to get a Firewire channel change solution working. Luckily for my STB, it’s just a matter of downloading mythchanger (written by majoridiot), install the required packages mentioned in the mythchanger README, do a make and make install (this doesn’t work unless you install those packages first), then test that it worked (it did).
- The steps to get the HD-PVR running are annoying, but fairly straightforward to accomplish, as long as you do them carefully and one-at-a-time.
- Read the driver compilation HOWTO at http://www.mythtv.org/wiki/Hauppauge_HD-PVR
- You have to apt-get install some packages and then download the v4l-dvb source
- In many cases you will have to do the steps mentioned in the NOTE section, which requires running lsusb, finding your HD-PVR’s product ID (mine was 4903 like the example) and edit two files before compiling.
- Even though it’s not in the HOWTO, I also had to edit “v4/.config” file and change a line from “firedtv=m” to “firedtv=n” in order for the files to compile correctly
- After doing all of those steps, and I think rebooting, the HD-PVR showed up in mythtv-backend and was linkable to my cable channel lineup
- I then deleted SD channels and some other unneeded channels from its lineup
- Added new images to the Arclight mythtv theme instead of the ugly “tendrils” images (Note: they keep coming back whenever the mythtv packages get upgraded)
- Changed playback on front-end to VDPAU Full Quality
- Changed skip forward/back times to what I’m used to (skip 1 minute not 10)
- Turned off screen blanking screensaver
- Added the mythbuntu repositories so that I could upgrade to MythTV 0.24. This triggered a “partial upgrade” for some reason but it succeeded in doing the partial upgrade.
- MCEUSB remote stopped working after upgrading to 0.24 (I believe that’s why). This page describes the fix, which is to blacklist the mceusb module (option #2) http://ubuntuforums.org/showpost.php?p=9984844&postcount=4
- Added “mythlink.py” to crontab to get a folder full of “pretty” filenames for recorded shows. Had to modify smb.conf (added “follow symlinks = yes, wide links = yes, and unix extensions = no”) and restarted smbd to allow that folder to be viewable on Windows or Mac machines. Reference:http://ubuntuforums.org/showthread.php?t=1439092
- Apt-get installed apcupsd to support my APC UPS; required configuration before it would run without errors
- Installed ddclient to work with dyndns
- For the front-end-only install...
- Built an Mythbuntu 10.10 install onto a USB stick from a separate Ubuntu machine and the Mythbuntu ISO. Very straightforward and worked well. Note that I’d previously changed this computer’s BIOS settings to allow for booting USB drives, there were a few options and I finally hit on one that allowed it to boot and install properly
- Installed Mythbuntu 10.10 using the front-end only option, restarted... and ran into the bane of MythTV users everywhere, database schema mismatch. Had to install the Mythbuntu repositories on this machine too, then do the 0.24 upgrade that way. As with the back-end, I hit a “partial upgrade” requirement, but also as with the back-end, it seemed to work.
- Set playback to VDPAU slim
- Turned off screen-blanking screensaver
- Set up Arclight with images as above
- Had to reenable various MythTV plugins, particularly MythVideo, via the Mythbuntu Control Center application
- Hit a separate problem with this machine’s remote (a Streamzap). After research, turns out to be another 10.10 conflict with LIRC. Quick-and-dirty workaround was to comment out the arrow keys in .lircrc/mythtv or some file in there. See:http://ubuntuforums.org/showpost.php?p=9982501&postcount=22
Things still not working or incomplete
- Digital audio over HDMI as mentioned earlier
- Didn’t get mirobridge working (this puts subscribed podcasts into the Recorded Programs list in MythTV). Setup used to be an option in Mythbuntu Control Center but I don’t see it there any more (maybe a 0.24-related issue as well)
- Jamu (fan art utility) seems to work intermittently
- Thunar (file manager for Mythbuntu) isn’t great for mounting network shares on backend machine. Need to investigate.
