Vdrconvert

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Beschreibung)
(roZaMSCXPnv)
Zeile 1: Zeile 1:
You're the grateest! JMHO
+
Walking in the presence of giants here. Cool thiinkng all around!
 
+
==Softwareanforderungen==
+
Für die folgende Installation lege ich ein Debian-Sarge per netinstall-CD zu Grunde.
+
Als Bootoption habe ich "linux" gewählt.<br>
+
Einzig Nennenswertes:<br>
+
Anlegen eines zusätzlichen Benutzers als späteren Samba-User (z. B. smbuser).<br>
+
Dies ist eine Anleitung für ein alleinstehendes System ohne VDR-Dienst, jedoch sollte es auch auf einem Debian-VDR zu installieren sein.<br>
+
Weiter '''beschränke''' ich mich hier auf die '''Erstellung von DivX'''.
+
 
+
==Installation==
+
 
+
====Konfigurationsdateien anpassen====
+
Die Datei '''[[reccmds.conf]]''' mit den notwendigen Kommandos füllen. Meine Datei sieht folgendermaßen aus:
+
{{Box Datei|$VDRCONFIG/reccmds.conf|
+
<pre>
+
DivX-Menü                      : echo "nothing (vdr2divx)"
+
-Zu DivX-Liste hinzufügen      : /usr/bin/ins.sh vdr2divx
+
-Von DivX-Liste entfernen?      : /usr/bin/del.sh vdr2divx
+
-DivX-Liste abarbeiten?        : printf "\n" >> /var/spool/vdrconvert/vdr2divx
+
-DivX-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2divx
+
DVD-Menü                        : echo "nothing (vdr2dvd)"
+
-Zu DVD-Liste hinzufügen        : /usr/bin/ins.sh vdr2dvd
+
-Von DVD-Liste entfernen?      : /usr/bin/del.sh vdr2dvd
+
-DVD-Liste abarbeiten?          : printf "\n" >> /var/spool/vdrconvert/vdr2dvd
+
-DVD-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2dvd
+
-Bild für DVD-Hauptmenü        : /usr/bin/grab.sh "background.pnm" vdr2dvd
+
-Bild für DVD-Untermenü        : /usr/bin/grab.sh "subbackground.pnm" vdr2dvd
+
-DVD-Link setzen (Vorschau)    : /usr/bin/preview.sh vdr2dvd
+
SVCD-Menü                      : echo "nothing (vdr2svcd)"
+
-Zu SVCD-Liste hinzufügen      : /usr/bin/ins.sh vdr2svcd
+
-Von SVCD-Liste entfernen?      : /usr/bin/del.sh vdr2svcd
+
-SVCD-Liste abarbeiten?        : printf "\n" >> /var/spool/vdrconvert/vdr2svcd
+
-SVCD-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2svcd
+
VCD-Menü                        : echo "nothing (vdr2vcd)"
+
-Zu VCD-Liste hinzufügen        : /usr/bin/ins.sh vdr2vcd
+
-VCD-Liste abarbeiten?          : printf "\n" >> /var/spool/vdrconvert/vdr2vcd
+
-Von VCD-Liste entfernen?      : /usr/bin/del.sh vdr2vcd
+
-VCD-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2vcd
+
Sonstiges                      : echo "nothing"
+
-MPEG erstellen (sync)?        : printf "%s\n" > /var/spool/vdrconvert/vdr2mpg
+
-MP3 erstellen?                : printf "%s\n" > /var/spool/vdrconvert/vdr2mp3
+
-AC3 erstellen?                : printf "%s\n" > /var/spool/vdrconvert/vdr2ac3
+
</pre>
+
}}
+
Desweiteren die Datei '''vdrconvert.env''' mit den notwendigen Infos füllen. Da ich nur die ''vdr2dvd''-Funktionalität benutze sieht diese bei mir so aus:
+
{{Box Datei|/etc/vdr/vdrconvert/etc/vdrconvert.env|
+
<pre>
+
#---------------------------------------------------------------------
+
# Environment for vdrsync Scripts !
+
#---------------------------------------------------------------------
+
# Version: 0.0.12 pre-alpha
+
# Author: Dimitrios Dimitrakos mail@dimitrios.de
+
# $Id: vdrconvert.env,v 1.2 2003/09/27 22:28:43 dimi Exp $
+
#
+
# Base Destination dir
+
# default /tmp
+
DESTDIR=/video/film
+
# root of VDRs1 video structure - usually /video or /video0
+
# default /video
+
VDRROOT=/video
+
CONVERT_JOBS="vdr2divx vdr2dvd vdr2vcd vdr2svcd vdr2mpg vdr2mp3 vdr2ac3 burn"
+
DVDMAINSILENCEFILE=/usr/share/vdrconvert/silence-1s.mp2
+
DVDSUBSILENCEFILE=/usr/share/vdrconvert/silence-1s.mp2
+
# Writer Environment
+
#DVD_AUTOWRITE=yes
+
#MP3_AUTOWRITE=yes
+
#DIVX_AUTOWRITE=yes
+
#MPG_AUTOWRITE=yes
+
#SVCD_AUTOWRITE=yes
+
#VCD_AUTOWRITE=yes
+
#MEDIAWRITER="/dev/scd1:0,1,0"
+
# Burn DVD on CD
+
#MINIDVD=yes
+
#DVDSIZE=4472
+
DVDAUTHORMODE="5min"
+
#DVDAUTHORUSERCHAP=" 0,15:00,30:00,45:00,1:00:00,1:15:00,1:30:00,1:45:00,2:00:00,2:15:00,2:30:00,2:45:00"
+
#CDSIZE=650
+
# Deactivate Shrinking
+
#DVD_SHRINK=no
+
REQUANT="tcrequant -f"
+
# Activate Fonts
+
#DVD_USE_FONTS="yes"
+
#PATH_FONTS="/etc/vdr/vdrconvert/fonts/truetype"
+
# Activate Labels
+
#DVDCDLABELGEN="/etc/vdr/vdrconvert/cdlabelgen"
+
# Enable Debug, Output geht nach /var/log/vdrconvert/
+
DEBUG=yes
+
</pre>
+
}}
+
 
