Difference between revisions of "Installing MythArchive Dependencies"

From MythTV Official Wiki
Jump to: navigation, search
(More notes on installation of transcode)
(ProjectX: Version req'd.)
 
(31 intermediate revisions by 12 users not shown)
Line 1: Line 1:
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.<br>
+
[[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.
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.<br>
 
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<br>
 
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.
 
  
== MythBurn Installation ==
+
== Installing dependencies for MythArchive ==
  
 
=== Dependencies ===
 
=== Dependencies ===
  
MythWeb depends upon a number of other software packages that have to be installed.
+
[[Image:Package.png]] [[MythArchive]] depends upon a number of other software packages that have to be installed.
  
According to http://www.knoppmythwiki.org/index.php?page=MythTVBurn_Scripts_HowTo these are:
+
These are:
* mjpegtools 1.6.2
+
* [[mjpegtools]] 1.6.2
* dvdauthor 0.6.10
+
* [[dvdauthor]] 0.6.10
 
* imagemagick 6.0.6
 
* imagemagick 6.0.6
 
* transcode 0.6.14
 
* transcode 0.6.14
 
* ProjectX 0.90.3.01
 
* ProjectX 0.90.3.01
 
* a Java JRE or JDK
 
* a Java JRE or JDK
* cvs
+
* Xvfb
* mythBurn from CVS
 
  
 
In addition you need growisofs from dvd+rw-tools to write the ISO-file to the DVD.
 
In addition you need growisofs from dvd+rw-tools to write the ISO-file to the DVD.
  
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.
+
[[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 ===
 
=== RPM installation of some of the packages ===
  
 
If your system is rpm based, you can check the current installed versions with the rpm command:
 
If your system is rpm based, you can check the current installed versions with the rpm command:
* rpm -q mjpegtools
+
rpm -q mjpegtools
* rpm -q dvdauthor
+
rpm -q dvdauthor
* rpm -q imagemagick '''or''' rpm -q ImageMagick
+
rpm -q imagemagick '''or''' rpm -q ImageMagick
* rpm -q transcode
+
rpm -q transcode
* rpm -q jre
+
rpm -q jre
* rpm -q jdk
+
rpm -q jdk
* rpm -q dvd+rw-tools
+
rpm -q dvd+rw-tools
* rpm -q cvs
+
rpm -q cvs
 +
rpm -q xorg-x11-Xvfb
  
Note that on some rpm-sites ImageMagick is called imagemagick (KnoppMyth) and on other it is called ImageMagick (freshrpms)
+
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 box|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:
 
If your system is rpm based you can install some of the packages with apt-get or yum:
* apt-get update
+
yum install mjpegtools
* apt-get install mjpegtools
+
yum install dvdauthor
* apt-get install dvdauthor
+
yum install ImageMagick ''(or imagemagick)''
* apt-get install ImageMagick ''(or imagemagick)''
+
yum install dvd+rw-tools
* apt-get install dvd+rw-tools
+
yum install cvs
* apt-get 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.
 
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:
 +
* rpm -Uvh http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc4/i386/RPMS.dries/dvdauthor-0.6.11-1.fc4.rf.i386.rpm
 +
Or for a 64 bit system:
 +
* rpm -Uvh http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc4/x86_64/RPMS.dries/dvdauthor-0.6.11-1.2.fc4.rf.x86_64.rpm
 +
 +
'''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.
 
On Fedora Core 3 mjpegtools can be installed from atrpms.net, dvdauthor from apt.sw.be, ImageMagick and dvd+rw-tools from freshrpms.net.
Line 52: Line 61:
 
=== transcode ===
 
=== 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: [http://threebit.net/mail-archive/mythtv-users/msg04890.html]
+
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: [http://threebit.net/mail-archive/mythtv-users/msg04890.html]
  
 
Instead you can compile transcode or you can download it from Greg Cope with:
 
Instead you can compile transcode or you can download it from Greg Cope with:
 
* rpm -Uvh http://217.155.57.118/transcode-1.0.2-26.noxio.i386.rpm
 
* rpm -Uvh http://217.155.57.118/transcode-1.0.2-26.noxio.i386.rpm
Note that this is is home dsl connection. He wrote a note on this on the mythtv-users mailing list on april 21st 2006.
+
 
 +
{{Note box|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: [http://www.gossamer-threads.com/lists/mythtv/users/199122].}}
  
 
If you prefer to install from a wellknown repository instead you can install with the usual:
 
If you prefer to install from a wellknown repository instead you can install with the usual:
* apt-get install transcode
+
* yum install transcode
 
But be aware that you will probably get the "green square feature"
 
But be aware that you will probably get the "green square feature"
  
Line 66: Line 76:
 
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.
 
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 jre-1_5_0_<version>-linux-i586-rpm.bin, then you need the following commands:
+
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 jre-1_5_0_<version>-linux-i586-rpm.bin
+
* chmod a+x jdk-1_5_0_<version>-linux-i586-rpm.bin
* ./jre-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...
 
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...
Line 77: Line 87:
 
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 !
 
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) and run the build.sh file. As I have not set up the path and environment correctly, that did not work for me, so I ran build.bat from a Windows PC with the JDK installed and then ProjectX was compiled.
+
[http://www.gossamer-threads.com/lists/mythtv/users/564979#564979 See the following post.]
 +
 
 +
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:
 
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
 
   #!/bin/sh
   /usr/java/jre1.5.0_06/bin/java -jar /usr/share/projectx/projectX.jar $@
+
   /usr/java/jdk1.5.0_06/bin/java -jar /usr/share/projectx/ProjectX.jar $@
  
If you have set up the java environment, then you can omit the path before java. Otherwise adjust it to where your java is installed.
+
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 executable (chmod a+x /usr/bin/projectx)
+
Make the script and the projectx folder executable:
 +
chmod a+x /usr/bin/projectx
 +
chmod a+x /usr/share/projectx
  
Also make sure that ProjectX is placed in an executable folder (chmod a+x /usr/share/projectx)<br>
 
 
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:
 
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...
 
  Checking Commons-Net library access...
 
  Loading AC3 frames...
 
  Loading AC3 frames...
 
  Stopped! Can't start GUI, Classes not available...
 
  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.
+
If it does that, then ProjectX is probably properly installed.  
 +
 
 +
{{Note box|[[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:
 
You might run into an error message like the following:
Line 106: Line 129:
 
  commons-net-1.3.0.jar
 
  commons-net-1.3.0.jar
 
  jakarta-oro-2.0.8.jar
 
  jakarta-oro-2.0.8.jar
Make sure that these .jar files are in the proper location and that all the .jar files and the lib folder itself are executable:
+
Make sure that these .jar files are in the proper location and that they and the lib folder are readable and executable:
  chmod a+x /usr/share/projectx/lib/*.jar
+
  chmod a+rx /usr/share/projectx/lib
  chmod a+x /usr/share/projectx/lib
+
  chmod a+r /usr/share/projectx/lib/*.jar
 
 
=== MythBurn script ===
 
 
 
The current version of mythburn does work with MythTV 0.19. 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:
 
* mkdir /usr/share/mythburn
 
* chmod a+x /usr/share/mythburn
 
* cd /usr/share/mythburn
 
* cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/mythburn checkout mythburn
 
* ./install.sh
 
 
 
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:
 
 
 
[[Image:Mb1.png|250px]]
 
 
 
First MythBurn page, where the recordings to be included on the DVD can be selected:
 
 
 
[[Image:Mb2.png|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.
 
 
 
[[Image:Mb3.png|250px]]
 
 
 
Third and last MythBurn page, where the last log messages can be shown:
 
 
 
[[Image:Mb4.png|250px]]
 
  
== Example Screenshots from completed DVD ==
+
== Example Screenshot from completed DVD ==
  
 
Intro screen for video:
 
Intro screen for video:
Line 167: Line 141:
 
== Links ==
 
== Links ==
  
http://www.gossamer-threads.com/lists/mythtv/users/173060
+
[http://www.knoppmythwiki.org/index.php?page=MythTVBurn_Scripts_HowTo MythTVBurn Scripts HOWTO] - Original documentation at the [[KnoppMyth]] wiki site
  
http://www.knoppmythwiki.org/index.php?page=MythTVBurn_Scripts_HowTo
+
[[Category:HOWTO]]

Latest revision as of 15:15, 4 March 2014

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.

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