ARGUS-TV 2.1 with Shepherd for EPG

If you’re having trouble with the new ARGUS TV plugin messing up your EPG by it being off by an amount equal to your timezone, this can be corrected by running the following;

tv_grab_au --component-set augment_timezone:timeoffset=Auto

Once that’s run, when you go to fetch your EPG, do this instead;

env TZ="Australia/Adelaide" tv_grab_au

Assuming you’re in Adelaide, of course.  Substitute with whatever timezone is appropriate.  That forces Shepherd to embed your timezone into the XML timestamps, which makes ARGUS work properly again.  Otherwise Shepherd uses local time for its timestamps, whereas because no timezone is specified ARGUS assumes they’re in UTC, causing everything to be off by your timezone offset.

Raspberry Pi and Argus TV/MediaPortal

I recently set up my Raspberry Pi so that I could watch TV and videos from my MediaPortal media center.
I wanted to do this because I previously had an old laptop in the bedroom for that purpose, and it was noisy.  The RPI offers absolute silence, no moving parts, and very low power consumption.
In order to do this, a bit of hardware is required…
EDIT – I’ve since adjusted things so that I’m now using OpenElec on the RPi, and things are much better.  The experience on OpenElec is really good.

Parts List

  • A Raspberry Pi.  Mine’s the release version with 256Mb of RAM.  A case for it would be a good idea.
  • A 2Gb SD card to run RaspBMCOpenElec
  • A MPEG-2 license code from the Raspberry Pi store.  I really strongly recommend you have this, MPEG-2 playback will be balls without it (which is pretty much all live TV and recorded content).
  • A powered USB hub. The RPI can only sink a small amount of current, which is easily exceeded.
  • A micro USB cable to power the RPI from the hub.
  • A cable to connect the RPI’s USB ports to the hub.
  • A RC6 compatible media center remote and receiver. A suitable type will run for under $20 on eBay.
  • A monitor with DVI or HDMI inputs.  If you are using DVI you will need a HDMI-to-DVI cable.
  • A set of analog speakers or your monitor to support audio over HDMI.
  • A network point. I’m using a TL-PA411 Ethernet-over-power setup since I didn’t want to run a CAT5 cable across the room.
Anyway, a breakdown of the special software/hardware components follows;

The USB Hub

The RPI can only sink a very low amount of current through its USB ports.  If you draw too much current, it typically manifests itself as lockups on the RPI at random times.  Running any USB devices through a proper powered hub avoids this.  And you can power the RPI itself from the powered hub, meaning you only need one power adapter.

The Remote Control

You can find an appropriate remote control on eBay for about $20.  The model displayed above is an HP Media Center remote control, and it conforms to the RC6 protocol standard.  This type of remote will ‘just work’ with RaspBMC OpenElec, no configuration required.  It also has an IR Blaster to control a TV, but I don’t about configuring that.

RaspBMC

RaspBMC is a distribution of XBMC compiled specifically to run on a Raspberry Pi.  Go to www.raspbmc.com and get the Windows installer, and follow the instructions.  Installation is very straightforward, and then you should have a booting Raspberry Pi with XBMC on it.

If you have a MPEG-2 license (VERY STRONGLY RECOMMENDED) for your RPI, you can enter it into the RaspBMC configuration page once you’ve installed.

OpenElec

OpenElec is a distribution of XBMC which is intended for use on appliances.  It’s a full distribution, including all the plugins you’d want.  Installation is straightforward.  You’re really going to need a Linux box of some type to do this easily, for those of you without access to a Linux box, go and download something like Knoppix and run it off a CD.

You can get an install guide for OpenElec on a Raspberry Pi at the OpenElec Wiki.  It’s strongly recommended that you go to the Raspberry Pi store and buy an MPEG 2 license for your RPI.  In order to set up that license, follow the overclocking guide at this link, and insert the key into your config.txt.

Note that you can safely enter in the overclocking settings in config.txt which correspond to the first step of overclock.  That will give the same default level of overclock that you get with RaspBMC.  Be cautious though.

ARGUS TV / ForTheRecord

As discussed earlier, I use MediaPortal for a media center.  MP does the TV recordings, but LiveTV, Scheduling and watching recordings are all handled by ARGUS TV (formerly known as ForTheRecord).  In order to be able to watch live TV with RaspBMC OpenElec using this setup, you need to use the ForTheRecord (or ARGUS TV) plugin in RaspBMC OpenElec.