+
===Debian===
+
 
+
====Installation====
+
Vorerst ein paar benötigte Pakete:
+
<pre>
+
apt-get install automake nasm libxml2-dev gettext bzip2 libglib1.2-dev x-window-system-core
+
apt-get install x-window-system-dev xdm fluxbox libmagick++6-dev libsdl1.2-dev
+
</pre>
+
automake --><br>
+
nasm --><br>
+
libxml2-dev --><br>
+
gettext --><br>
+
bzip2 --> zum Entpacken von bzip2-komprimierten Tar-Archiven (XXX.tar.bz2)<br>
+
libglib1.2-dev --> <br>
+
x-window-system-core --> <br>
+
x-window-system-dev --> <br>
+
fluxbox --> <br>
+
xdm --> <br>
+
libmagick++6-dev --> (Wird von transcode benötigt)<br>
+
libsdl1.2-dev --> (Wird von transcode benötigt)<br>
+
 
+
----
+
'''GTK+ 1.2.5'''
+
<pre>
+
cd /usr/local/src/
+
tar xfvz /vdrpakete/gtk+-1.2.5.tar.gz -C .
+
cd gtk+-1.2.5/
+
./configure --prefix=/usr/local/ && make && make install && ldconfig && cd ..
+
</pre>
+
 
+
'''lame 3.96'''
+
<pre>
+
cd /usr/local/src/
+
tar xfvz /vdrpakete/lame-3.96.tar.gz -C .
+
cd lame-3.96/
+
./configure --prefix=/usr/local/ && make && make install && ldconfig && cd ..
+
</pre>
+
 
+
'''libfame 0.9.1'''
+
<pre>
+
 
+
cd /usr/local/src/
+
tar xfvz /vdrpakete/libfame-0.9.1.tar.gz -C .
+
cd libfame-0.9.1/
+
wget http://svn.cross-lfs.org/svn/repos/patches/libfame/libfame-0.9.1-config_update-1.patch
+
patch -p1 < libfame-0.9.1-config_update-1.patch
+
./configure --prefix=/usr/local/ && make && make install && ldconfig && cd ..
+
</pre>
+
 
