MythTV Problem Solving Causes More Work
Okay, this is the first techie note I’m writing on my site that will be syndicated to facebook. This happens every once in a while where I go through the process of doing something and want to record my steps for later. So for all of you facebook peoples who have clicked on this, I can assure you now that you’ll have no interest in this, but happy Fat Tuesday!
And now on with the geekyness… I’ve been having a problem on my MythTV backends where it will record and then the ivtv driver which controls the encoder cards complains a lot that it has to drop MPEG data. Originally I chased down ivtv versions for newer ones which might fix this issue, but it appears that the whole thing is MythTV’s problem. When a recording happens the database updates that need to be done are being done in the same thread as the recordings. Since my master backend isn’t a $10,000 server, it takes time to return from those updates and while it’s returning, it doesn’t record the stream from the encoder and you end up with blocky and gross looking video for the first couple seconds of a show. (Typically you only catch the punch line of the joke before the credits, which is highly annoying.)
Fortunately a patch exists to fix all of the problems, unfortunately the MythTV developers don’t think that this is a big problem so they won’t roll that patch into the main distribution. That means that if you’re suffering from this problem, you have to compile your own MythTV. Which sucks for those of us running more than one computer on the network because they all have to be the same version.
So, if you’re hell bent on solving this issue here’s the steps that worked for me. First, we update the dependencies from packages because it’s quicker and easier than compiling everything…
|# yum update lame -y|
# yum install lame-devel qt-devel libXv-devel libXxf86vm-devel libXmu-devel -y
Now that will bring your lame up to the latest and install the latest libraries so that you can compile against them. If you’ve followed Jarod Wilson’s Fedora Howto you’ll already have atrpms and freshrpms set up so this will just work for you. Now you need the mythtv sources and then you need to compile them which will take a while. You may find that you need to reboot after you’ve installed those packages. It seems the include path for qt isn’t found on some systems during the mythtv compile unless I do.
|# cd /usr/src|
# svn co http://svn.mythtv.org/svn/trunk/mythtv mythtv
# cd mythtv
# wget -O asyncdb.12694.patch
# patch -p0 < asyncdb.12694.patch
# make install
Once that’s all built and installed you’ll have to remove the myth packages that you have installed and then run the new binaries that you’ve built. If these instructions are updated, they’ll be available here.