Installing MythArchive Dependencies

From MythTV Official Wiki
Revision as of 18:49, 9 May 2006 by Gregturn (talk | contribs)

Jump to: navigation, search

MythBurn 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. The user interface for Mythburn integrates into Mythweb and allows you to select recordings to store on the DVD, graphics and sound for the DVD menu etc. Mythburn 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 backend. If a recording is too large to fit on a DVD, Mythburn will automatically shrink (recompress) the recording, so that the resulting size is less than 4.7 GB.

Current development on this project has stopped in favor of the new and improved MythArchive interface.

MythBurn Installation

Dependencies

MythWeb 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
  • cvs
  • mythBurn from CVS
  • 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.

Even though http://www.knoppmythwiki.org/index.php?page=MythTVBurn_Scripts_HowTo states that "dvdauthor<0.6.12 does NOT work with imagemagick>6.0.7.x", I have had success running dvdauthor 0.6.11-1.1 together with ImageMagick 6.2.2.0-2.

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

Note that 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

Recent versions of transcode on atrpms (versions around transcode-1.0.2-24.rhfc3.at) are compiled in a way, so that it can not 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:

Note that this is is 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 !

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. Note that Mythburn will run ProjectX as the user "apache" (it runs within MythWeb) and all access rights should be set to allow "apache" 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

MythBurn script

Previous versions of mythburn did not work with MythTV 0.19, but the current version should be fine. Before you proceed you might make a backup of your MythWeb scripts as MythBurn will modify them.

The MythBurn script has to be downloaded from CVS. You can do that with the commands:

  • cd /usr/share
  • cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/mythburn checkout mythburn
  • cd mythburn
  • ./install.sh

You will have to answer a number of questions such as where various tools and your recordings are placed.

Check if any error messages are issued. I received one, because I already had MythStreamTV installed, so the init.php was modified compared to what the MythBurn installation script expected. The error message however indicated which lines I had to modify and that was easily done.

MythWeb is now modified and will have menu options for starting MythBurn.

If you later want to update to latest version of MythBurn, you can do that with:

  • cd /usr/share/mythburn
  • cvs update

tcrequant

Even though the Mythburn script asks where the application tcrequant is placed, some versions have a hardcoded path to /usr/local/bin/tcrequant. If your tcrequant is placed somewhere else, you could make a symbolic link from /usr/local/bin/tcrequant. On my system I had to create the following:

  • ln -s /usr/bin/tcrequant /usr/local/bin/tcrequant

If your system already has tcrequant in the correct place or if you have a Mythburn script without this bug, then you do not need the symbolic link.

Without tcrequant Mythburn will not be able of shrinking the size of a recording.

Screen shots of MythBurnWeb menus

MythWeb main menu with additional menu entries for starting MythBurn:

250px

First MythBurn page, where the recordings to be included on the DVD can be selected:

250px

Second MythBurn page, where the DVD menu is defined. Notice the last option "Show debug information?" which can be used for debugging. Selecting this will make the following page show the command line used to start the DVD creation script. If you copy that command line and start it in a terminal, you will better be able to follow the process and see any error messages issued.

250px

Third and last MythBurn page, where the last log messages can be shown:

250px

Example Screenshots from completed DVD

Intro screen for video:

Intro screen.jpg

Links

MythTVBurn Scripts HOWTO - Original documentation at the KnoppMyth wiki site