+
'''vdrsync 0.1.2.2dev2'''
+
<pre>
+
cd /usr/local/src/
+
tar xfvz /vdrpakete/vdrsync-0.1.2.2dev2.tgz -C .
+
cp vdrsync-0.1.2.2dev2/vdrsync.pl /usr/local/bin/
+
cp vdrsync-0.1.2.2dev2/vdrsync.pl /usr/bin/
+
</pre>
+
 
+
'''tcmplex-panteltje 0.3'''
+
<pre>
+
cd /usr/local/src/
+
tar xfvz /vdrpakete/tcmplex-panteltje-0.3.tgz -C .
+
cd tcmplex-panteltje-0.3/
+
cp /vdrpakete/tcmplex-panteltje-0.3.patch .
+
patch -p1 < tcmplex-panteltje-0.3.patch
+
make && make install && ldconfig && cd ..
+
</pre>
+
 
+
'''divx4linux 18.04.2002'''
+
<pre>
+
cd /usr/local/src/
+
tar xfvz /vdrpakete/divx4linux-20020418.tgz -C .
+
cd divx4linux-20020418/
+
./install.sh
+
cd ..
+
</pre>
+
 
+
'''MPlayer 1.0pre3'''
+
<pre>
+
cd /usr/local/src/
+
tar xfvj /vdrpakete/MPlayer-1.0pre3.tar.bz2 -C .
+
cd MPlayer-1.0pre3/
+
./configure --prefix=/usr/local/ && make && make install && ldconfig && cd ..
+
</pre>
+
 
+
'''transcode 0.6.12'''
+
<pre>
+
cd /usr/local/src/
+
tar xfvj /vdrpakete/transcode-0.6.12.tar.bz2 -C .
+
cd transcode-0.6.12/
+
./configure --prefix=/usr/local/ && make && make install && ldconfig && cd ..
+
</pre>
+
 
+
----
+
'''VDRConvert 0.1.0'''
+
Zum Installieren des Convertierungsprogramms müssen noch das Quell- und Zielverzeichnis erstellt werden.
+
<pre>
+
mkdir /video
+
mkdir /data
+
</pre>
+
Installation:
+
<pre>
+
cd /usr/local/src/
+
cp /vdrpakete/vdrconvert-0.1.1.run .
+
./vdrconvert-0.1.1.run
+
</pre>
+
 
+
Im Installationmenü folgende Einstellungen:
+
<pre>
+
VDRConvert 0.1.0 Installation
+
-----------------------------
+
 
+
Debian 3.1
+
Kernel 2.4.26-1-386
+
 
+
Enter Installation prefix (/usr, /usr/local, ...) : /usr/local
+
Enter User : root
+
Enter group : root
+
Enter VDR's videodir (/video, /video0, ...) : /video
+
Enter target directory (/video, /video0, /film, /movies, ...) : /data
+
Select demuxer
+
--------------
+
1) vdrsync.pl ( Need Perl )
+
2) vdrsync.pl Developer version ( Need Perl )
+
3) Project X ( Need Java and Xvfb )
+
4) PVAStrumento ( Need wine and Xvfb )
+
 
+
Your choice : 2
+
 
+
Enable vdrconvert for :
+
DivX ? y
+
DVD ? n
+
VCD ? n
+
SVCD ? n
+
MPG ? y
+
MP3 ? y
+
AC3 ? n
+
Burning ? n
+
</pre>
+
 
+
====Bedienung====
+
Um von entfernten Rechnern (VDR-Server) einen Job starten zu können werden Video- und Jobverzeichnis per Samba freigegeben.<br>
+
Zusätzlich in die smb.conf:
+
<pre>
+
[conv]
+
        path = /var/spool/vdrconvert/
+
        comment = Convert-Verzeichnis
+
        guest ok = no
+
        writeable = yes
+
        browseable = yes
+
        available = yes
+
        valid users = king
+
        public = no
+
[vid]
+
        path = /video
+
        comment = Video-Verzeichnis
+
        guest ok = no
+
        writeable = yes
+
        browseable = yes
+
        available = yes
