Vdrconvert

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(CT-vdr Version 2)
K (Beschreibung)
 
(66 dazwischenliegende Versionen von 31 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
'''Autor:''' Dimitrios Dimitrakos
 
'''Autor:''' Dimitrios Dimitrakos
  
Vdrconvert erlaubt das Erzeugen und Brennen standardkonformer DVDs aus VDR-Aufnahmen. Dabei ist keine Konvertierung nötig, sondern nur ein Umlagern der DVB-Streams die ja schon im MPEG-Format vorliegen. Allerdings ist die Anordnung der Bild- und Tonpakete bei den gesendeten MPEG-Streams anders, als sie auf der DVD vorliegen müssen.
+
Vdrconvert erlaubt das Erzeugen und Brennen standardkonformer DVDs aus VDR-Aufnahmen. Dabei ist keine Rekodierung nötig, sondern nur ein Umlagern der DVB-Streams, die ja schon im MPEG-Format vorliegen. Allerdings ist die Anordnung der Bild- und Tonpakete bei den gesendeten MPEG-Streams anders, als sie auf der DVD vorliegen müssen.
  
Vdrconvert nutzt VDRsync oder ProjectX, um die Ton- und Bildinformationen zu separieren (den Vorgang nennt man demuxen) und setzt sie mittles mplex oder tcmplex wieder im richtigen Format zusammen (muxen). Zudem kann ein DVD-Menü mit Informationen aus dem EPG erzeugt und Sprungmarken können als Kapitel auf der DVD gespeichert werden.
+
Vdrconvert nutzt [[Vdrsync|VDRsync]] oder [[Project X]], um die Ton- und Bildinformationen zu separieren (den Vorgang nennt man demuxen) und setzt sie mittels mplex oder tcmplex wieder im richtigen Format zusammen (muxen). Zudem kann ein DVD-Menü mit Informationen aus dem EPG erzeugt und Sprungmarken können als Kapitel auf der DVD gespeichert werden.
  
 
Außerdem können mit Vdrconvert DivX-Filme erzeugt werden.
 
Außerdem können mit Vdrconvert DivX-Filme erzeugt werden.
  
 +
<!--
 
==Bilder==
 
==Bilder==
[[Bild:vdrconvert-plugin-00.jpg|thumb|none|]]
+
{|
 +
|[[Bild:vdrconvert-plugin-00.jpg|thumb|none|''kurze beschreibung'']]
 +
|[[Bild:vdrconvert-plugin-01.jpg|thumb|none|''kurze beschreibung'']]
 +
|}
 +
-->
  
 
==Hardwareanforderungen==
 
==Hardwareanforderungen==
normales x86-System.
+
* normales x86-System. (Je mehr Rechenleistung, desto besser)
Je mehr Power, desto besser!
+
  
 
==Softwareanforderungen==
 
==Softwareanforderungen==
 
Für die folgende Installation lege ich ein Debian-Sarge per netinstall-CD zu Grunde.
 
Für die folgende Installation lege ich ein Debian-Sarge per netinstall-CD zu Grunde.
 
Als Bootoption habe ich "linux" gewählt.<br>
 
Als Bootoption habe ich "linux" gewählt.<br>
Einzig nennenswertes:<br>
+
Einzig Nennenswertes:<br>
Anlegen eines zusätzlichen Benutzers als späteren Sambauser (zb. smbuser).<br>
+
Anlegen eines zusätzlichen Benutzers als späteren Samba-User (z. B. smbuser).<br>
Dies eine Anleitung für ein alleinstehendes System ohne VDR-Dienst, jedoch sollte es auch auf einem Debian-VDR zu installieren sein.<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'''.
 
Weiter '''beschränke''' ich mich hier auf die '''Erstellung von DivX'''.
  
==Distributionsspezifisch==
+
==Installation==
=== CT-vdr Version 2 ===
+
 
+
== Installation ==
+
 
+
apt-get install vdr-addon-vdrconvert
+
 
+
== Konfigurationsdateien anpassen ==
+
 
+
===Debian===
+
 
+
===Vorbereitungen===
+
Zu aller Erst benötigen wir den ssh-Server um per Remote auf der Kiste arbeiten zu können.
+
Zusätzlich wird eine neuere vi-Version (Standardtexteditor unter linux) installiert.
+
 
+
apt-get install ssh vim
+
 
+
Nächster Schritt ist die Installation eines Samba-Servers um Verzeichnisse freizugeben.
+
 
+
apt-get install samba smbfs
+
 
+
Das folgende Konfigurations-Menü einfach mit ''Enter'' durchklicken.
+
Die Datei '''/etc/samba/smb.conf''' löschen wir und ersetzen sie durch die "schlanke" Version:
+
  
 +
====Konfigurationsdateien anpassen====
 +
Die Datei '''[[reccmds.conf]]''' mit den notwendigen Kommandos füllen. Meine Datei sieht folgendermaßen aus:
 +
{{Box Datei|$VDRCONFIG/reccmds.conf|
 
<pre>
 
<pre>
rm /etc/samba/smb.conf
+
DivX-Menü                      : echo "nothing (vdr2divx)"
nano /etc/samba/smb.conf
+
-Zu DivX-Liste hinzufügen      : /usr/bin/ins.sh vdr2divx
 
+
-Von DivX-Liste entfernen?      : /usr/bin/del.sh vdr2divx
[global]
+
-DivX-Liste abarbeiten?        : printf "\n" >> /var/spool/vdrconvert/vdr2divx
        workgroup = TUX-NET
+
-DivX-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2divx
        os level = 2
+
DVD-Menü                        : echo "nothing (vdr2dvd)"
        time server = Yes
+
-Zu DVD-Liste hinzufügen        : /usr/bin/ins.sh vdr2dvd
        unix extensions = Yes
+
-Von DVD-Liste entfernen?      : /usr/bin/del.sh vdr2dvd
        encrypt passwords = Yes
+
-DVD-Liste abarbeiten?          : printf "\n" >> /var/spool/vdrconvert/vdr2dvd
         log level = 1
+
-DVD-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2dvd
         syslog = 0
+
-Bild für DVD-Hauptmenü         : /usr/bin/grab.sh "background.pnm" vdr2dvd
        printing = CUPS
+
-Bild für DVD-Untermenü         : /usr/bin/grab.sh "subbackground.pnm" vdr2dvd
        printcap name = CUPS
+
-DVD-Link setzen (Vorschau)    : /usr/bin/preview.sh vdr2dvd
        socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
+
SVCD-Menü                      : echo "nothing (vdr2svcd)"
        wins support = No
+
-Zu SVCD-Liste hinzufügen      : /usr/bin/ins.sh vdr2svcd
         veto files = /*.eml/*.nws/riched20.dll/*.{*}/
+
-Von SVCD-Liste entfernen?      : /usr/bin/del.sh vdr2svcd
 
+
-SVCD-Liste abarbeiten?         : printf "\n" >> /var/spool/vdrconvert/vdr2svcd
[vdrpakete]
+
-SVCD-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2svcd
        path = /vdrpakete
+
VCD-Menü                        : echo "nothing (vdr2vcd)"
        comment = Vdrpakete-Verzeichnis
+
-Zu VCD-Liste hinzufügen        : /usr/bin/ins.sh vdr2vcd
        guest ok = no
+
-VCD-Liste abarbeiten?          : printf "\n" >> /var/spool/vdrconvert/vdr2vcd
        writeable = yes
+
-Von VCD-Liste entfernen?      : /usr/bin/del.sh vdr2vcd
         browseable = yes
+
-VCD-Liste anzeigen            : /usr/bin/cap.sh /var/spool/vdrconvert/vdr2vcd
        available = yes
+
Sonstiges                      : echo "nothing"
        valid users = smbuser
+
-MPEG erstellen (sync)?         : printf "%s\n" > /var/spool/vdrconvert/vdr2mpg
        public = no
+
-MP3 erstellen?                : printf "%s\n" > /var/spool/vdrconvert/vdr2mp3
 +
-AC3 erstellen?                : printf "%s\n" > /var/spool/vdrconvert/vdr2ac3
 
</pre>
 
</pre>
Verzeichnis und Sambauser anlegen, ihm das ''/vdrpakete''-Verzeichnis gefügig machen und den Sambadienst neu starten.
+
}}
 +
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>
 
<pre>
debian:~# mkdir /vdrpakete       
+
#---------------------------------------------------------------------
debian:~# smbpasswd -a smbuser
+
# Environment for vdrsync Scripts !
New SMB password:
+
#---------------------------------------------------------------------
Retype new SMB password:
+
# Version: 0.0.12 pre-alpha
debian:~# chown king /vdrpakete/
+
# Author: Dimitrios Dimitrakos mail@dimitrios.de
debian:~# smbd restart && nmbd restart
+
# $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>
 
</pre>
Nun kann man per ''smb://IP/vdrpakete'' von seinem PC auf das Verzeichnis zugreifen und Dateien auf die Karre bringen...
+
}}
  
==Installation==
+
===Debian===
 +
 
 +
====Installation====
 
Vorerst ein paar benötigte Pakete:
 
Vorerst ein paar benötigte Pakete:
 
<pre>
 
<pre>
Zeile 96: Zeile 120:
 
libxml2-dev --><br>
 
libxml2-dev --><br>
 
gettext --><br>
 
gettext --><br>
bzip2 --> zum Entpacken von zip-komprimierten Tar-Archiven (XXX.tar.bz2)<br>
+
bzip2 --> zum Entpacken von bzip2-komprimierten Tar-Archiven (XXX.tar.bz2)<br>
 
libglib1.2-dev --> <br>
 
libglib1.2-dev --> <br>
 
x-window-system-core --> <br>
 
x-window-system-core --> <br>
Zeile 124: Zeile 148:
 
'''libfame 0.9.1'''
 
'''libfame 0.9.1'''
 
<pre>
 
<pre>
 +
 
cd /usr/local/src/
 
cd /usr/local/src/
 
tar xfvz /vdrpakete/libfame-0.9.1.tar.gz -C .
 
tar xfvz /vdrpakete/libfame-0.9.1.tar.gz -C .
 
cd libfame-0.9.1/
 
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 ..
 
./configure --prefix=/usr/local/ && make && make install && ldconfig && cd ..
 
</pre>
 
</pre>
Zeile 144: Zeile 171:
 
cd tcmplex-panteltje-0.3/
 
cd tcmplex-panteltje-0.3/
 
cp /vdrpakete/tcmplex-panteltje-0.3.patch .
 
cp /vdrpakete/tcmplex-panteltje-0.3.patch .
cat tcmplex-panteltje-0.3.patch |patch -p1
+
patch -p1 < tcmplex-panteltje-0.3.patch
 
make && make install && ldconfig && cd ..
 
make && make install && ldconfig && cd ..
 
</pre>
 
</pre>
Zeile 220: Zeile 247:
 
</pre>
 
</pre>
  
==Bedienung==
+
====Bedienung====
 
Um von entfernten Rechnern (VDR-Server) einen Job starten zu können werden Video- und Jobverzeichnis per Samba freigegeben.<br>
 
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:
 
Zusätzlich in die smb.conf:
Zeile 250: Zeile 277:
 
</pre>
 
</pre>
  
Bevor der Knecht nun zur Arbeit geschickt wird, sollte das Config-File zur DivX-Erstellung verändert werden.<br>
+
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 grosses Avi-File produziert. (10min --> 161MB)<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>
 
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):
+
Hier wird nun der folgende Text (Einstellungen von [http://www.dogge-heros.de/vdr/vdr.htm Catweazles VDR]) angehängt (10min --> 118MB):
 
<pre>
 
<pre>
 
  ###DIVX
 
  ###DIVX
 
#
 
#
DIVX_DESTDIR=$DESTDIR/divx #Zielverzeichniss
+
DIVX_DESTDIR=$DESTDIR/divx #Zielverzeichnis
 
DIVXSPLIT="no"
 
DIVXSPLIT="no"
 
DIVXTYPE=lavc # lavc / divx / xvid
 
DIVXTYPE=lavc # lavc / divx / xvid
DIVX_SUFFIX=avi # Datei endung
+
DIVX_SUFFIX=avi # Dateiendung
 
DIVXCCHOPT="-cache 32768" # Optionen
 
DIVXCCHOPT="-cache 32768" # Optionen
DIVXENCOPT="" # Sonstige optionen
+
DIVXENCOPT="" # Sonstige Optionen
DIVXTCMODE=s # SVCD Konform
+
DIVXTCMODE=s # SVCD-konform
DIVXVLAVCCODEC=mpeg4 # mencoder lavc optionen
+
DIVXVLAVCCODEC=mpeg4 # mencoder-lavc-Optionen
DIVXQUALITY=5 # mencoder Qualität
+
DIVXQUALITY=5 # mencoder-Qualität
DIVXMP3R=192 # MP3 Bitrate für Lame
+
DIVXMP3R=192 # MP3-Bitrate für Lame
 
DIVXMP3_OPTS="-b $DIVXMP3R -h" #Hohe Qualität für MP3
 
DIVXMP3_OPTS="-b $DIVXMP3R -h" #Hohe Qualität für MP3
DIVXSWS=2 # Beste Video Qualität
+
DIVXSWS=2 # Beste Videoqualität
DIVXCDLEN=1200 # CD Kapazität, hat unmittelbar Einfluss auf die Bitrate
+
DIVXCDLEN=1200 # CD-Kapazität, hat unmittelbar Einfluss auf die Bitrate
DIVXMAXBITR=3000 # Maximal bitrate
+
DIVXMAXBITR=3000 # Maximal Bitrate
DIVXMINBITR=500 # Minimal bitrate
+
DIVXMINBITR=500 # Minimale Bitrate
 
DIVXHQ="yes" # Hohe Qualität produzieren
 
DIVXHQ="yes" # Hohe Qualität produzieren
#bei "no" wird die auflösung
+
# Bei "no" wird die Auflösung
# durch 2 geteilt
+
# durch zwei geteilt
 
# und eine Bitrate von 400
 
# und eine Bitrate von 400
 
# eingesetzt (Archiv)
 
# eingesetzt (Archiv)
DIVXNOAC3=yes # AC3 Ton nicht berücksichtigen
+
DIVXNOAC3=yes # AC3-Ton nicht berücksichtigen
DIVXAC3ONLY=no # Nur AC3 Ton falls vorhanden
+
DIVXAC3ONLY=no # Nur AC3-Ton falls vorhanden
DIVXBOTHMP=no # Beide MPeg spuren einsetzen (kein AC3)
+
DIVXBOTHMP=no # Beide MPEG-Spuren einsetzen (kein AC3)
 
DIVXFAKTOR=2 # Reduktionsfaktor für Filme < CD Länge
 
DIVXFAKTOR=2 # Reduktionsfaktor für Filme < CD Länge
 
DIVX_USEFAKTOR=no
 
DIVX_USEFAKTOR=no
Zeile 286: Zeile 313:
 
DIVX_RESDIV=yes # Halbiert die Aulösung
 
DIVX_RESDIV=yes # Halbiert die Aulösung
  
DIVXAUTOCROP=no # Schwarze ränder entfernen
+
DIVXAUTOCROP=no # schwarze Ränder entfernen
 
DIVX_TITLEDATE=$CONV_TITLEDATE
 
DIVX_TITLEDATE=$CONV_TITLEDATE
 
#  
 
#  
Zeile 304: Zeile 331:
 
</pre>
 
</pre>
  
==Skripte==
+
====Skripte====
 
Ich habe mir ein mini-Skript zum Abfeuern der Aufträge gebastelt:
 
Ich habe mir ein mini-Skript zum Abfeuern der Aufträge gebastelt:
 
<pre>
 
<pre>
Zeile 318: Zeile 345:
 
Nun kann man mit divx /video/Aufzeichnung/200...rec/ die Aufnahme umwandeln..
 
Nun kann man mit divx /video/Aufzeichnung/200...rec/ die Aufnahme umwandeln..
  
Zum Betrachten des Umwandlungslogfiles folgendes Skriptchen:
+
Zum fortlaufenden Betrachten des Protokoll der Umwandlung, hilft folgendes Kommando:
 
<pre>
 
<pre>
#!/bin/sh
 
 
 
tail -f -n 100 /var/log/vdrconvert/vdr2divx.log
 
tail -f -n 100 /var/log/vdrconvert/vdr2divx.log
 
</pre>
 
</pre>
Zeile 330: Zeile 355:
 
</pre>
 
</pre>
  
==Probleme==
+
====Probleme====
 +
 
 
Beim ''./configure --prefix=/usr/local'' von Lame erscheint folgendes:
 
Beim ''./configure --prefix=/usr/local'' von Lame erscheint folgendes:
 
<pre>
 
<pre>
Zeile 389: Zeile 415:
 
4. ''dpkg-reconfigure -p low console-data''
 
4. ''dpkg-reconfigure -p low console-data''
  
im Menü: quertz; German; Standard; latin1 - no dead keys
+
im Menü: qwertz; German; Standard; latin1 - no dead keys
 
(vorher gab es keine Umlaute auf der Tastatur)
 
(vorher gab es keine Umlaute auf der Tastatur)
  
Zeile 397: Zeile 423:
 
''RECODE="recode latin1..UTF-8"''
 
''RECODE="recode latin1..UTF-8"''
  
==CVS==
 
<pre>
 
cvs -d :pserver:anoncvs@ddimi.homeip.net:/cvs login
 
cvs -d :pserver:anoncvs@ddimi.homeip.net:/cvs co vdrconvert
 
</pre>
 
==Links==
 
{|
 
| [1]
 
| http://www.vdrportal.de/board/thread.php?threadid=12830
 
| Diskussion im VDRportal
 
|-
 
| [2]
 
| http://vdrconvert.vdrportal.de
 
| Homepage von VDRconvert
 
|-
 
| [3]
 
| http://www.vdrportal.de/board/thread.php?threadid=16759
 
| VDR aufnahmen direkt auf DVD brennen
 
|}[[Kategorie:Plugins]]
 
  
----
+
'''Problem mit Berechtigung'''
Von gelöschten Beitrag '''Bearbeiten von Archivieren von Aufnahmen''' kopiert:
+
  
Irgendwann ist jede Festplatte in einem VDR mal voll. Dann bietet es sich an, die Aufnahmen mittels [[Optische Laufwerke/Brenner]] auf CDs oder DVDs auszulagern oder die Umwandlung der Aufnahmen in ein Datenformat das platzsparender ist und einen guten Kompromiss zwischen Qualität und Speicherplatz bietet. Grundsätzlich gibt es mehrere Möglichkeiten, Aufnahmen dauerhaft zu archivieren [1]:
+
Fehlermeldung im syslog wenn der vdrconvert Dämon unter Benutzer vdr läuft:
  
* 1. Archivieren der VDR-Aufnahmeverzeichnisse auf DVD [2]: Praktisch, weil keine weitere Vorverarbeitung nötig ist. Allerdings können die so erzeugten DVDs auch nur in einem VDR abgespielt werden.
+
logger: /usr/bin/vdrconvert.sh : ERROR : Wrong permissions. /usr/bin/vdrconvert.sh exit
  
* 2. Erzeugen einer standardkonformen DVD: Solche DVDs lassen sich auch in einem handelsüblichen DVD-Player abspielen.
+
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)}}
  
* 3. Umwandlung in DivX...
+
[[Kategorie:Skripte]]
 +
{{i18n|vdrconvert-plugin}}

Aktuelle Version vom 8. Januar 2012, 21:02 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Dimitrios Dimitrakos

Vdrconvert erlaubt das Erzeugen und Brennen standardkonformer DVDs aus VDR-Aufnahmen. Dabei ist keine Rekodierung nötig, sondern nur ein Umlagern der DVB-Streams, die ja schon im MPEG-Format vorliegen. Allerdings ist die Anordnung der Bild- und Tonpakete bei den gesendeten MPEG-Streams anders, als sie auf der DVD vorliegen müssen.

Vdrconvert nutzt VDRsync oder Project X, um die Ton- und Bildinformationen zu separieren (den Vorgang nennt man demuxen) und setzt sie mittels mplex oder tcmplex wieder im richtigen Format zusammen (muxen). Zudem kann ein DVD-Menü mit Informationen aus dem EPG erzeugt und Sprungmarken können als Kapitel auf der DVD gespeichert werden.

Außerdem können mit Vdrconvert DivX-Filme erzeugt werden.


[Bearbeiten] Hardwareanforderungen

  • normales x86-System. (Je mehr Rechenleistung, desto besser)

[Bearbeiten] Softwareanforderungen

Für die folgende Installation lege ich ein Debian-Sarge per netinstall-CD zu Grunde. Als Bootoption habe ich "linux" gewählt.
Einzig Nennenswertes:
Anlegen eines zusätzlichen Benutzers als späteren Samba-User (z. B. smbuser).
Dies ist eine Anleitung für ein alleinstehendes System ohne VDR-Dienst, jedoch sollte es auch auf einem Debian-VDR zu installieren sein.
Weiter beschränke ich mich hier auf die Erstellung von DivX.

[Bearbeiten] Installation

[Bearbeiten] Konfigurationsdateien anpassen

Die Datei reccmds.conf mit den notwendigen Kommandos füllen. Meine Datei sieht folgendermaßen aus:

Datei
$VDRCONFIG/reccmds.conf
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


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:

Datei
/etc/vdr/vdrconvert/etc/vdrconvert.env
#---------------------------------------------------------------------
# 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


[Bearbeiten] Debian

[Bearbeiten] Installation

Vorerst ein paar benötigte Pakete:

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

automake -->
nasm -->
libxml2-dev -->
gettext -->
bzip2 --> zum Entpacken von bzip2-komprimierten Tar-Archiven (XXX.tar.bz2)
libglib1.2-dev -->
x-window-system-core -->
x-window-system-dev -->
fluxbox -->
xdm -->
libmagick++6-dev --> (Wird von transcode benötigt)
libsdl1.2-dev --> (Wird von transcode benötigt)


GTK+ 1.2.5

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 ..

lame 3.96

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 ..

libfame 0.9.1


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 ..

vdrsync 0.1.2.2dev2

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/

tcmplex-panteltje 0.3

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 ..

divx4linux 18.04.2002

cd /usr/local/src/
tar xfvz /vdrpakete/divx4linux-20020418.tgz -C .
cd divx4linux-20020418/
./install.sh
cd ..

MPlayer 1.0pre3

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 ..

transcode 0.6.12

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 ..

VDRConvert 0.1.0 Zum Installieren des Convertierungsprogramms müssen noch das Quell- und Zielverzeichnis erstellt werden.

mkdir /video
mkdir /data

Installation:

cd /usr/local/src/
cp /vdrpakete/vdrconvert-0.1.1.run .
./vdrconvert-0.1.1.run

Im Installationmenü folgende Einstellungen:

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

[Bearbeiten] Bedienung

Um von entfernten Rechnern (VDR-Server) einen Job starten zu können werden Video- und Jobverzeichnis per Samba freigegeben.
Zusätzlich in die smb.conf:

[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

Rechte zuweisen und Samba-Neustart:

chown -R king /video/
chown -R king /var/spool/vdrconvert/
smbd restart && nmbd restart

Bevor der Knecht nun zur Arbeit geschickt wird, sollte die Konfigurationsdatei zur DivX-Erstellung verändert werden.
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)
Die Datei nennt sich vdrconvert.env und liegt bei der 0.1.0-Version unter /root/.vdrconvert/.
Hier wird nun der folgende Text (Einstellungen von Catweazles VDR) angehängt (10min --> 118MB):

 ###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
# 

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:

smbmount //IP/vid /karre2/video -o username=smbuser,password=somepass
smbmount //IP/conv /karre2/vdrconvert -o username=smbuser,password=somepass

Jetzt kann der Job abgeschickt werden (Rechner2).

cp -R 10min_test/ /karre2/video/
echo "/video/10min_test/2005-01-11.09.46.99.99.rec/" >> /karre2/vdrconvert/vdr2divx

[Bearbeiten] Skripte

Ich habe mir ein mini-Skript zum Abfeuern der Aufträge gebastelt:

#!/bin/sh

echo "$1" >> /Pfad_zu_vdrconvert/vdr2divx

Ausführbar machen und in /usr/bin eintragen:

chmod +x divx.sh
ln -s /Pfad_zum_Skript/divx.sh /usr/bin/divx

Nun kann man mit divx /video/Aufzeichnung/200...rec/ die Aufnahme umwandeln..

Zum fortlaufenden Betrachten des Protokoll der Umwandlung, hilft folgendes Kommando:

tail -f -n 100 /var/log/vdrconvert/vdr2divx.log

Ausführbar machen und in /usr/bin eintragen:

chmod +x logdivx.sh
ln -s /Pfad_zum_Skript/logdivx.sh /usr/bin/logdivx

[Bearbeiten] Probleme

Beim ./configure --prefix=/usr/local von Lame erscheint folgendes:

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

Prüft man per Hand scheint es zu gehen... ?

debian:/usr/local/src# /usr/local/bin/gtk-config --version
1.2.5

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 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.

[Bearbeiten] 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.

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


[Bearbeiten] 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:

$ 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
$

[Bearbeiten] Snapshot

cvs -d :pserver:anoncvs@ddimi.homeip.net:/cvs login
cvs -d :pserver:anoncvs@ddimi.homeip.net:/cvs co vdrconvert

[Bearbeiten] Links

  1. Diskussion im VDR-Portal
  2. Homepage von VDRconvert
  3. VDR aufnahmen direkt auf DVD brennen
  4. Projectx unter Debian installieren (Beitrag im VDR-Portal)
In anderen Sprachen