Configuration of the plugin is straightforward.  Go to System->Settings->LiveTV, and enable LiveTV.  Then go to System->Settings->Addons, and enable the ForTheRecord plugin under PVR Clients.  Be aware that you should turn the timeouts up a fair bit, the RPI is slow.

Yes, yes, but how well does it work?

It’s ok.  The RPI is quite sluggish when it comes to navigation in RaspBMC and when changing channels.  Skipping ahead on a recording results in horrible artifacts until the next i-frame is reached (which may be up to 10 seconds).  However, it plays most things without complaint, can just be turned off when you’re done with it, and is silent, small and cheap.

The experience with OpenElec is markedly better than with RaspBMC.  It’s not going to break any performance records, but it plays media fine, with no artifacting on skipping.  Skipping is sluggish, but acceptable.  Pretty decent for something so cheap and low power.

MediaPortal Screen Tearing

Lately I’ve been having an issue where MediaPortal playback is choppy and suffers from screen tearing.  It turns out this happens when the Windows 7 Aero theme gets turned off.  I’m not sure why it’s getting turned off sometimes, but at any rate you can force it on through the guide here;

http://www.mydigitallife.info/hack-to-force-enable-aero-in-windows-7/

I’ve applied this on my Media Center.  We’ll have to see if it does the job.

Media Center Comparisons

I’ve either tested or used for an extended period of time several different media center products for the PC, so I thought I’d write some opinions I have about each one of them.  Take this with a grain of salt, since everyone’s requirements and aesthetic tastes are different.

For each media center product, I’ve included a few plugins or other software that I’ve considered mandatory to the product.

Windows 7 Media Center
URL:  Built into Windows 7 Ultimate Edition
O/S:  Windows 7 32-bit
EPG:  IceTV
Plugins:  MediaBrowser, DVRMS Toolbox, ShowAnalyzer

The default Media Center product you’ll have available when using Windows 7.  Functional and fairly reliable, WMC7 is pretty low on the feature list out of the box.  I used this for a long time, and it was easy to work.

Unfortunately though, it’s not very configurable, and you’ll need a lot of plugins to get it working properly.  MediaBrowser is an excellent product for organizing your movies and TV series and downloading fanart / covers / other metadata for them.  DVRMStoolbox & ShowAnalyzer are pretty much mandatory to get commercial skipping working.

One significant con with using WMC7 is that it by default records everything in the proprietary WTV format, which not a lot of commercial analyzers and video editors can actually read.  You can convert from WTV to other formats using Microsoft’s wtvconvert utility, but it would be nice for it to just record in mpeg or something instead.

You can connect Media Extender appliances and XBOX360/PS3’s to a WMC7 install, but you cannot connect another Windows PC to a WMC7 install for watching live tv.  You can however share all the folders that you have media in and just point your second PC at it, but it’s not very optimal.

You can use the over-the-air EPG with WMC7, but it’s not advised.  You pretty much have to use IceTV in Australia, which provides a good quality EPG for use, along with a plugin that allows you to set recordings via the IceTV website.

The big catch with IceTV is that they only set the program start/end times on the quarter-hour boundaries, which means that you will need to set a fairly lengthy pre-record and post-record time to make sure you actually catch all of your shows.  Other than that, IceTV is good, but expensive.

XBox Media Center
URL:  http://xbmc.org/
O/S:  Windows 7 32-bit (and others)

XBMC is a good looking media player.  I discounted it very early in the piece because it can’t utilize TV tuners to do recording.  It’s only for playback.

MythTV
O/S:  Fedora 16 64-bit
EPG:  Shepherd

Full-featured Linux-based media center solution.  Looks great with the Mythbuntu theme, and comes with grabbers to fetch TV show and movie metadata and such.  It also acts in a backend/frontend architecture, so you can run multiple frontends on different PCs to watch live TV from multiple places – something you can’t do with Windows Media Center.

The Shepherd EPG only runs on Linux and is a scraper to derive EPG data direct from the providers.  It’s free, and it tends to have much more precise timing than IceTV does.

A major point in MythTV’s favor is that it has an extremely detailed scheduling system.  You can set schedules according to some pretty complex search criteria and such in order to get exactly what you want.  It also provides a web interface direct to your MythTV box for reviewing the EPG and setting recordings, which is very, very handy.  It also makes its recordings in plain MPEG-2 format, for easy editing.

