Difference between revisions of "Installing MythArchive Dependencies"

From MythTV Official Wiki
Jump to: navigation, search
m
(ProjectX: Corrected URL as now on carbon60.)
 
(46 intermediate revisions by 14 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>
 
  
== MythBurn Installation ==
+
== Installing dependencies for MythArchive ==
  
<h3>Dependencies</h3>
+
=== Dependencies ===
  
MythWeb depends upon a number of other software packages that have to be installed.<br>
+
[[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:
 
<ul>
 
<li>mjpegtools 1.6.2</li>
 
<li>dvdauthor 0.6.10</li>
 
<li>imagemagick 6.0.6</li>
 
<li>transcode 0.6.14</li>
 
<li>ProjectX 0.90.3.01</li>
 
<li>a Java jre or jdk</li>
 
<li>cvs</li>
 
<li>MythBurn from CVS</li>
 
</ul>
 
  
In addition you need growisofs from dvd+rw-tools to write the ISO-file to the DVD.<br>
+
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
  
<h3>RPM installation of some of the packages</h3>
+
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:
 
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
  
<ul>
+
{{Note box|On some rpm-sites ImageMagick is called imagemagick (KnoppMyth) and on other it is called ImageMagick (freshrpms)}}
<li>rpm -q mjpegtools</li>
 
<li>rpm -q dvdauthor</li>
 
<li>rpm -q imagemagick <b>or</b> rpm -q ImageMagick</li>
 
<li>rpm -q transcode</li>
 
<li>rpm -q jre</li>
 
<li>rpm -q jdk</li>
 
<li>rpm -q dvd+rw-tools</li>
 
<li>rpm -q cvs</li>
 
</ul>
 
  
Note that on some rpm-sites ImageMagick is called imagemagick (KnoppMyth) and on other it is called ImageMagick (freshrpms)<br>
 
 
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:
 +
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.
  
<ul>
+
'''Fedora Core 4'''
<li>apt-get update</li>
 
<li>apt-get install mjpegtools</li>
 
<li>apt-get install dvdauthor</li>
 
<li>apt-get install ImageMagick <i>(or imagemagick)</i></li>
 
<li>apt-get install transcode</li>
 
<li>apt-get install dvd+rw-tools</li>
 
<li>apt-get install cvs</li>
 
</ul>
 
  
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.<br>
+
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:
On Fedora Core 3 I have installed mjpegtools from atrpms.net, dvdauthor and transcode from apt.sw.be, ImageMagick and dvd+rw-tools from freshrpms.net.
+
* 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
  
<h3>Java</h3>
+
'''Fedora Core 3'''
  
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<br>
+
On Fedora Core 3 mjpegtools can be installed from atrpms.net, dvdauthor from apt.sw.be, ImageMagick and dvd+rw-tools from freshrpms.net.
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:
 
  
<ul>
+
=== transcode ===
<li>chmod a+x jre-1_5_0_<version>-linux-i586-rpm.bin</li>
+
 
<li>./jre-1_5_0_<version>-linux-i586-rpm.bin</li>
+
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]
</ul>
+
 
 +
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
 +
 
 +
{{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:
 +
* 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...
 
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...
  
<h3>ProjectX</h3>
+
=== 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 !
 +
 
 +
[http://www.gossamer-threads.com/lists/mythtv/users/564979#564979 See the following post.]
 +
 
 +
[https://lists.archive.carbon60.com/mythtv/users/564979#564979 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
  
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 !<br>
 
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.<br>
 
 
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:
<pre>
 
 
   #!/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 $@
</pre>
+
 
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.<br>
+
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)<br>
+
 
Also make sure that ProjectX is placed in an executable folder (chmod a+x /usr/share/projectx)<br>
+
Make the script and the projectx folder executable:
Test if ProjectX can be started from a command prompt. On a gui interface ProjectX should start, while on a ssh prompt, it should show some messages and end with the following error message:
+
chmod a+x /usr/bin/projectx
<pre>
+
chmod a+x /usr/share/projectx
Checking Commons-Net library access...
+
 
Loading AC3 frames...
+
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:
Stopped! Can't start GUI, Classes not available...
+
Checking Commons-Net library access...
</pre>
+
Loading AC3 frames...
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.
+
Stopped! Can't start GUI, Classes not available...
 +
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.}}
  
<h3>MythBurn script</h3>
+
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
  
The current version of mythburn does work with MythTV 0.19.
+
== Example Screenshot from completed DVD ==
Before you proceed you might make a backup of your MythWeb scripts as MythBurn will modify them.<br>
 
The MythBurn script has to be downloaded from CVS. You can do that with the commands:
 
<ul>
 
<li>mkdir /usr/share/mythburn</li>
 
<li>chmod a+x /usr/share/mythburn</li>
 
<li>chdir /usr/share/mythburn</li>
 
<li>cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/mythburn checkout mythburn</li>
 
<li> ./install.sh</li>
 
</ul>
 
  
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.<br>
+
Intro screen for video:
If you later want to update to latest version of MythBurn, you can do that with:
 
<ul>
 
<li>chdir /usr/share/mythburn</li>
 
<li>cvs update</li>
 
</ul>
 
  
MythWeb is now modified and will have menu options for starting MythBurn.
+
[[Image:Intro_screen.jpg|250px]]
  
 
== 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 17:36, 22 February 2021

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