MythTV – My personal video recorder

I have been using a product called MythTV for over 10 years, it is basically software that allows you to view and record television. I originally set this up in a desktop PC as it uses decoder card to receive and decoded regular transmitted television, mostly free to air but also satellite and pay-tv too. Most of these interfaces at the time only came in full card form, more recently there are many that also work with USB, but at the time this was the reason for using a PC. Also, all this recording fills disk space so having a few drives is helpful and thus the space in a normal desktop case was handy.

Over time this machine has been rebuilt, sometimes because I had decoder cards fail and other times because of increasing hard drive options otherwise it has remained as a 64bit AMD processor , 2Gig of ram and with a nVidia Geforce 6200 video card. I liked this card because it was fanless and thus quiet. This card is only a DVI out but with an adaptor works quite well converted to HDMI however the audio does not go through this card, I have to run this separately from the motherboard.

I have stuck with it as it’s the best PVR solution I have found. Even what I have seen with pay based services and other alternatives nothing compares with the quality and flexibility Myth offers once it is setup properly.

Mythtv is a unix based program and for a while came as a bundle called Mythbuntu as a full install of Ubuntu and Mythtv. I used this a few times to setup my Myth system however even this does not make life simple, it’s a complicated program but when it works it does so very successfully.

Recently I had the chance to replace the hard drives with an SSD, this would further quiet the PC down and should work even better. Time for another rebuild. I found this time that Mythbuntu was no longer developed as a package and a bit difficult to download as it was so I had to go to separate Ubuntu and MythTV installations which is where my latest ‘fun’ began.

Since Mythbuntu, Ubuntu has developed through that version 10, past 14, beyond 16 and now 17 is the current, also Ubuntu comes in various flavors that provide different desktops and performance including the original Ubuntu Gnome, Lubuntu (light weight), Kubuntu and Xubuntu just to name a few. I tried all of these but constantly had a screen tearing issue, any rapid screen movement (even dragging windows around) caused horizontal splits in the video.

I solved this screen tearing with Xubuntu and implementing Compton. Compton is a screen composition program that works much better than that supplied by the OS itself. Now onto installing MythTV.

It should be that simple, sudo apt-get install mythtv goes through the motions and sets everything up ok, one would hope but not so quick.

As I said, MythTV is complicated. It operates in two parts, a back-end and a front-end. Both of these parts can run on one pc and work together but if you wish you can have a back-end (in a server room for example) and a front-end next to the tv. You can have multiple front-ends in different rooms if you like. I haven’t gone to that extent so I will keep this story to (mostly) one machine. Mythtv also uses a mysql database and as I said (above) television decoder cards.

It’s important that you have a decoder card compatible with Myth, many are listed here but I have also found (now) this is an issue when selecting your Ubuntu version. Version 16 or 17 has issues with some cards, the drivers don’t seem to be supported any more and are not so easy just to ‘install’ and I also found (with much frustration) that the myth software and the mythweb add-in interface do not want to work together and get the required rights and permissions necessary to work properly within the program and the database. I believe the security changes of mysql caused me lots of problems. Because this is a stand-alone machine I fixed most of these problems by going back to Xubuntu 14.04.

I have 2 cards to decode terrestrial free to air tv (you can get others for satellite or pay tv) and also one of these cards is a dual-tuner so I can record three separate programs at the same time. With digital TV, many channels work on the same frequency such as (here in Australia), Seven provides also 7-Two, 7-Mate and 7-Flix, these can actually all be recorded by one card simultaneously so three tuners are more than enough.

OK, so with Kubuntu 14.04 installed using a basic machine name/username and password, autologin to desktop, confirm your location and keyboard type  – trust me on this as you may have trouble later doing quotes and pipes later.

Install Compton, create its config file and get it running at boot time to fix the screen tearing issue. 

At this point I like to manually set the IP address. By default this will setup as DHCP from your router (a random IP on your network) so it’s best to edit this and set it to something permanent on the machine, change this to something memorable like 192.168.0.50 <- this will soon become clear why.

sudo apt-get install mythtv does do all the hard work. It will get and setup most of the dependencies including mysql. A couple of basic questions along the way include if you have other front-ends (say YES).

Next I sudo apt-get install mythweb, this provides a great web based interface to Myth including an online tv guide and the option to record programs and watch recordings online. Questions, pass-worded access (your choice) but is this the only use of your web server, say no.

Now to set things up run the myth-backend setup program.

In the back-end and change the server IP4 from 127.0.0.1 (localhost) to your manual ip of 192.168.0.50 and also the ‘master backend’ ip to 192.168.0.50 – leave all the ports as there default but for the security pin enter 0000 (4 x zeros)

Also for me at this point I ensure that your sound card is set properly. I have to tweak this to confirm it is outputting on my Digital connection and that sound is working. Try playing a video from a USB stick to test this fully.

Next, add your decoder card. This should be found automatically and leave the options as-is for now.

Add a source, this is where TV guide information will come from. Give it a name and (for most countries, we will cover Australia next) there are options for you here to select where in the world you are.

In Australia we have a problem, TV stations hold their guide data close to their chest so we use a program called Shepherd to fulfill what Myth cant do for itself. In the myth-backend add the source, call it shepherd and select ‘no grabber’ as the option.

Then you set the input connector, this links the added ‘decoder card’ to the ‘source’ and then finally, go to the channels editor and perform a ‘channel scan’. This is like tuning a digital tv for the first time and then ‘add all’ of the found channels.

Back in Australia we install Shepherd, there are many dependencies but generally the install works well asking a few questions about your location and channel options. The linked Shepherd guide will serve you well with this but be sure to run Shepherd as a normal user, no sudo here.

When exiting the myth-backend setup it will ask you if you wish to restart the backend (say yes) and then if you wish to ‘mythfilldatabase’, say no.

Now that you have a card installed, a source configured, that is linked with your card and the backend is running we will run mythfilldatabase manually. In a terminal enter mythfilldatabase (again as the normal user, no sudo) and watch what it returns. Any errors may be due to connections to the database or other problems from things not yet setup properly. You can break (ctrl-c) from this and make corrections if they occur.

In Australia this operation invokes Shepherd which will scrape data from various web sites to get guide data. It does this slowly on purpose and this process (especially the first time) may take 1-2 hours to complete, be patient. Once done though it will run every hour and generally update guide data daily.

If this went well then you can view Mythweb at (your ip) 192.168.0.50/mythweb from any machine on your network or run the myth-frontend on your new myth pc. Mythtv allows watching live tv and also picture-in-picture to the max, I have had 4 pictures-in-picture shows running at once. Of course you can also record tv and watch it later.

The Mythtv frontend may need some settings checked. Setup general has many tweaks you should not need to go near but playback Video and Audio may need to be set to be sure you get the best performance and output quality possible. The other main option I go into here is the Appearance/Theme , select something more pleasing than the default but be aware this can take up resources and slow TV viewing down.

I use the mythweb to interact with a nice tv guide and also select any program I want to regularly record. I also have my router set so myhomedomain.secret:9090 is directed to 192.168.0.50:80 so I can check and record anything from external locations too, but mainly I set programs I like to watch regularly to record anytime it’s on.

I have also tried running Kodi either on my Windows pc or on a Raspberry Pi and enabling a MythTV plugin. This allows this new device to connect to your MythTV-Backend (via IP number and the pin 0000) and use it to either watch live TV or recordings at another location in the house.

This is just a quick guide to getting started, the app, options, additional plugins, remotes and even smartphone apps you can get for it are endless so i hope the above helps and enjoy.