New Mythtv setup

Our old combined MythTV front & backend is getting old and the root partition was continually filling up (I know, I could make it larger with GParted but it takes for ever) so I decided to change things over the Christmas holidays.

My new set up consists of the following:-

  1. HDHomerun network TV tuner (dual tuners in a tiny box)
  2. Old broken keyboard laptop as the back end only – tucked away in my study with the rest of the network gear.
  3. Zotac ZBOX ID80 front end running OpenELEC
  4. Applet TV (version 1) front end modified with the installation of a CrystalHD video decoding card running OpenELEC (special build for the CrystalHD ).

HDHomerun tuners are a complete change in the way you think about TV tuners and what can be done now.  Basically the HDHomerun streams the data that it gets from (what ever terrestrial TV channel its currently tuned to) over your network ready for what ever system wants to pick it up.  In my case the Mythtv backend controls which channel the HDHomerun is tuned to and either records direct to hard drive or throws it at a front end as live TV if that’s what you want.

For the back end I decided to run Mythbuntu.  I have been a big Arch Linux user over the last 8 years and currently run LinHES but having downloaded the most up to date release it didn’t seem to work properly on my laptop so I decided not to battle with it and roll over to Mythbuntu.  Mythbuntu seems to have a more active development than LinHES and given its based on Ubuntu’s LTS releases I decided to go with it.  Installation (as with all Linux distros now days) was very simple.  It picked up the HDHomerun without me doing anythting as it has a HDHomerun tool pre-installed, I used this same tool to update its firmware.

OpenELEC is basically Kodi (the new name for XBMC) pre-built on top of a lightweight linux distribution.  You down load it, install it onto a USB drive and plug it into the device you want to install it on, a couple of clicks later and wammo all done!  After installation you point it to the Mythtv back end it needs to use.  This set up lets you have one central machine that schedules recordings and stores the data while you can have several remote front ends sitting under your various TV’s which will talk to the back end and stream the TV recordings or live TV from the back end.

The Zotac box is very capable and will be the main unit we use (upstairs TV).  We use a Bluetooth keyboard with this setup – don’t use the remote control, I find it comes in handy when I need to open up a terminal if something goes funky.  The remote that comes with this ZBOX is a little small and flimsy – wouldn’t cope long with getting used continually by a family I recon.

The Apple TV 1 is a great solution for a front end but as its an 8 year old piece of hardware its really getting towards the end of its useful life.  The addition of the CrystalHD card breathed new life into these machines as a solution for a Media center.  My particular piece of hardware was unused when I bought it 6 months ago so we should be OK for a little while.  Compared to the ZOTAC box the ATV1 has a little bit of lag but its good enough.


HDHomerun findings

