C't-VDR - Project X
ProjectX-0.90.4.00 für vdrconvert-0.1.1-11
Dieser Eintrag beschreibt die Einrichtung von ProjectX.0.90.4.00 zum Demuxen für ct-vdr-1.3.41-1 und vdr-addon-vdrconvert (0.1.1-11)
Installation von Java
Für den Einsatz von ProjectX wird das Java SDK (22,5MB) benötigt (bzw. für den Einsatz der kompilierten Version nur das JRE). Dazu in der /etc/apt/sources.list folgenden Eintrag eintragen
deb ftp://ftp.tux.org/java/debian/ sarge non-free <-Funktioniert nicht!!!!!!!
damit hat es funktioniert:
deb http://ftp2.skynet.be/pub/ftp.blackdown.org/debian/ sarge non-free
Dann auf der Konsole folgende Befehle ausführen:
apt-get update apt-get install j2sdk1.4
Laden der Sourcen, Entpacken, Kompilieren
Anschließend ProjectX.0.90.4.00 und Language Pack von http://sourceforge.net/projects/project-x herunterladen und die zip-Dateien entpacken.
unzip ProjectX_Source_eng_0.90.4.00.zip unzip ProjectX_LanguagePack_0.90.4.00.zip
Falls Unzip fehlt, mit
apt-get install unzip
vorher nachinstallieren.
Danach in das Unterverzeichnis wechseln mit cd:
..../ProjectX_Source_0.90.4
Das shell-Skript build.sh starten oder ausführbar machen:
mkdir build sh build.sh
Es erledigt die Kompilierung und das Erstellen der Datei ProjectX.jar im aktuellen Pfad.
Mit
java -jar ProjectX.jar
das Programm testweise starten.
Wenn libxp6 und libxtst6 fehlen, können diese mit
apt-get install libxp6 libxtst6
nachinstalliert werden.
Schaut euch danach bitte die X.ini im selben Pfad an. Sie muss folgendermaßen aussehen
# Application Application.Agreement=1 Application.Language=en # ExternPanel #ExternPanel.renameAudio=1 ExternPanel.renameVideo=1 # WindowPosition WindowPosition.Main.Height=652 WindowPosition.Main.Width=906 WindowPosition.Main.X=50 WindowPosition.Main.Y=50
Wichtig war bei mir, das die Zeile ExternPanel.renameAudio=1 auskommentiert war.
Kopieren in die Zielverzeichnisse
Damit das Programm von vdrconvert verwendet werden kann, muss es nach
/usr/lib/vdrconvert/share/vdrconvert/pX
kopiert werden. Dabei muss
ProjectX.jar nach pX.jar X.ini nach pX.ini
umbenannt werden.
ACHTUNG: Wichtig auch das Verzeichnis
.../ProjectX_Source_0.90.4/lib
ebenfalls nach
/usr/lib/vdrconvert/share/vdrconvert/pX
kopieren.Anschließend muss das Verzeichnis mindestens so aussehen
ls -l /usr/lib/vdrconvert/share/vdrconvert/pX drwxr-xr-x 4 uwe uwe 336 2006-03-28 20:21 lib -rw-r--r-- 1 root root 673 2006-04-12 21:13 pX.ini -rw-r--r-- 1 root root 686786 2006-04-08 20:50 pX.jar
Für die Versionen > 0.9 für ProjectX könnt Ihr die Sache mit xvfb vergessen, was für die früheren Versionen noch benötigt wurde.
Anschließend müssen folgende Dateien angepasst werden
Anpassen der allgemeinen Dateien
In der Datei: /etc/vdr/vdrconvert/vdrconvert.conf
1.) Debug Modus aktivieren, 2.) USE_PX=yes, 3.) richtigen Java Pfad angeben (bei mir: JAVA=/usr/lib/j2se/1.4/bin/java) 4.) DEMUXER=px
Weiterhin war es wichtig die einzelnen Pfade in: /usr/lib/vdrconvert/bin/vdrconvert.sh zu überprüfen. Anpassen musste ich Folgende:
1.) [ -z "$JAVA" ] && export JAVA=/usr/lib/j2se/1.4/bin/java (sicher ist sicher) 2.) PX=$VDRCONVERTDIR/share/vdrconvert/pX/pX.jar (dorthin kopieren bzw. anpassen) 3.) PX=$VDRCONVERTDIR/share/vdrconvert/pX/pX.ini
Anpassen der Dateien für die DVD-Erstellung
In der Datei: /usr/lib/vdrconvert/bin/vdr2dvd.sh nachfolgende Zeile entsprechend anpasssen:
nice -n $PRIO $JAVA -jar $PX -c $PXINI -o ${UniqueDir[Number]} $pxfiles > ${LOG[Number]} 2>&1
nach
-c in -ini -o in -out
und außerdem muss noch
-Djava.awt.headless=true
aufgenommen werden. Die neue Zeile sieht dann so aus:
# Project X starten nice -n $PRIO $JAVA -Djava.awt.headless=true -jar $PX -ini $PXINI -out ${UniqueDir[Number]} $pxfiles > ${LOG[Number]} 2>&1
Damit es mit den Audiodaten nachher passt, ist in der /etc/vdr/vdrconvert/vdrconvert.dvd.conf nachfolgende Änderung notwendig
DVDUSESTREAMS="001.ac3:ac3+de 001.mp2:mp2+de 001_1.mp2:mp2+en"
Anpassen der Dateien für die divx-Erstellung
In der Datei: /usr/lib/vdrconvert/bin/vdr2divx.sh nachfolgende Zeile entsprechend anpasssen:
Von:
nice -n $PRIO $JAVA -jar $PX -c $PXINI -o ${UniqueDir[Number]} $pxfiles > ${LOG[Number]} 2>&1
nach:
nice -n $PRIO $JAVA -Djava.awt.headless=true -jar $PX -ini $PXINI -out ${UniqueDir[Number]} $pxfiles > ${LOG[Number]} 2>&1
Außerdem muß die Zeile angepasst werden, in der die Dateilänge ermittelt wird.
von
px) let min=`strings ${LOG[Number]}|grep "Video:"|awk '{print $4}'|cut -f2 -d':'`
nach (Funktionierte bei mir nicht!)
px) let min=`strings ${LOG[Number]}|grep ".Video"|awk '{print $4}'|cut -f2 -d':'`
besser ging
px) let min=`strings ${LOG[Number]}|grep "\.Video"|awk '{print $5}'|cut -f2 -d':'`
Wenn unter vdrconvert weitere Konvertierungen wie mp3 oder mpg usw. genutzt werden, müssen die entsprechenden Dateien angepasst werden exakt wie oben die /usr/lib/vdrconvert/bin/vdr2dvd.sh. Zum Beispiel: /usr/lib/vdrconvert/bin/vdr2mp3.sh sollte korrigiert werden, wenn man zu mp3s konvertieren möchte.
Neustart von vdrconvert/vdr
Danach mindestens vdrconvert neu starten. Ich habe den vdr einfach mal neu gebootet.
Die Änderungen arbeiten bei mir auf zwei Systemen fehlerfrei. Vielen Dank allen, die mir in dem von mir eröffenten Thread geholfen haben, speziell an Wilderigel und an dimitri (Maintainer von vdrconvert).
Bei Problemen
Eventuell muss noch tcmplex wie hier beschrieben (Vorsicht: Tippfehler in der Anleitung beim setzen des Links! Es muss heißen: sudo ln -s /usr/local/bin/tcmplex-panteltje /usr/bin/tcmplex) und mencoder (mit "apt-get install mencoder") nachinstalliert werden, damit es funktioniert.