Installing MythArchive Dependencies

From MythTV Official Wiki
Jump to: navigation, search

MythArchive is one of several solutions to the problem of getting video out of your MythTV box on to DVD-Video discs so you can play them in your DVD player. MythArchive can either create an ISO-image of the DVD, that you can burn on a different PC or it can burn the DVD directly, if you have a DVD-writer in the frontend. If a recording is too large to fit on a DVD, MythArchive will automatically shrink (recompress) the recording, so that the resulting size is less than 4.7 GB.

Installing dependencies for MythArchive

Dependencies

Package.png MythArchive depends upon a number of other software packages that have to be installed.

These are:

  • mjpegtools 1.6.2
  • dvdauthor 0.6.10
  • imagemagick 6.0.6
  • transcode 0.6.14
  • ProjectX 0.90.3.01
  • a Java JRE or JDK
  • Xvfb

In addition you need growisofs from dvd+rw-tools to write the ISO-file to the DVD.

NTSC users will also need mpg123 or madplay for converting the sound to AAC. This is not needed for PAL.

RPM installation of some of the packages

If your system is rpm based, you can check the current installed versions with the rpm command:

rpm -q mjpegtools
rpm -q dvdauthor
rpm -q imagemagick or rpm -q ImageMagick
rpm -q transcode
rpm -q jre
rpm -q jdk
rpm -q dvd+rw-tools
rpm -q cvs
rpm -q xorg-x11-Xvfb

Or you can do the same with a single command:

 rpm -q mjpegtools dvdauthor ImageMagick  transcode  jre jdk dvd+rw-tools cvs xorg-x11-Xvfb


Important.png Note: On some rpm-sites ImageMagick is called imagemagick (KnoppMyth) and on other it is called ImageMagick (freshrpms)

If your system is rpm based you can install some of the packages with apt-get or yum:

yum install mjpegtools
yum install dvdauthor
yum install ImageMagick (or imagemagick)
yum install dvd+rw-tools
yum install cvs
yum install xorg-x11-Xvfb

Maybe your apt-get or yum has not been set up to correct repositories to get these packages. So you might have to update your sources.list or yum configuration.

Fedora Core 4

On Fedora Core 4 with MythTV from atrpms.net all of these packages are already installed except for dvdauthor and Xvfb. Xvfb can be installed from atrpms while dvdauthor is not on the usual fedora and atrpms repositories, but it can be installed with the command:

Or for a 64 bit system:

Fedora Core 3

On Fedora Core 3 mjpegtools can be installed from atrpms.net, dvdauthor from apt.sw.be, ImageMagick and dvd+rw-tools from freshrpms.net.

transcode

Some versions of transcode on atrpms (versions around transcode-1.0.2-24.rhfc3.at) are compiled in a way, so that it cannot extract thumbnails for the DVD menu. If you use one of those versions, you will get green squares instead (but the menu will work). There are some details on this problem here: [1]

Instead you can compile transcode or you can download it from Greg Cope with:


Important.png Note: This is his home dsl connection and that it has been compiled on Fedora Core 4. He wrote a note on this on the mythtv-users mailing list: [2].

If you prefer to install from a wellknown repository instead you can install with the usual:

  • yum install transcode

But be aware that you will probably get the "green square feature"

Java

To install java, download either a JDK or JRE from http://java.sun.com/j2se/1.5.0/download.jsp. The JRE contains the runtime that ProjectX needs to run, while the JDK contains both the compiler that you need for compiling ProjectX and the runtime. So if you want to compile ProjectX on a different PC, then you only need the JRE.

The installation is very straight forward. If you have downloaded a file like jdk-1_5_0_<version>-linux-i586-rpm.bin, then you need the following commands:

  • chmod a+x jdk-1_5_0_<version>-linux-i586-rpm.bin
  • ./jdk-1_5_0_<version>-linux-i586-rpm.bin

This will not set up the path to the Java bin folder or set any Java environment variable. It would be an advantage to do this, as scripts would be independent from the actual location and version of the Java jre, but I do not know how to set this up properly...

ProjectX

ProjectX needs to be version 0.90.3.01 or later, which is not available as precompiled package, so you need to compile it. However it can be compiled on any computer even on a Windows PC !

See the following post.

See the following post. Corrected URL

Download the source from http://sourceforge.net/project/showfiles.php?group_id=115063 (e.g the file ProjectX_Source_eng_0.90.4.00.zip), uncompress it (e.g to the folder /usr/share/projectx):

unzip ProjectX_Source_eng_0.90.4.00.zip -d /usr/share
cd /usr/share
mv ProjectX_Source_0.90.4 projectx

and build the project with the build.sh file:

cd /usr/share/projectx/
export PATH=$PATH:/usr/java/jdk1.5.0_06/bin
sh build.sh

Then create a script for starting projectx. That might be placed in /usr/bin or some other folder, where your path points to. Mine is placed in /usr/bin and called projectx and has the following content:

 #!/bin/sh
 /usr/java/jdk1.5.0_06/bin/java -jar /usr/share/projectx/ProjectX.jar $@

If you have set up a global path to java, then you can omit the path before java in this script. Otherwise adjust the script to where your java is installed.

Make the script and the projectx folder executable:

chmod a+x /usr/bin/projectx
chmod a+x /usr/share/projectx

Test if ProjectX can be started from a command prompt. On a X terminal ProjectX should start, while on a ssh prompt, it should show some messages and end with the following error message:

Checking Commons-Net library access...
Loading AC3 frames...
Stopped! Can't start GUI, Classes not available...

If it does that, then ProjectX is probably properly installed.


Important.png Note: MythArchive will run ProjectX as the user running your frontend program and all access rights should be set to allow that user to run ProjectX.

You might run into an error message like the following:

Loading Basic Classes...
Reading CLI Switches...
Checking Commons-Net library access...
Stopped! An Error has occured...
java.lang.Exception:
commons-net library not accessible! see readme.txt [ii]
ensure the correct location/classpath, related to the executed .jar
    at net.sourceforge.dvb.projectx.common.Start.main(Unknown Source)

The reason for this is that ProjectX not only consists of the file ProjectX.jar, but also some .jar files in a subfolder called lib. In my version of ProjectX they are:

commons-net-1.3.0.jar
jakarta-oro-2.0.8.jar

Make sure that these .jar files are in the proper location and that they and the lib folder are readable and executable:

chmod a+rx /usr/share/projectx/lib
chmod a+r /usr/share/projectx/lib/*.jar

Example Screenshot from completed DVD

Intro screen for video:

Intro screen.jpg

Links

MythTVBurn Scripts HOWTO - Original documentation at the KnoppMyth wiki site