The main issues that I had with MythTV is that the nvidia driver I have was very poor at dealing with corruption in the incoming video signal (resulting in a storm of blockiness with any issues), and that the drivers for the USB tuners I have frequently would break on coming out of sleep, resulting in loss of tuners.  I also had some other issues that were hardware related, but I won’t hold that against MythTV.

MediaPortal
O/S:  Windows 7 32-bit (and others)
EPG:  IceTV or Shepherd (with work!)
Plugins:  MP-TVseries, Moving Pictures, ForTheRecord, ComSkip

MediaPortal is a competitor for XBMC and WMC7, and is quite popular.  It’s come a long way in the last few years since I tried it last.  The default skin looks good, and it also works in a front-end / back-end architecture.  You can run multiple frontends by installing the MediaPortal client on other PCs and watch live TV through your HTPC.

By default it’s pretty plain, but with the addition of a few plugins you can get all the functionality you need pretty easily.  The default over-the-air EPG is as usually pretty terrible, but you have the ability to use IceTV (with no IceTV Interactive functionality!).  Or, with some trickery it’s possible to use Shepherd if you have a Linux box around (hello, HP Microserver) to do the grabbing for you and generate the appropriate xmltv output to go into MediaPortal.

MP-TVseries and Moving Pictures are compementary plugins to organize your TV shows and movies and fetch metadata / art for them.  They work well out of the box, although you may have to play with the naming of your media a bit to make them work 100% properly.  I haven’t figured out how to get MP-TVseries and Moving Pictures working on a remote client yet.

ComSkip is a common commercial analyzer.  Since MP records in plain MPEG-2 Transport Stream (.ts) format, ComSkip can analyze it just fine for commercials.  Get a good INI file for it.

ForTheRecord is a plugin replacement for MediaPortal’s default scheduler.  It makes the scheduler vastly more powerful, and also provides a remote administration tool for setting up recordings and reading the EPG.  You’ll have to find some way to drop your EPG tvguide.xml into ForTheRecord’s XMLTV folder for it to actually read it in though (more on that later.  With FTR in place, MP’s scheduling capabilities rival MythTV’s.

Conclusion

With the exclusion of XBMC (ruled out because it can’t record), all three solutions will work as a media center.  Currently I’m using MediaPortal, and I really like it how I can run a remote MediaPortal client on Windows PCs to watch live TV – something you can’t do with Windows Media Center.

Windows Media Center has some advantages in easy of setup and use, however.  MythTV has advantages in customizability and cost (no Windows license required!).  But WMC uses a proprietary .WTV format, and MythTV has some issues with Linux device drivers.

MythTV – Aborted. Back to Windows.

Well, I gave MythTV a good go, but in the end I had to ditch it.  I had endless problems getting my USB tuners to come back up reliably after sleep, and I also had some strange crashes and other issues.

For reasons that anyone with a wife and small children will understand, it’s a high-severity incident of the worst degree when your media center keels over for some reason in the middle of the day just before nap time.  So, back to Windows.
Anyway, I had a few adventures with that – my first Windows install corrupted itself and died after a week, which wound out being because of some bad RAM installed in the HTPC box.  Removed that and rebuilt it again, and it appears OK.  What’s notable is that I had that RAM installed when I was running Fedora, which makes me think that perhaps all the problems I was having with MythTV were actually the bad RAM all along…
Currently, I’m running with MediaPortal instead of Windows 7 Media Center, on Windows 7 32-bit.  I’ve also done some cleverness with Shepherd so that I’m able to use the Shepherd EPG on Windows (details to follow).
Installation and setup is pretty straightforward for Windows running a Media Center.  I’ll give more detail in following posts, but what you’ll need is this;
  • Windows 7 32-bit (64-bit will work too, but it’s a bit more complicated with codec setup)
  • Shark007’s codec pack (contains all the codecs you’ll need)
  • UltraVNC (for remote management)
  • Microsoft Hotfix KB977178 (fixes problems with large hard drives vanishing on resume from sleep)
After installation, set the following registry keys;

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache = 1 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\Size = 3

This prevents issues with nonpaged pool exhaustion on Windows 7 when running a media center.  You may also want to look at TweakPrefetch, but SuperFetch is a lot less obtrusive on Win7 compared to Vista, so your mileage may vary.
Anyway, I’ll write up a brief comparison of four different media center types shortly.  It’s a shame to have gotten rid of MythTV since it provided a lot of great features, but I couldn’t have my tuners randomly not coming back up when resuming from sleep.