The HDHomerun was already in service with my existing Mythtv combined front/backend.  It seems to me there are restrictions on how many devices can connect to it – not sure if that is hardware limited or firmware.  In any event, if I tried to stream a TV show to the new Mythtv front end (which in turn was connected to the new back end which in turn was connected to the HDHomerun) most stations buffered and couldn’t get enough data to display a picture or audio stream.  This was the same  if I tried to play a stream direct from the HDHomerun from within the Mythtv Backend using VLC (Mythbuntu backend has a GUI installed with a handful of tools/applications, one of which is VLC.  I could watch the bandwidth value coming from the HDHomerun (using the HDHomerun toll in the backend) when I tried to stream in this configuration.  Some stations were up around 7 – 8 MBps but the stream would not work, some were much lower (less than 1MBps) and the stream was obviously broken.  Interestingly, ABC News24 would work with a 12-13 MBps stream rate – I’m not sure why but there you go.

This was a bit of a worry for me so I left it for a day but then recalled I read something about there being a restriction on the number of devices connected to the HDHomerun.  With this in mind I shut down the old combined front/backend and restarted the new backend.  This seemed to “fix” the issue.   Streams were now working fine in VLC and also to the front ends.  So, if you are testing a new PVR installation using HDHomerun as the TVtuner and that HDHomerun is already in service on another system then this is going to cause you problems – shut the old system down, restart the new test system and you *should* be OK but YMMV.


OpenELEC findings

OpenELEC is Kodi, the interface to Mythtv being an Add-On so really, the Mythtv solution is secondary in OpenELEC so its not as good as a true Mythtv frontend installation.  That’s not to say OpenELEC is a good solution, its very polished with a gorgeous UI and long list of Add-Ons for all sorts of media related things (Movie DB and TV DB scrapers, fan art etc) but there are a couple of issues here still to iron out.

The recording  scheduling in the Mythtv Add-On is not as advanced as full blown mythtv front end is.  Perhaps I’m wrong but there is no where I can go in the scheduling where I can select a TV program then schedule a recording of that show when ever it is on that particular channel or once per day or once a week like you can in a mythtv front end.  You can record a TV program if you are watching it and do some very basic scheduling based on channel and time but that is about it.  To get around this I have to do the scheduling using Mythweb – kind of a cludgey work around I think but let me know in comments if there is something I have missed in the Mythtv Add-On.


Mythtv and sudden DB crash

My wife calls me while I was in my man cave tonight and tells me our mythbox has crashed and didn’t come back up with a reboot. I have a look and the thing it is asking me for the DB details (ie, location, password etc) – as if we are setting the mythtv installation again from scratch. This understandably throws me into a bit of a panic especially when she tells me she has already seen the screens and just entered through them!

I wasn’t able to log into the mysql tables using the cli client. Manually starting the mysql db FAILED as did restarting it or even stopping it, they all FAILED.

After digging in Google I noticed that the mysql.sock file that is created in /var/lib/mysql and which the mysql client must use to connect to the mysql db server was appearing and then the next moment it was gone, very very strange.

I looked at the size of the mysql.log file, it was over 3 GB! Looking in the mysql.log I see “Can’t start server: can’t create PID file: No space left on device” then the penny drops, I had run out of disk space on the root partition.

Deleting the 3GB mysql.log file gives me back 34% of /, rebooted and then off I go.

So the moral of the story kiddies is to check your log files for a hint to what’s going on and make sure you have enough space left in / or mysql will bomb out,

linHES and Shepherd XMLTV listing grabber

Over the weekend I built a new mythtv box. My old box (Dell GX260) has been in service for about 3.5 years and has been very good but its getting old and times are moving on, its hardware is starting to get left behind.

With the new release of Mythtv v0.22 due later this month and the recent release of VDPAU by Nvidia I thought it time to build a new box and take advantage of these new features.

Having bought a used Dell GX620 for AU180 I threw in a new Leadtech 8400GS GPU (low profile), 1TB HDD and a used Dvico Dual digital 4 TV Capture card.

I have to this point only ever used Mythdora which has been great and am currently running 10.21 (after running 3.01 for 3 years). This time around I wanted something that was easy to upgrade and keep up to date, easy to install and was stable – enter linHES. linHES is the ‘new’ knopmyth but is now based on Arch linux. I have been using Arch on my laptop since Christmas so have a fair amount of experience with the distro so it seems to be a perfect fit for me.

Installation of linHES was painless and the Dual digital card was working fine (its a version 1) although for some odd reason on the first installation ( I have since done a few) the first time I tried to add the second DVB tuner on the card it wouldn’t work, every installation since then has worked fine which seems odd.

Prior to setting up the cards I made sure I had the mythtv package that had VDPAU prebuilt. to do this I just passed pacman -S mythtv-vdpau and off it went.

My previous mythboxes have used the fantastic script to get the TV listings called Shepherd. Shepherd has some perl dependencies that need to be installed prior to running the Sheperd config. I found a few of them were packages prebuilt to be installed using pacman but one remainied elusive and was a requirements to run shepherd, it was called ‘Compress::Zlib’. I ended up getting it by installing perl pacman -S perl and finally was able to run Shepherd.

Just now I realise I could have installed shepherd and all its dependencies with a simple pacman -S shepherd. I’m such a idiot. I recall seeing shepherd in the repo the other day when I was having a poke around and thought it must be something else. I’m a glutton for punishment.

Will do a fresh install tonight after university and install it into the main TV room this weekend for full time use.

Mythtv Internal player and subtitles

Mythtv is the shitzen, I have been using it for perhaps the last 3 years full time. About 2 months ago I upgraded my box to mythdora 10.21 (from mythtdora 3.10) and the internal player has changed from Xine to an internal player. The issue is that the subtitles don’t work automatically if you have a .srt file – this really blows. If anyone else is running around wondering how to enable it then look no further. Play the movie then press ‘T’. Job done, not very obvious is it!