+
        valid users = king
+
        public = no
+
</pre>
+
Rechte zuweisen und Samba-Neustart:
+
<pre>
+
chown -R king /video/
+
chown -R king /var/spool/vdrconvert/
+
smbd restart && nmbd restart
+
</pre>
+
 
+
Bevor der Knecht nun zur Arbeit geschickt wird, sollte die Konfigurationsdatei zur DivX-Erstellung verändert werden.<br>
+
Würde man es so lassen, kommen default-Einstellungen zum Einsatz und es wird ein relativ große Datei im AVI-Format produziert. (10min --> 161MB)<br>
+
Die Datei nennt sich vdrconvert.env und liegt bei der 0.1.0-Version unter ''/root/.vdrconvert/''.<br>
+
Hier wird nun der folgende Text (Einstellungen von [http://www.dogge-heros.de/vdr/vdr.htm Catweazles VDR]) angehängt (10min --> 118MB):
+
<pre>
+
###DIVX
+
#
+
DIVX_DESTDIR=$DESTDIR/divx #Zielverzeichnis
+
DIVXSPLIT="no"
+
DIVXTYPE=lavc # lavc / divx / xvid
+
DIVX_SUFFIX=avi # Dateiendung
+
DIVXCCHOPT="-cache 32768" # Optionen
+
DIVXENCOPT="" # Sonstige Optionen
+
DIVXTCMODE=s # SVCD-konform
+
DIVXVLAVCCODEC=mpeg4 # mencoder-lavc-Optionen
+
DIVXQUALITY=5 # mencoder-Qualität
+
DIVXMP3R=192 # MP3-Bitrate für Lame
+
DIVXMP3_OPTS="-b $DIVXMP3R -h" #Hohe Qualität für MP3
+
DIVXSWS=2 # Beste Videoqualität
+
DIVXCDLEN=1200 # CD-Kapazität, hat unmittelbar Einfluss auf die Bitrate
+
DIVXMAXBITR=3000 # Maximal Bitrate
+
DIVXMINBITR=500 # Minimale Bitrate
+
DIVXHQ="yes" # Hohe Qualität produzieren
+
# Bei "no" wird die Auflösung
+
# durch zwei geteilt
+
# und eine Bitrate von 400
+
# eingesetzt (Archiv)
+
DIVXNOAC3=yes # AC3-Ton nicht berücksichtigen
+
DIVXAC3ONLY=no # Nur AC3-Ton falls vorhanden
+
DIVXBOTHMP=no # Beide MPEG-Spuren einsetzen (kein AC3)
+
DIVXFAKTOR=2 # Reduktionsfaktor für Filme < CD Länge
+
DIVX_USEFAKTOR=no
+
DIVX_MAXLEN=90
+
DIVX_MAXDIV=20
+
DIVX_RESDIV=yes # Halbiert die Aulösung
+
 
+
DIVXAUTOCROP=no # schwarze Ränder entfernen
+
DIVX_TITLEDATE=$CONV_TITLEDATE
+
#
+
</pre>
+
----
+
Zur '''Fehlersuche''' einfach in der vdrconvert.env die Zeile #DEBUG=yes von dem Doppelkreuz befreien. Dann werden die Einzelschritte des Umwandlungsprozesses mitgeloggt (Viiieeelll Text).
+
----
+
Nun kann man die beiden Verzeichnisse von einem anderen Rechner mounten:
+
<pre>
+
smbmount //IP/vid /karre2/video -o username=smbuser,password=somepass
+
smbmount //IP/conv /karre2/vdrconvert -o username=smbuser,password=somepass
+
</pre>
+
Jetzt kann der Job abgeschickt werden (Rechner2).
+
<pre>
+
cp -R 10min_test/ /karre2/video/
+
echo "/video/10min_test/2005-01-11.09.46.99.99.rec/" >> /karre2/vdrconvert/vdr2divx
+
</pre>
+
 
+
====Skripte====
+
Ich habe mir ein mini-Skript zum Abfeuern der Aufträge gebastelt:
+
<pre>
+
#!/bin/sh
+
 
+
echo "$1" >> /Pfad_zu_vdrconvert/vdr2divx
+
</pre>
+
Ausführbar machen und in /usr/bin eintragen:
+
<pre>
+
chmod +x divx.sh
+
ln -s /Pfad_zum_Skript/divx.sh /usr/bin/divx
+
</pre>
+
Nun kann man mit divx /video/Aufzeichnung/200...rec/ die Aufnahme umwandeln..
+
 
+
Zum fortlaufenden Betrachten des Protokoll der Umwandlung, hilft folgendes Kommando:
+
<pre>
+
tail -f -n 100 /var/log/vdrconvert/vdr2divx.log
+
</pre>
+
Ausführbar machen und in /usr/bin eintragen:
+
<pre>
+
chmod +x logdivx.sh
+
ln -s /Pfad_zum_Skript/logdivx.sh /usr/bin/logdivx
+
</pre>
+
 
+
====Probleme====
+
 
+
Beim ''./configure --prefix=/usr/local'' von Lame erscheint folgendes:
+
<pre>
+
checking for gtk-config... /usr/local/bin/gtk-config
+
checking for GTK - version >= 1.2.0... no
+
*** Could not run GTK test program, checking why...
+
*** The test program compiled, but did not run. This usually means
+
*** that the run-time linker is not finding GTK or finding the wrong
+
*** version of GTK. If it is not finding GTK, you'll need to set your
+
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
+
*** to the installed location  Also, make sure you have run ldconfig if that
+
*** is required on your system
+
***
+
*** If you have an old version installed, it is best to remove it, although
+
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
+
***
+
*** If you have a RedHat 5.0 system, you should remove the GTK package that
+
*** came with the system with the command
+
***
+
***    rpm --erase --nodeps gtk gtk-devel
+
checking use of ElectricFence malloc debugging... no
+
</pre>
+
Prüft man per Hand scheint es zu gehen... ?
+
<pre>
+
debian:/usr/local/src# /usr/local/bin/gtk-config --version
+
1.2.5
+
</pre>
+
Wobei der Prüfbefehl ohne "--version" ist... ?
+
 
+
 
+
 
+
'''Probleme mit Umlaute:'''
+
 
+
Zeichensatz anpassen damit auch Filme mit Umlauten (ä,ö,ü... konvertiert werden)
+
 
+
Anleitung ist getestet auf einem CT-VDR3.6 (mit einigen apt-get updates)
+
 
+
 
+
1. Update von dvdauthor 0.6.10-2 auf mindestens 0.6.10-4
+
 
+
 
+
2. Gegebenenfalls locales installieren:
+
''vdr:~# apt-get install locales''
+
 
+
 
+
3. ''vdr:~# dpkg-reconfigure locales''
+
 
+
de_DE ISO-8859-1
+
(UND)
+
de_DE@euro ISO-8859-15
+
auswählen.
+
[OK]
+
 
+
de_DE@euro ISO-8859-15 als System-default auswählen
+
[OK]
+
 
+
 
+
4. ''dpkg-reconfigure -p low console-data''
+
 
+
im Menü: qwertz; German; Standard; latin1 - no dead keys
+
(vorher gab es keine Umlaute auf der Tastatur)
+
 
+
 
+
5. /etc/vdr/vdrconvert/vdrconvert.conf anpassen mit:
+
 
+
''RECODE="recode latin1..UTF-8"''
+
 
+
 
+
'''Problem mit Berechtigung'''
+
 
+
Fehlermeldung im syslog wenn der vdrconvert Dämon unter Benutzer vdr läuft:
+
 
+
logger: /usr/bin/vdrconvert.sh : ERROR : Wrong permissions. /usr/bin/vdrconvert.sh exit
+
 
+
Lösung:
+
 
+
chown -R vdr:video /var/spool/vdrconvert /var/run/vdrconvert /var/log/vdrconvert
+
 
+
 
+
siehe {{vdrportal board|20330|VDR-Portal Thread}}
+
 
+
 
+
'''Problem: Erzeugte AVI-Datei hat 0 Byte Größe'''
+
 
+
Das kann an einer zu neuen Version des mencoder liegen, es kommt dann die Meldung:
+
-vop has been removed, use -vf instead.
+
 
+
Es hilft, in der Datei vdr2dix.sh -vop durch -vf zu ersetzen.
+
 
+
 
+
'''Problem: Erzeugte AVI-Datei lässt sich mit Windows-Mediaplayer nicht abspielen'''
+
 
+
Die neueste Version des mencoders benutzt den Codes FMP4, der standardmäßig nicht vom Windows Mediaplayer abgespielt wird (es kommt kein Bild). Entweder diesen Codec bei Windows nachinstallieren oder in die vdrconvert.env folgende Zeile hinzufügen:
+
 
+
DIVXENCOPT="-ffourcc DIVX"
+
 
+
Dadurch benutzt mencoder den "alten" DIVX-Codec, der vom Mediaplayer abgespielt wird.
+
 
+
===c't VDR===
+
Für die c't VDR Distribution steht das Plugin über e-tobi zur Verfügung.
+
Wer sources.list.online als apt source eingerichtet hat, kann die Installation durch ein einfaches
+
apt-get install vdr-addon-vdrconvert
+
durchführen.
+
 
+
<!-- ==Optionen== -->
+
<!-- ==Patches== -->
+
<!-- ==Konfiguration== -->
+
<!-- ==Einstellungen== -->
+
<!-- ==Parameter== -->
+
<!-- ==Bedienung== -->
+
<!-- ==[[SVDRP]] Befehle== -->
+
<!-- ==Probleme== -->
+
Folgende Einstellungen/Dateien sollten noch bei Problemen geändert werden:
+
 
+
Datei /etc/vdr/vdrconvert/vdrconvert.dvd.conf:
+
Ergänzen um: 
+
PPMTOY4M_OPTIONS="-n 1 -F 25:1 -A 59:54 -I t -L -r -v 0 -S 420mpeg2 "
+
>>> dieser behob den mjpeg 1.8.0 Tools Fehler, ohne dies kam man in der Regel nicht zu Fehler 2 ;-) <<<
+
 
+
Datei /etc/vdr/vdrconvert/vdrconvert.conf:
+
USE... einfügen:
+
 
+
TCMPLEX=tcmplex
+
TCMPLEX_PANTELTJE=tcmplex-panteltje
+
USE_TCMPLEX_PANTELTJE="yes"
+
 
+
Die folgende Zeile muss ein sonst bricht vdrconver immernoch ab:
+
sudo ln -s /usr/bin/tcmplex-pantelje /usr/bin/tcmplex
+
 
+
<!-- ==Tipps== -->
+
<!-- ==Wunschliste== -->
+
 
+
=== Hanno-VDR (basierend auf e-tobi) für Ubuntu ===
+
 
+
Hier sind die gleichen Ergänzungen wie beim c't-VDR oben zu beachten. Zusätzlich ist die Shebang-Zeile am Anfang der Skripte anzupassen - statt #!/bin/sh muss dort #!/bin/bash stehen.
+
 
+
Folgende Kommandos machen es auf einen Rutsch:
+
<pre>
+
$ sudo su -
+
# cd /usr/lib/vdrconvert/bin
+
# for n in `ls *.sh`; do
+
cp $n temp
+
sed 's/\/bin\/sh/\/bin\/bash/g' temp >$n
+
done
+
# rm temp
+
# exit
+
$
+
</pre>
+
 
+
==Snapshot==
+
cvs -d :pserver:anoncvs@ddimi.homeip.net:/cvs login
+
cvs -d :pserver:anoncvs@ddimi.homeip.net:/cvs co vdrconvert
+
 
+
==Links==
+
# {{vdrportal board|12830|Diskussion im VDR-Portal}}
+
# [http://vdrconvert.vdr-portal.de Homepage von VDRconvert]
+
# {{vdrportal board|16759|VDR aufnahmen direkt auf DVD brennen}}
+
# {{vdrportal board|25261|Projectx unter Debian installieren (Beitrag im VDR-Portal)}}
+
 
+
[[Kategorie:Skripte]]
+
{{i18n|vdrconvert-plugin}}
+

Version vom 17. April 2011, 11:39 Uhr

Walking in the presence of giants here. Cool thiinkng all around!