VdrTransXvid

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Links: neu Kategorie)
K
 
(55 dazwischenliegende Versionen von 22 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
{{Box Hinweis|Die Entwicklung von VdrTransxvid wurde zugunsten [[VdrTranscode]] ( basierend auf HandbrakeCLI ) eingestellt.}}
 +
 
==Beschreibung==
 
==Beschreibung==
'''Autor:''' Alexander Richter
+
'''Autor:''' Alexander Richter  
 +
 
 +
- '''last stable Version upload 31.12.2008'''
 +
 
 +
- '''last alpha Version upload 24.09.2009'''
 +
 
 +
== KurzInfo zum Snapshot 31.12.2008==
 +
Download unten unter Snapshots ...
 +
 
 +
NEW :
 +
- Opt. Mehrere Tonspuren im Xvid Datei
 +
- Opt. AC3 Ton zusätzlich im xvid Datei
 +
- Opt. eingerenderter Text am Beginn, wie viele Audiospuren verfügbar
 +
- konfigurierbare Matrizze, der zu erreichenden Größen mit allen Kombinationen der Audiospuren
 +
- Statistik, über Renderframeraten und Renderzeiten
 +
 
 +
vdrtransxvid.conf konfigurieren
 +
install.pl ausführen.
 +
html Übersichten sind erst einmal deaktiviert
 +
 
 +
gebraucht wird:
 +
perl
 +
vdr >1.4.5
 +
transcode mit xvid
 +
mplex
 +
projectx ohne X
 +
 
 +
ausführen als normaler user :
 +
- Movie im vdr markieren -> befehle -> für vdrtransxvid markieren
 +
- $ vdr2mpgV4.pl ( zum Umsetzen in mpg )
 +
- $ mpg_2_avi_V4.pl --do ( batchverarbeitung anstoßen )
 +
 
 +
zusätzlich möglich :
 +
- mpg_2_avi_V4.pl --show ( zum nachschauen, was ansteht )
 +
- mpg_2_avi_V4.pl --auto /FULLPATH/my_movie.mpg --size 300 ( neu xvid größe per hand setzen )
 +
- mpg_2_avi_V4.pl --auto /FULLPATH/my_movie.mpg --audio 0 ( audiokomprimierung abschalten -- Musik )
 +
 
 +
PS: eventuell müssen Pfade angepasst werden, der Snapshot läuft hier seit 11/2007 stabil.
 +
 
 +
Beispiel für eingerenderten Text :
 +
 
 +
http://de.youtube.com/watch?v=NLO-mtCaMm4
 +
 
 +
Problemlösung für :
 +
!!! ProjectX nicht gefunden / ausführbar ... bitte ändern ...
 +
 
 +
als "/usr/bin/projectx" speichern und ausführbar machen mit chmod a+x :
 +
 
 +
#!/bin/sh
 +
java -Djava.awt.headless=true -jar /usr/local/bin/ProjectX.jar $@
  
VdrTransXvid ist eine Sammlung von 3 Perlscripten, um aus geschnittenen
+
VdrTransXvid ist eine Sammlung von mehreren Perlscripten, um aus geschnittenen
 
Vdr-Aufnahmen nahezu ohne Interaktion Xvid Videos zu erstellen.
 
Vdr-Aufnahmen nahezu ohne Interaktion Xvid Videos zu erstellen.
  
Was tuts nun, was geht ?
+
Was tut's nun, was geht?
Du kannst in einem Rutsch alle geschnittenen Aufnahmen in Mpeg-Files umsetzen, inclusive Timekorrektur ( Ton/Bildversatz ) und automatischer Auswahl der ersten Tonspur.
+
Du kannst in einem Rutsch alle geschnittenen Aufnahmen in Mpeg-Dateien umsetzen, inklusive Zeitkorrektur ( Ton/Bildversatz ) und automatischer Auswahl der ersten Tonspur.
  
Du kannst in einem weiteren Rutsch alle diese Mpeg's in Xvid umsetzen, ohne eine Interaktion, die Defaultwerte ( mp3 Rate , Zielgröße etc. ) sind vorgegeben oder werden onTheFly ermittelt.
+
Du kannst in einem weiteren Rutsch alle diese MPEGs in Xvid umsetzen, ohne eine Interaktion. Die Defaultwerte ( mp3 Rate , Zielgröße etc. ) sind vorgegeben oder werden "on the fly" ermittelt.
  
Die Zielgrößen onThefly richten sich nach der Länge des Films , hier in Frames :
+
Die Zielgrößen "on the fly" richten sich nach der Länge des Films, hier in Frames:
  
 
  1400 MB ( Frames >= 160000 ) über ~ 106 Minuten
 
  1400 MB ( Frames >= 160000 ) über ~ 106 Minuten
Zeile 23: Zeile 74:
 
  90000 Frames = 1 Stunde
 
  90000 Frames = 1 Stunde
  
Du kannst in einem letzten Rutsch von den neuen Avi's HTML Übersichten mit technischen Daten, Screenshots etc. anlegen lassen, die alle in einem Frameset statisch und thematisch verlinkt sind.
+
Du kannst in einem letzten Rutsch von den neuen AVIs HTML-Übersichten mit technischen Daten, Screenshots etc. anlegen lassen, die alle in einem Frameset statisch und thematisch verlinkt sind.
 +
 
 +
Die Scripte richten sich an Anwender, die außerhalb vom VDR auf der Kommandozeile fast vollautomatisch ihre Aufnahmen in xvid archivieren wollen.
  
 
<!-- ==Hardwareanforderungen== -->
 
<!-- ==Hardwareanforderungen== -->
  
 
==Softwareanforderungen==
 
==Softwareanforderungen==
* '''Perl''' ich habe 5.8.6 , sollte jedes aktuellere Linux-System aber haben
+
* '''Perl'''           ich habe 5.8.6 , sollte jedes aktuellere Linux-System aber haben  
* '''xvid''' ich habe Version xvidcore-1.1.0-beta2 von xvid.org
+
* '''xvid'''           ich habe Version xvidcore-1.1.0-r1 von xvid.org  
* '''lame''' ich habe Versin 3.96.1, funktioniert, andere bitte probieren
+
* '''lame'''           ich habe Version 3.96.1, funktioniert, andere bitte probieren  
* '''divx''' OPTIONAL wer mag, benutze es nicht mehr, da quali gegenüber xvid zu schlecht ( 5.01)
+
* '''divx'''           OPTIONAL wer mag, benutze es nicht mehr, da quali gegenüber xvid zu schlecht ( 5.01)  
* '''ffmpeg''' OPTIONAL wer mag, Unterstützung ja, ich benutze es aber nicht  
+
* '''ffmpeg'''         OPTIONAL wer mag, Unterstützung ja, ich benutze es aber nicht  
* '''transcode''' ich habe Version 1.0.1 vorherige gehen nicht, ( deinterlacer Problem )
+
* '''transcode'''       ich habe Version 1.0.2, vor 1.01 gehen nicht, ( deinterlacer Problem )  
  
 
Bitte an eigene Bedürfnisse anpassen, ich habe transcode übersetzt mit :
 
Bitte an eigene Bedürfnisse anpassen, ich habe transcode übersetzt mit :
$ ./configure --enable-a52 --enable-mjpegtools --enable-avifile --enable-libmpeg3 --enable-gtk --enable-imagemagick
+
$ ./configure --enable-a52 --enable-mjpegtools --enable-avifile --enable-libmpeg3 --enable-gtk --enable-imagemagick --enable-xvid --enable-x264 --enable-faac
  
* '''vdrsync.pl''' bitte mal suchfunktion vdr-board oder vdr-wiki , dann ausführbar z.B. /usr/local/bin/vdrsync.pl
+
* '''mjpegtools'''     ich habe mjpegtools-1.8.0-r1, daraus wird mplex gebraucht
* '''avinfo''' für die HTML Seitenerstellung, wer das nicht will, kann avinfo auch weglassen  
+
* '''VDR'''            mind. 1.3.17
* '''Vdr''' :-)
+
* '''avinfo''' für die HTML Seitenerstellung, wer das nicht will, kann avinfo auch weglassen, ich habe Version 1.0 alpha 15
+
  
==Installation Voraussetzung Pfade ==
+
==Konfiguration und Installation==
  
angelegt werden müssen :
+
Mit der Version vom 28.05.2005 gibt es eigenes Installer-Script und eine Konfigurationsdatei.
 +
Ihr habt euch das aktuelle tgz Archiv runtergeladen ( Link Siehe unten ), entpackt wird es in einem Verzeichnis eurer Wahl mit :
  
'''1.''' ein Verzeichnis für Info Files technische Daten etc.
+
  $ tar xfvz ./vdrtransxvid_VERSION.tgz
  bei mir wäre es : $ mkdir /home/alex/mpeg2avi :
+
$ mkdir YOUR_HOME_DIR/mpeg2avi
+
  
'''2.''' dorthinein kommen folgende Files :
+
Nun Wechsel ins neu angelegte Verzeichnis "vdrtransxvid" und öffnet die Datei vdrtransxvid.conf ebenda in einem geeigneten Editor und passt sie euren Gegebenheiten an :
* ffmpeg.cfg
+
  
* xvid4.cfg
+
#  vdrtransxvid.conf
 +
#  zentrale Konfigurationsdatei für das Scriptpaket VdrTransXvid
 +
#  VOR ausführem von install.pl EDITIEREN !!!
 +
#  Stand 28.05.2006
 +
#-----------------------------------------------------------------------------
 +
### Dein Heimatverzeichnis, muss existieren und beschreibbar sein
 +
Home = "/home/alex/"
 +
#-----------------------------------------------------------------------------
 +
# wohin sollen die Scripte installiert werden ? ein guter Platz wäre z.B. /usr/local/bin/
 +
Bin_Install_Dir = "/usr/local/bin/"
 +
#-----------------------------------------------------------------------------
 +
# wo liegen die VDR Dateien , aka verzeichnis /video
 +
# kein abschliessenden backslash !!!
 +
InDir = "/video"
 +
#-----------------------------------------------------------------------------
 +
# wo befindet sich die Datei reccmds.conf aus der VDR Konfiguration ? ( /etc/vdr oder /video o.ä.)
 +
Loc_reccmdsconf = "/video/"
 +
#-----------------------------------------------------------------------------
 +
# wo sollen die fertigen mpg und avi Dateien hin ?
 +
OutDir = "/home/alex/Video_Bearbeitung_mpg/"
 +
#-----------------------------------------------------------------------------
 +
# mp3 rate ( 96, 112 , 128 , 192 )
 +
Mp3 ="128"
 +
#-----------------------------------------------------------------------------
 +
# 0,0 für schnell 5,5 für best Qualitätsfaktor für divxencoder
 +
QFact = "-Q 5,5"
 +
#-----------------------------------------------------------------------------
 +
# Debug Ausgaben von transcode        -q2 oder leer -> " "
 +
Debug_Level = " "
 +
#-----------------------------------------------------------------------------
 +
## Möchtest du die HTML - Statistik erfassung aktivieren ? "yes" oder "no"
 +
HMTL = "yes"
 +
#-----------------------------------------------------------------------------
 +
## wenn ja, wo soll die Datenbank , aka html Seiten Sammlung entstehen ?
 +
HMTL_DIR = "/mnt/hdc1/Filmdatenbank/"
  
lesbar machen mit : $ chmod u+r ./datei
+
''Anmerkung eines Benutzers'': Als <tt>Home</tt> das Home-Verzeichnis des Benutzers angeben, unter dessen Kennung der VDR ausgeführt wird! Sonst gibt es später Probleme.
  
'''3.''' ein Verzeichnis für die Mpeg/Avi -Files anlegen, im Gigabereich , ich habe 20 Gigabyte dafür
+
''Anmerkung eines Benutzers'': <tt>OutDir</tt> unbedingt mit slash hinten angeben, sonst gibt es später Probleme.
bei mir wäre es : $ mkdir /home/alex/Video_Bearbeitung_mpg
+
+
'''4.''' die Scripte in ein ausführbares Verzeichnis kopieren , sehr gut geeignet z.B. /usr/local/bin
+
* vdr2mpgV2.pl
+
  
* mpg_to_avi_V2.pl
+
wenn ihr alle Einstellungen erledigt habt, direkt speichern.
  
* update_filmarchiv.pl
+
Nun Benutzer zu root werden und ./install.pl ausführen :
  
  ausführbar/editierbar machen mit : $ chmod u+rwx ./datei
+
  $ su
 +
( Passwort )
 +
$ ./install.pl
  
'''5.''' für die HTML Seiten Erstellung ein Zieldirectory anlegen und den Ordner Filmdatenbank/ dahin kopieren.
+
Folgender Dialog erwartet euch, hier mit Kommentaren :
  
==Installation Editieren der Grundeinstellungen in den Scripten==
+
alex vdrtransxvid # ./install.pl</br>
'''1. vdr2mpgV2.pl''' mit einem Editor deiner Wahl öffnen ( das KDE Kate nehme ich gern ) und Grundsettings anpassen
+
------------------------------------------------------------------------------
 +
Welcome to the Installer of VdrTransXvid 0.1 , first we check the needet Binarys :
 +
------------------------------------------------------------------------------
 +
OK :    Transcode Version v1.0.2 gefunden in /usr/bin/transcode ....
 +
OK :    tcdemux gefunden in /usr/bin/tcdemux ....
 +
OK :    tcprobe gefunden in /usr/bin/tcprobe ....
 +
OK :    mjpegtools mplex-2 gefunden in /usr/bin/mplex ....</br>
 +
Frage : Du hast bereits die Datei 'vdrtransxvid.conf' hier im aktuellen Verzeichnis editiert und deinen Gegebenheiten angepasst ?
 +
        [Enter] oder [Ctrl-c] für abbrechen</br>
 +
Frage : Kopiere nun die Scripte ins Verzeichnis /usr/local/bin/ ?
 +
        [Enter] oder [Ctrl-c] für abbrechen</br>
 +
( ich hatte bei diesem durchlauf des scripts bereits die scripte im  Zielverzeichnis, daher die Sicherheitsabfragen )
 +
Frage : /usr/local/bin/mpg_to_avi_V2.pl existiert bereits, LÖSCHEN ???
 +
        Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
 +
Frage : /usr/local/bin/vdr2mpgV3.pl existiert bereits, LÖSCHEN ???
 +
        Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
 +
Frage : /usr/local/bin/vdrtransxvid_touch_cuted_flag.pl existiert bereits,  LÖSCHEN ???
 +
        Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
 +
Frage : /usr/local/bin/update_filmarchiv.pl existiert bereits, LÖSCHEN ???
 +
        Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
 +
OK :    kopiere ./ffmpeg.cfg
 +
OK :    kopiere ./xvid4.cfg</br>
 +
( Wenn in der Konfigdatei, HTML auf yes gesetzt wurde, wird das Grundgerüst kopiert )
 +
INFO :  kopiere das Filmdatenbank - Grundgerüst NICHT nach /mnt/hdc1/Filmdatenbank/, da das Dir bereits besteht !</br>
 +
OK :    avinfo gefunden in /usr/bin/avinfo ....
 +
OK :    Konfigurationsdatei neu angelegt : /home/alex/.vdrtransxvid.conf</br>
 +
------------------------------------------------------------------------------
 +
INFO : Noch ein paar schnelle Tipps zum beginnen :
 +
------------------------------------------------------------------------------
 +
1. Schneiden der Dateien im VDR, kein Schneiden ausführen nötig, Schnittmarken im orig. Datei langen völlig
 +
2. Markieren der geschnittenen Dateien innerhalb des VDR mit "Befehle" im  Aufnahmeverzeichnis
 +
--> VdrTransXvid -> als geschnitten markieren
 +
3. außerhalb des VDR auf der Kommandozeile : "vdr2mpgV3.pl" ausführen
 +
4. außerhalb des VDR auf der Kommandozeile : "mpg_to_avi_V2.pl --showbatch" zum Ansehen der anstehenden Dateien
 +
5. außerhalb des VDR auf der Kommandozeile : "mpg_to_avi_V2.pl --dobatch" zum transcodieren der anstehenden Dateien</br>
 +
viel Spaß
 +
PS : wenn alles spielt, probiere alles auf einmal : "vdr2mpgV3.pl &&  mpg_to_avi_V2.pl --dobatch"
 +
------------------------------------------------------------------------------
  
my $Home = "/home/alex/" ; ### sollte klar sein
+
Kurz erklärt, was beim Ausführen von install.pl passiert :</br>
my $InDir  = "/video" ; ### Das VDR Videoverzeichnis,
+
* zuerst wird geprüft, ob das Script als User root ausgeführt wird
derzeit nur eins unterstützt, kein abschliessenden backslash !!!</br>
+
* es werden die benötigten externen ausführbaren Programme auf Ort und Ausführbarkeit geprüft, wenns hier klemmt, müßt ihr überprüfen, ob ihr alles benötigte installiert habt. ( siehe Softwareanforderungen )
my $OutDir = "/home/alex/Video_Bearbeitung_mpg/" ;</br> ### das Verzeichnis für die Mpg's
+
* Kurze Abfrage, ob das Konfigurationsscript angepasst wurde
my $Infodir = "${Home}/mpeg2avi/Info/" ; ### fix --> So belassen
+
* die Scripte werden in's bin verzeichnis kopiert ( je nach Angabe in der vdrtransxvid.conf )
my $mpeg2avi_bin = "/usr/local/bin/mpg_to_avi_V2.pl" ;
+
* die Scripte werden ebendort ausführbar gemacht
### wo liegt das ausführbare Script mpg_to_avi_V2.pl ?
+
* es wird im Homeverzeichnis ein Verzeichnis "mpeg2avi" angelegt, dort landen später alle Infodateien der transcodierten Filme, sowie jetzt 2 config-Dateien für Transcode ( xvid4.cfg und ffmpeg.cfg )
 +
* Wenn die HTML Erfassung aktiviert ist, wird das Grundgerüst hierfür kopiert
 +
* aus der Konfigurationdatei vdrtransxvid.conf wird eine bereinigte im Homeverzeichnis generiert ( /YOUR_HOME/.vdrtransxvid ), die mit führendem Punt nicht sichtbar ist. Diese kann man später noch editieren, einfacher ist es wohl, die vdrtransxvid.conf im aktuellen entpackten verzeichnis zu nehmen und anschließend nochmal ./install.pl laufen zu lassen
 +
* zum Schluß dann noch ein paar Tipps für Eilige
  
 +
Soweit so gut, werdet wieder normaler User ( Ctrl-D ).
 +
Um das Markierungsscript im VDR zu aktivieren, VDR neu starten ( das Install script schreibt eine neue Befehlszeile in die reccmds.conf von VDR ).
  
 +
Damit ist die Installation beendet.
  
'''2. mpg_to_avi_V2.pl''' mit einem Editor deiner Wahl öffnen ( das KDE Kate nehme ich gern ) und Grundsettings anpassen
+
==Testen==
 +
Zum testen, ob alles läuft, beginnst du am besten einen einzelnen File im VDR zu schneiden.
 +
Es reicht völlig aus , nur die Schnittmarken zu setzten, du mußt NICHT schneiden -> ausführen, einen neuen geschnittenen File erzeugen.
  
 +
Nach dem Cut gehst du im VDR auf Aufnahme -> Befehle und markierst die Aufnahme für vdrtransxvid :
 +
VdrTransXvid -> als geschnitten markieren
  
my $BinDir = "/usr/bin/" ; # fix
+
* ACHTUNG : Version vom 28.05.2006 hat einen Bug :
my $MpgDir = "/home/alex/Video_Bearbeitung_mpg/" ;
+
Bitte in der reccmds.conf prüfen, ob die Anweisung "VdrTransXvid -> als geschnitten markieren..." in einer neuen Zeile erscheint, ich hatte in diser Version vergessen, einen Zeilenumbruch vorher einzufügen, kann aber auch schnell per Hand geändert werden.
# wo befinden sich die orig mpeg Files
+
my $OutDir  = "/home/alex/Video_Bearbeitung_mpg/" ;
+
# wo kommen die avi`s hin
+
my $Mp3 ="112" ; # mp3 rate ( 96, 112 , 128 , 192 )
+
my $QFact="-Q 5,5" ; # 0,0 für schnell 5,5 für best Qualitätsfaktor für divxencoder
+
my $Debug_Level = "-q2" ; # -q2 oder leer
+
  
  
'''3. update_filmarchiv.pl''' mit einem Editor deiner Wahl öffnen ( das KDE Kate nehme ich gern ) und Grundsettings anpassen
 
  
 +
[[Bild:Record.jpg|Markieren der Aufnahme für die Weiterverarbeitung mit VdrTransXvid]]
  
#### EDITIER MICH
+
Nach einer kurzen Weile taucht die Aufnahme mit dem Prefix [cut] im Aufnahmeverzeichnis auf, aka "[cut]Star-Trek-Episode-irgendwas"
my $Archiv="/mnt/usb-hd/Filmdatenbank/" ; # wo soll die Struktur
+
Anhand dieses Prefixes erkennt das Transcode Script, welche Aufnahmen transcodiert werden sollen.
des Filmarchivs entstehen ? Ordner Filmdatenbank/ vorher dahin kopiert ?
+
#### EDITIER MICH ENDE
+
  
==Testen==
+
[[Bild:Record_2.jpg|Die markierten und umbenannten Aufnahmen]]
Nachdem alles ausführbar ist, beginnst du am besten einen einzelnen File im VDR zu schneiden.
+
 
 +
 
 +
Danach führst du in einer Kommandozeile vdr2mpgV3.pl aus.
 +
 
 +
$ vdr2mpgV3.pl
 +
 
 +
Das sollte nach und nach eine Ausgabe ähnlich dieser bringen :
 +
 
 +
------------------------------------------------------------------------------
 +
° Alle anstehenden Dateien nochmal zum abnicken, [Enter] für weiter [Ctrl-C] für abrechen :
 +
------------------------------------------------------------------------------
 +
° Final_Call
 +
° The_I_Inside-Im_Auge_des_Todes
 +
( nutze ich, um mal zu schauen, was alles ansteht, ohne gleich alles in mpg umzusetzten )</br>
 +
° und nun : Final_Call
 +
° Ermittle Parameter für mpg_to_avi ...
 +
--->    35.2%*quit...</br>
 +
° und nun : The_I_Inside-Im_Auge_des_Todes
 +
° Ermittle Parameter für mpg_to_avi ...
 +
--->    5.2%*quit...</br>
 +
° All done ...
  
Danach führst du in der Kommandozeile vdr2mpgV2.pl aus
 
Das sollte nach und nach eine Ausgabe ähnlich dieser bringen :
 
  
.....
 
alex@alex ~ $ /home/alex/scripting/perl/smpg2avi/vdr2mpgV2.pl
 
MTV_unplugged-Best_of_Teil_1 steht an ...
 
--->    10.4%
 
MTV_unplugged-Best_of_Teil_2 steht an ...
 
--->    99.9%
 
Der_Wixxer steht an ...
 
--->    49.5%
 
All done ...
 
.....
 
  
 
Checked bitte danach, ob es in eurem /HOME/mpeg2avi/ Verzeichnis ein Unterverzeichnis mit Namen Info gibt, in dem für jede Aufnahme ein Subdir angelegt wurde :
 
Checked bitte danach, ob es in eurem /HOME/mpeg2avi/ Verzeichnis ein Unterverzeichnis mit Namen Info gibt, in dem für jede Aufnahme ein Subdir angelegt wurde :
Zeile 130: Zeile 259:
 
   
 
   
 
Darin sollte es fogende Dateien geben :
 
Darin sollte es fogende Dateien geben :
 +
 
  /HOME/mpeg2avi/Info/Der_Wixxer/epg.txt  ---> Der zugehörige EPG Eintrag für später ( HTML Übersicht )
 
  /HOME/mpeg2avi/Info/Der_Wixxer/epg.txt  ---> Der zugehörige EPG Eintrag für später ( HTML Übersicht )
 
  /HOME/mpeg2avi/Info/Der_Wixxer/mpg2avi.data ---> die Daten für Transcode , ruhig mal reinschauen
 
  /HOME/mpeg2avi/Info/Der_Wixxer/mpg2avi.data ---> die Daten für Transcode , ruhig mal reinschauen
 
  /HOME/mpeg2avi/Info/Der_Wixxer/vdr2mpg_done ---> File ist bereits in mpg umcodiert Flag
 
  /HOME/mpeg2avi/Info/Der_Wixxer/vdr2mpg_done ---> File ist bereits in mpg umcodiert Flag
 +
/HOME/mpeg2avi/Info/Der_Wixxer/frames.dat ---> Länge der Aufnahme in Frames
 
   
 
   
 
Gratulation, erster Teil läuft also, und in deinem Verarbeitungsverzeichnis tummeln sich die Mpg's.
 
Gratulation, erster Teil läuft also, und in deinem Verarbeitungsverzeichnis tummeln sich die Mpg's.
 
Auf gehts zum XVID codieren :
 
Du rufst in der Kommandozeile das Script mpg_to_avi_V2.pl
 
 
das ergibt folgendes Menü als Anzeige :
 
  
###################################################################
+
Auf gehts zum XVID codieren : Du rufst in der Kommandozeile das Script mpg_to_avi_V2.pl auf.
#                                                                #
+
Zuerst schaust du mal nach, was alles zum Umsetzen von mpg in xvid ansteht mit :
# mpg_to_avi.pl - Converter Version 0.2 Perl                      #
+
# written by Alexander Richter alexanderrichter@gmx.net          #
+
#                                                                #
+
# convert Stream-mpeg from DVB-Cards like Technotrend to Mpeg4    #
+
# last edit 06.11.2005                                            #
+
#                                                                #
+
###################################################################</br>
+
        HAUPTMENÜ</br>
+
(0)    Zeige Stapelverarbeitung Files
+
(1)    Konvertiere einen gemuxten Mpg-File in mpeg4
+
(2)    Setze neu oder ändere Files für Stapelverarbeitung ( nur für gemuxten  Mpgfile )
+
(4)    Führe Stapelverarbeitung aus
+
(5)    Exit
+
  
 +
$ mpg_to_avi_V2.pl --showbatch
  
Kurze Erklärung zu den Menüpunkten :
+
Alles was ansteht, kann dann nacheinander in xvid-avis umgesetzt werden, durch :
  
(0) zeigt alle Mpg's an die zum umcodieren anstehen
+
  $ mpg_to_avi_V2.pl --dobatch
  
(1)  konvertiert sofort einen mpg-File , durchläuft Fragedialog nach Einstellungen für den File
+
Nach einer Weile, habt ihr die mpg und avi Dateien in eurem Zielverzeichnis, im VDR Aufnahmeverzeichnis ist der Prefix von [cut] auf [del] gändert, um die Übersicht zu behalten, was geschnitten ist und was schon transcodiert.
  
(2)  setzt die Standartwerte für ein anstehende Stapelverarbeitungs-Mpeg via Fragedialogen neu
+
==Täglicher Gebrauch==
 +
Ich gehe wie folgt vor :
 +
* Schneiden der Aufnahme im VDR
 +
* für vdrtransxvid markieren im VDR
 +
* Checken ob viel Platz in meinem Zielverzeichnis ist
 +
* in einem Rutsch alles, was geschnitten ist, transcodieren mit :
  
(4) rattert alle Mpg's in Xvid durch , jeweils mit 2 Pass dauert je nach Rechner von Echzeit bis ewig ( bei mir ca. 1,5 X Länge )
+
  $ vdr2mpgV3.pl && mpg_to_avi_V2.pl --dobatch
 
+
 
(5) raus aus dem Script
+
* wenn alles durch ist, avi File anschauen, danach Löschen der VDR-Aufnahme und des Mpg-Dateien
 +
* verschieben des Avi-Dateien in auf meine Archiv-Festplatte(n)
  
 
== Html Übersicht erstellen==
 
== Html Übersicht erstellen==
Zeile 194: Zeile 314:
  
 
* [http://home.pages.at/bhg_online/Vdrtransxvid/Shot1.png
 
* [http://home.pages.at/bhg_online/Vdrtransxvid/Shot1.png
Sreenshot 1 (115 Kbyte)]
+
Sreenshot 1]
  
 
* [http://home.pages.at/bhg_online/Vdrtransxvid/Shot2.png
 
* [http://home.pages.at/bhg_online/Vdrtransxvid/Shot2.png
Sreenshot 2 (52 Kbyte)]
+
Sreenshot 2]
 
   
 
   
 
* [http://home.pages.at/bhg_online/Vdrtransxvid/Shot3.png
 
* [http://home.pages.at/bhg_online/Vdrtransxvid/Shot3.png
Sreenshot 3 (178 Kbyte)]
+
Sreenshot 3]
  
==Tips==
+
==Tipps==
Die Perlscripte geben so gut wie keine Fehlermeldungen aus, schade eigentlich, aber ein paar Tips:
+
 
 +
Sollten euch die voreingestellten Werte nicht passen, könnt ihr nach einem Lauf von vdr2mpgV3.pl ( wenn also das Mpg-File schon existiert ) mpg_to_avi_V2.pl im interaktiven Modus laufen lassen und mittels Menüpunkt 2 viele Werte für die Transcodierung neu setzen :
 +
 
 +
$ mpg_to_avi_V2.pl
 +
 
 +
###################################################################
 +
#                                                                #
 +
# mpg_to_avi.pl - Converter Version 0.2 Perl                      #
 +
# written by Alexander Richter alexanderrichter@gmx.net          #
 +
#                                                                #
 +
# convert Stream-mpeg from DVB-Cards like Technotrend to Mpeg4    #
 +
# last edit 25.05.2006                                            #
 +
#                                                                #
 +
###################################################################
 +
        HAUPTMENÜ</br>
 +
(0)    Zeige Stapelverarbeitung Dateien
 +
(1)    Konvertiere einen gemuxten Mpg-File in mpeg4
 +
(2)    Setze neu oder ändere Dateien für Stapelverarbeitung ( nur für gemuxten  Mpgfile )</br>
 +
(4)    Führe Stapelverarbeitung aus</br>
 +
(5)    Exit
 +
 
 +
Folgender Dialog setzt Werte neu :
 +
 
 +
###################################################################
 +
#                                                                #
 +
# mpg_to_avi.pl - Converter Version 0.2 Perl                      #
 +
# written by Alexander Richter alexanderrichter@gmx.net          #
 +
#                                                                #
 +
# convert Stream-mpeg from DVB-Cards like Technotrend to Mpeg4    #
 +
# last edit 25.05.2006                                            #
 +
#                                                                #
 +
###################################################################</br>
 +
*Ziel ist /home/alex/Video_Bearbeitung_mpg/Die_Olsenbande_sieht_rot.avi</br>
 +
*INFO : Movie ist im Original ca. 2340 MBytes groß
 +
*--->  File hat :              150683 Frames</br>
 +
FRAGE : Frame Bereich eingeben [ 200-300 oder 500 / ENTER für 150683 ] :</br>
 +
--->    Codiere alle Frames</br>
 +
FRAGE : Standard Ausgabegrösse 700 Mbyte [ Enter / neuer wert (1400) ] :</br>
 +
--->    bleibt bei 700 Mbyte</br>
 +
FRAGE : Mpeg4 Codec auswählen [ ffmpeg=1 , Xvid4=2 , divx5=3 (default ist xvid) ] :</br>
 +
--->  Mpeg4 Codec ist :              xvid4
 +
--->  Orig Breite x Höhe :            720 x 576
 +
--->  Mpeg4 Rate wird gesetzt auf :  842 Kbit/sec</br>
 +
--->  File hat Orig Bildverhältniss : 4:3</br>
 +
--->    19.8%*
 +
--->  Crop und Deint : 72,8,72,0 , -I off</br>
 +
--->  InfoDir : /home/alex/mpeg2avi/Info/Die_Olsenbande_sieht_rot/</br>
 +
--->  Infos geschrieben
 +
 
 +
==Kommandozeilen-Optionen==
 +
 
 +
$ mpg_to_avi_V2.pl [-v][--auto][--showbatch][--dobatch]</br>
 +
Kommandozeilenparameter :
 +
------------------------------------
 +
-Anzeige der Hilfe / Version
 +
$ mpg_to_avi_V2.pl -v</br>
 +
-Erstellen einer der Infodatei für spätere Stapelverarbeitung
 +
$ mpg_to_avi_V2.pl --auto /FULLPATH/my_movie.mpg</br>
 +
- Zeige alle zur Stapelverarbeitung anstehenden Dateien :
 +
$ mpg_to_avi_V2.pl --showbatch</br>
 +
- Führe die Stapelverabeitung transcodieren durch :
 +
$ mpg_to_avi_V2.pl --dobatch</br>
 +
Interaktive Benutzung :
 +
------------------------------
 +
- Aufruf ohne Parameter
 +
$ mpg_to_avi_V2.pl
 +
 
 +
$ update_filmarchiv.pl /Verzeichnis
 +
$ update_filmarchiv.pl /foo/bar.avi</br>
 +
- updatet das Filmarchiv
 +
- Erwartet als ersten Parammeter einen Avi-File mit voller Pfadangabe oder
 +
  für Stapelverabeitung ein Verzeichnis mit 2 untergeordneten Verzeichnisebenen für Film/Serie und Genre
 +
- erstellt aus dem Originalpfad : z.B:
 +
/cdrom/Movie/Filme/Mystic_Horror/Demonlover_uncut.avi</br>
 +
eine Verzeichnisstruktur ala :
 +
content/main/Filme
 +
content/main/Filme/Mystic_Horror/
 +
content/main/Filme/Mystic_Horror/Demonlover_uncut</br>
 +
- erstellt 5 Previewbilder und ein Hauptpreviewbild
 +
- ermittlet mittels avinfo technische Daten des Avi-Dateien
 +
- parst aus vorhanden epg.txt Dateien den Inhalt und fügt ihn in die Html's ein
 +
- überschreibt keine vorhandenen html und jpg Dateien
 +
- erstellt automatisch leftframe und topframe Linklisten mikt allen relevanten HTML Codes
 +
- erstellt eine Top 10 Liste der zuletzte eingetragenen Dateien in der EinstiegsSeite
 +
 
 +
 +
==Probleme / Behebung ==
 +
* ACHTUNG : Version vom 28.05.2005 hat einen Bug :
 +
Bitte in der reccmds.conf prüfen, ob die Anweisung "VdrTransXvid -> als geschnitten markieren..." in einer neuen Zeile erscheint, ich hatte in diser Version vergessen, einen Zeilenumbruch vorher einzufügen, kann aber auch schnell per Hand geändert werden.
 +
 
 +
Release wird alsbald gefixt.
 +
* '''Bug''' in Version vom 31.05.2006: Bei meinem tcdemux (eigentlich auch 1.0.2) funktioniert die RegEx in der vdr2mpgV3.pl in Zeile 130 nicht.
 +
Alt:
 +
if ( $Line =~/ .*\ (\d+)\ .*video.*/ ) {
 +
Neu:
 +
if ( $Line =~/.*\ (\d+)\ .*video.*/ ) {
 +
Ursache: Die Zeile mit der Ausgabe der Anzahl Frames beginnt nicht mit einem Leerzeichen (wenn ich die Perl RegEx da richtig raffe, was ich bezweifle - die neue Version tut jedenfalls).
 +
 
 +
* File sollte nicht unter 5 Minuten Länge sein
 +
* Von einem User: '''Befehl in VDR fehlt''' trotz Beachtung der Bemerkung oben, in der <tt>reccmds.conf</tt> ist gar kein Eintrag, aber eine Warnung, nicht direkt in die Datei zu schreiben: vielleicht hängt es mit der VDR-Version zusammen (ich verwende 1.4.0)? Wie auch immer, bei mir gibt es eine Datei <tt>/etc/vdr/command-hooks/reccmds.custom.conf</tt>, in diese habe ich die folgende Zeile eingefügt:
 +
VdrTransXvid -> als geschnitten markieren : /usr/local/bin/vdrtransxvid_touch_cuted_flag.pl
 +
Der Pfad zum Skript <tt>vdrtransxvid_touch_cuted_flag.pl</tt> ist natürlich gemäß der Installation anzupassen.
 +
* 16:9 Aufnahmen werden manchmal als 4:3 erkannt und dann gibts Eierköpfe
 +
Abhilfe : in der Datei im Verzeichnis /YOUR_HOME/mpeg2avi/Info/YOUR_MOVIE/mpg2avi.data die Einträge ändern :
 +
 
 +
alt
 +
Show = 4:3
 +
Stretch = 4,0,8
 +
 
 +
neu
 +
Show = 16:9
 +
Stretch = 21,0,8
 +
 
 +
* Zweite Tonspur statt erster Tonspur ( alles ausländisch )
 +
* um den File nochmal zu transcodieren, folgende dateien aus /YOUR_HOME/mpeg2avi/Info/YOUR_MOVIE/ löschen :
 +
 
 +
vdr2mpg_done --> für wiederholen vdr nach mpg
 +
mpg2avi_done --> für wiederholen mpg nach avi
 +
 
 +
* Für vdr nach mpg, muß das Prefix der Aufnahme von [del] wieder zurück auf [cut] geändert werden.
 +
 
 +
Die Perlscripte geben so gut wie keine Fehlermeldungen aus, schade eigentlich, aber ein paar Tipps:
  
 
* Das Script geht gar nicht auszuführen -- Bad Interpreter ---> ausführen mit /usr/bin/perl meinscript.pl kann helfen.
 
* Das Script geht gar nicht auszuführen -- Bad Interpreter ---> ausführen mit /usr/bin/perl meinscript.pl kann helfen.
 
* unmatched Operator while m// ---> meist fehlt eine ConfigDatei oder ist korrupt.
 
* unmatched Operator while m// ---> meist fehlt eine ConfigDatei oder ist korrupt.
 +
* mpg_to_avi_V2.pl ist sehr schnell fertig, es wurde keine avi-Datei erzeugt: sicherstellen, daß transcode mit xvid Zeug korrekt installiert ist (in Debian: Datei /usr/lib/transcode/export_xvid4.so muss existieren)
  
 
Traut euch, schaut in die Scripte rein, was die eigentlich machen, wenns Gemeckertes vom Perlinterpreter gibt, gibts meist auch die Zeilenzahl dazu.  
 
Traut euch, schaut in die Scripte rein, was die eigentlich machen, wenns Gemeckertes vom Perlinterpreter gibt, gibts meist auch die Zeilenzahl dazu.  
Zeile 216: Zeile 458:
 
Zur letzten Not nehme ich dann avidemux2, das Virtualdub für Linux.
 
Zur letzten Not nehme ich dann avidemux2, das Virtualdub für Linux.
  
==Disclaimer==
+
* Von einem user, betrifft Version vom 31.05.2006: Das Umbenennen des Verzeichnisses der vdr-Aufnahme in [cut]... geht bei mir erst nach folgender Änderung in vdrtransxvid_touch_cuted_flag.pl.
 +
vorher:
 +
( my $filename = $_[0] ) =~ s/\d{4}.*\.rec// ;
 +
nachher:
 +
( my $filename = $_[0] ) =~ s/\/\d{4}.*\.rec?\/// ;
 +
Außerdem wird vdrsync.pl nicht mitinstalliert. Dazu folgende Änderung in install.pl.
 +
vorher:
 +
foreach my $script ( "./mpg_to_avi_V2.pl" , "./vdr2mpgV3.pl" , "./vdrtransxvid_touch_cuted_flag.pl" , "./update_filmarchiv.pl" ) {
 +
nachher:
 +
foreach my $script ( "./mpg_to_avi_V2.pl" , "./vdr2mpgV3.pl" , "./vdrtransxvid_touch_cuted_flag.pl" , "./update_filmarchiv.pl" , "./vdrsync.pl") {
 +
 
 +
==Hinweise des Autors==
 
Ich habs geschrieben, aber ich bin nicht schuld.
 
Ich habs geschrieben, aber ich bin nicht schuld.
  
Zeile 223: Zeile 476:
 
Wenn ihr etwas ändern / hinzufügen wollt, tut es, ich kann mir keine Zeit nehmen, um ein Feature einzubauen, das ich nicht brauche, wohl aber jemand anders.
 
Wenn ihr etwas ändern / hinzufügen wollt, tut es, ich kann mir keine Zeit nehmen, um ein Feature einzubauen, das ich nicht brauche, wohl aber jemand anders.
  
Es kann immer passieren, das was kaputt/verloren geht ( vdr-Files, mpegs etc.). Ich habe kein absichtliches rm -rf all reingeschrieben, aber es  kann immer was schiefgehen, daher kann ich keine Garantie übernehmen.
+
Es kann immer passieren, das was kaputt/verloren geht ( vdr-Dateien, mpegs etc.). Ich habe kein absichtliches rm -rf all reingeschrieben, aber es  kann immer was schiefgehen, daher kann ich keine Garantie übernehmen.
  
 
So genug der bösen Worte, aber dies ich nicht mein erstes Soft-Projekt, welches ich for all stelle, ich habe schon viele UserMehls gelesen :-)
 
So genug der bösen Worte, aber dies ich nicht mein erstes Soft-Projekt, welches ich for all stelle, ich habe schon viele UserMehls gelesen :-)
Zeile 242: Zeile 495:
 
<!-- ==Tipps== -->
 
<!-- ==Tipps== -->
 
<!-- ==Wunschliste== -->
 
<!-- ==Wunschliste== -->
 
  
 
==Snapshot / Download==
 
==Snapshot / Download==
* [http://home.pages.at/bhg_online/Vdrtransxvid/Vdrtransxvid-2005-11-14.tgz  
+
latest stable : [http://home.pages.at/bhg_online/Vdrtransxvid/vdrtransxvid_snapshot_2008-12-31.tgz Snapshot vom 31.12.2008 60 KByte] - ''Anpassung an Projectx Versionen 0.90.4.00_p26''
Vdrtransxvid-2005-11-14.tgz]
+
''nicht immer zu erreichen, sorry, aber eben kostenlos und werbefrei''
+
  
==Links==
+
older : [http://home.pages.at/bhg_online/Vdrtransxvid/vdrtransxvid_snapshot_2008-01-05.tgz Snapshot vom 05.01.2008 60 KByte] - ''nicht immer zu erreichen, sorry, aber eben kostenlos und werbefrei''
  
* [http://home.pages.at/bhg_online/Vdrtransxvid/
+
alpha Version zum Testen ohne Unterstützung unter : [http://faup.fa.funpic.de/ http://faup.fa.funpic.de/]
Homepage der Scripte - Noch nicht fertig !]
+
  
* [http://vdr-portal.de/board/thread.php?threadid=41449
+
==Links==
Derzeitiger Thread im VDR-Portal Board]
+
# {{vdrportal board|41449|Derzeitiger Thread im VDR-Portal Board}}
  
 
[[Kategorie:Video- und Audiobearbeitung]]
 
[[Kategorie:Video- und Audiobearbeitung]]

Aktuelle Version vom 29. Juli 2013, 21:39 Uhr

Hinweis
Hinweis

Die Entwicklung von VdrTransxvid wurde zugunsten VdrTranscode ( basierend auf HandbrakeCLI ) eingestellt.


Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Alexander Richter

- last stable Version upload 31.12.2008

- last alpha Version upload 24.09.2009

[Bearbeiten] KurzInfo zum Snapshot 31.12.2008

Download unten unter Snapshots ...

NEW :

- Opt. Mehrere Tonspuren im Xvid Datei
- Opt. AC3 Ton zusätzlich im xvid Datei
- Opt. eingerenderter Text am Beginn, wie viele Audiospuren verfügbar
- konfigurierbare Matrizze, der zu erreichenden Größen mit allen Kombinationen der Audiospuren
- Statistik, über Renderframeraten und Renderzeiten
vdrtransxvid.conf konfigurieren
install.pl ausführen.
html Übersichten sind erst einmal deaktiviert

gebraucht wird:

perl
vdr >1.4.5
transcode mit xvid
mplex
projectx ohne X

ausführen als normaler user :

- Movie im vdr markieren -> befehle -> für vdrtransxvid markieren
- $ vdr2mpgV4.pl ( zum Umsetzen in mpg )
- $ mpg_2_avi_V4.pl --do ( batchverarbeitung anstoßen )

zusätzlich möglich :

- mpg_2_avi_V4.pl --show ( zum nachschauen, was ansteht )
- mpg_2_avi_V4.pl --auto /FULLPATH/my_movie.mpg --size 300 ( neu xvid größe per hand setzen )
- mpg_2_avi_V4.pl --auto /FULLPATH/my_movie.mpg --audio 0 ( audiokomprimierung abschalten -- Musik )

PS: eventuell müssen Pfade angepasst werden, der Snapshot läuft hier seit 11/2007 stabil.

Beispiel für eingerenderten Text :

http://de.youtube.com/watch?v=NLO-mtCaMm4

Problemlösung für :

!!! ProjectX nicht gefunden / ausführbar ... bitte ändern ...

als "/usr/bin/projectx" speichern und ausführbar machen mit chmod a+x :

#!/bin/sh
java -Djava.awt.headless=true -jar /usr/local/bin/ProjectX.jar $@

VdrTransXvid ist eine Sammlung von mehreren Perlscripten, um aus geschnittenen Vdr-Aufnahmen nahezu ohne Interaktion Xvid Videos zu erstellen.

Was tut's nun, was geht? Du kannst in einem Rutsch alle geschnittenen Aufnahmen in Mpeg-Dateien umsetzen, inklusive Zeitkorrektur ( Ton/Bildversatz ) und automatischer Auswahl der ersten Tonspur.

Du kannst in einem weiteren Rutsch alle diese MPEGs in Xvid umsetzen, ohne eine Interaktion. Die Defaultwerte ( mp3 Rate , Zielgröße etc. ) sind vorgegeben oder werden "on the fly" ermittelt.

Die Zielgrößen "on the fly" richten sich nach der Länge des Films, hier in Frames:

1400 MB ( Frames >= 160000 ) über ~ 106 Minuten
700 MB ( Frames >= 70000 ) bis zu ~ 106 Minuten
350 MB ( Frames >= 40000 ) bis zu ~ 46 Minuten
175 MB ( Frames >= 10000 ) bis zu ~ 26 Minuten
50 MB ( Frames >= 5000 ) bis zu ~ 7 Minuten
20 MB ( Frames < 5000 ) bis zu ~ 3 Minuten
25 Frames = 1 Sekunde
1500 Frames = 1 Minute
90000 Frames = 1 Stunde

Du kannst in einem letzten Rutsch von den neuen AVIs HTML-Übersichten mit technischen Daten, Screenshots etc. anlegen lassen, die alle in einem Frameset statisch und thematisch verlinkt sind.

Die Scripte richten sich an Anwender, die außerhalb vom VDR auf der Kommandozeile fast vollautomatisch ihre Aufnahmen in xvid archivieren wollen.


[Bearbeiten] Softwareanforderungen

  • Perl ich habe 5.8.6 , sollte jedes aktuellere Linux-System aber haben
  • xvid ich habe Version xvidcore-1.1.0-r1 von xvid.org
  • lame ich habe Version 3.96.1, funktioniert, andere bitte probieren
  • divx OPTIONAL wer mag, benutze es nicht mehr, da quali gegenüber xvid zu schlecht ( 5.01)
  • ffmpeg OPTIONAL wer mag, Unterstützung ja, ich benutze es aber nicht
  • transcode ich habe Version 1.0.2, vor 1.01 gehen nicht, ( deinterlacer Problem )

Bitte an eigene Bedürfnisse anpassen, ich habe transcode übersetzt mit : $ ./configure --enable-a52 --enable-mjpegtools --enable-avifile --enable-libmpeg3 --enable-gtk --enable-imagemagick --enable-xvid --enable-x264 --enable-faac

  • mjpegtools ich habe mjpegtools-1.8.0-r1, daraus wird mplex gebraucht
  • VDR mind. 1.3.17
  • avinfo für die HTML Seitenerstellung, wer das nicht will, kann avinfo auch weglassen, ich habe Version 1.0 alpha 15

[Bearbeiten] Konfiguration und Installation

Mit der Version vom 28.05.2005 gibt es eigenes Installer-Script und eine Konfigurationsdatei. Ihr habt euch das aktuelle tgz Archiv runtergeladen ( Link Siehe unten ), entpackt wird es in einem Verzeichnis eurer Wahl mit :

$ tar xfvz ./vdrtransxvid_VERSION.tgz

Nun Wechsel ins neu angelegte Verzeichnis "vdrtransxvid" und öffnet die Datei vdrtransxvid.conf ebenda in einem geeigneten Editor und passt sie euren Gegebenheiten an :

#  vdrtransxvid.conf
#  zentrale Konfigurationsdatei für das Scriptpaket VdrTransXvid
#  VOR ausführem von install.pl EDITIEREN !!!
#  Stand 28.05.2006
#-----------------------------------------------------------------------------
### Dein Heimatverzeichnis, muss existieren und beschreibbar sein
Home = "/home/alex/"
#-----------------------------------------------------------------------------
# wohin sollen die Scripte installiert werden ? ein guter Platz wäre z.B. /usr/local/bin/
Bin_Install_Dir = "/usr/local/bin/"
#-----------------------------------------------------------------------------
# wo liegen die VDR Dateien , aka verzeichnis /video
# kein abschliessenden backslash !!!
InDir = "/video"
#-----------------------------------------------------------------------------
# wo befindet sich die Datei reccmds.conf aus der VDR Konfiguration ? ( /etc/vdr oder /video o.ä.) 
Loc_reccmdsconf = "/video/"
#-----------------------------------------------------------------------------
# wo sollen die fertigen mpg und avi Dateien hin ?
OutDir = "/home/alex/Video_Bearbeitung_mpg/"
#-----------------------------------------------------------------------------
# mp3 rate ( 96, 112 , 128 , 192 )
Mp3 ="128"
#-----------------------------------------------------------------------------
# 0,0 für schnell 5,5 für best Qualitätsfaktor für divxencoder
QFact = "-Q 5,5"
#-----------------------------------------------------------------------------
# Debug Ausgaben von transcode        -q2 oder leer -> " "
Debug_Level = " "
#-----------------------------------------------------------------------------
## Möchtest du die HTML - Statistik erfassung aktivieren ? "yes" oder "no"
HMTL = "yes"
#-----------------------------------------------------------------------------
## wenn ja, wo soll die Datenbank , aka html Seiten Sammlung entstehen ?
HMTL_DIR = "/mnt/hdc1/Filmdatenbank/"

Anmerkung eines Benutzers: Als Home das Home-Verzeichnis des Benutzers angeben, unter dessen Kennung der VDR ausgeführt wird! Sonst gibt es später Probleme.

Anmerkung eines Benutzers: OutDir unbedingt mit slash hinten angeben, sonst gibt es später Probleme.

wenn ihr alle Einstellungen erledigt habt, direkt speichern.

Nun Benutzer zu root werden und ./install.pl ausführen :

$ su 
( Passwort )
$ ./install.pl

Folgender Dialog erwartet euch, hier mit Kommentaren :

alex vdrtransxvid # ./install.pl</br>
------------------------------------------------------------------------------
Welcome to the Installer of VdrTransXvid 0.1 , first we check the needet Binarys :
------------------------------------------------------------------------------
OK :    Transcode Version v1.0.2 gefunden in /usr/bin/transcode ....
OK :    tcdemux gefunden in /usr/bin/tcdemux ....
OK :    tcprobe gefunden in /usr/bin/tcprobe ....
OK :    mjpegtools mplex-2 gefunden in /usr/bin/mplex ....</br>
Frage : Du hast bereits die Datei 'vdrtransxvid.conf' hier im aktuellen Verzeichnis editiert und deinen Gegebenheiten angepasst ?
       [Enter] oder [Ctrl-c] für abbrechen</br>
Frage : Kopiere nun die Scripte ins Verzeichnis /usr/local/bin/ ?
       [Enter] oder [Ctrl-c] für abbrechen</br>
( ich hatte bei diesem durchlauf des scripts bereits die scripte im  Zielverzeichnis, daher die Sicherheitsabfragen )
Frage : /usr/local/bin/mpg_to_avi_V2.pl existiert bereits, LÖSCHEN ???
       Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
Frage : /usr/local/bin/vdr2mpgV3.pl existiert bereits, LÖSCHEN ???
       Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
Frage : /usr/local/bin/vdrtransxvid_touch_cuted_flag.pl existiert bereits,  LÖSCHEN ???
       Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
Frage : /usr/local/bin/update_filmarchiv.pl existiert bereits, LÖSCHEN ???
       Eingabe [OK] für löschen oder [ENTER] für überspringen</br>
OK :    kopiere ./ffmpeg.cfg
OK :    kopiere ./xvid4.cfg</br>
( Wenn in der Konfigdatei, HTML auf yes gesetzt wurde, wird das Grundgerüst kopiert )
INFO :  kopiere das Filmdatenbank - Grundgerüst NICHT nach /mnt/hdc1/Filmdatenbank/, da das Dir bereits besteht !</br>
OK :    avinfo gefunden in /usr/bin/avinfo ....
OK :    Konfigurationsdatei neu angelegt : /home/alex/.vdrtransxvid.conf</br>
------------------------------------------------------------------------------
INFO : Noch ein paar schnelle Tipps zum beginnen :
------------------------------------------------------------------------------
1. Schneiden der Dateien im VDR, kein Schneiden ausführen nötig, Schnittmarken im orig. Datei langen völlig
2. Markieren der geschnittenen Dateien innerhalb des VDR mit "Befehle" im  Aufnahmeverzeichnis
--> VdrTransXvid -> als geschnitten markieren
3. außerhalb des VDR auf der Kommandozeile : "vdr2mpgV3.pl" ausführen
4. außerhalb des VDR auf der Kommandozeile : "mpg_to_avi_V2.pl --showbatch" zum Ansehen der anstehenden Dateien
5. außerhalb des VDR auf der Kommandozeile : "mpg_to_avi_V2.pl --dobatch" zum transcodieren der anstehenden Dateien</br>
viel Spaß
PS : wenn alles spielt, probiere alles auf einmal : "vdr2mpgV3.pl &&  mpg_to_avi_V2.pl --dobatch"
------------------------------------------------------------------------------

Kurz erklärt, was beim Ausführen von install.pl passiert :</br>

  • zuerst wird geprüft, ob das Script als User root ausgeführt wird
  • es werden die benötigten externen ausführbaren Programme auf Ort und Ausführbarkeit geprüft, wenns hier klemmt, müßt ihr überprüfen, ob ihr alles benötigte installiert habt. ( siehe Softwareanforderungen )
  • Kurze Abfrage, ob das Konfigurationsscript angepasst wurde
  • die Scripte werden in's bin verzeichnis kopiert ( je nach Angabe in der vdrtransxvid.conf )
  • die Scripte werden ebendort ausführbar gemacht
  • es wird im Homeverzeichnis ein Verzeichnis "mpeg2avi" angelegt, dort landen später alle Infodateien der transcodierten Filme, sowie jetzt 2 config-Dateien für Transcode ( xvid4.cfg und ffmpeg.cfg )
  • Wenn die HTML Erfassung aktiviert ist, wird das Grundgerüst hierfür kopiert
  • aus der Konfigurationdatei vdrtransxvid.conf wird eine bereinigte im Homeverzeichnis generiert ( /YOUR_HOME/.vdrtransxvid ), die mit führendem Punt nicht sichtbar ist. Diese kann man später noch editieren, einfacher ist es wohl, die vdrtransxvid.conf im aktuellen entpackten verzeichnis zu nehmen und anschließend nochmal ./install.pl laufen zu lassen
  • zum Schluß dann noch ein paar Tipps für Eilige

Soweit so gut, werdet wieder normaler User ( Ctrl-D ). Um das Markierungsscript im VDR zu aktivieren, VDR neu starten ( das Install script schreibt eine neue Befehlszeile in die reccmds.conf von VDR ).

Damit ist die Installation beendet.

[Bearbeiten] Testen

Zum testen, ob alles läuft, beginnst du am besten einen einzelnen File im VDR zu schneiden. Es reicht völlig aus , nur die Schnittmarken zu setzten, du mußt NICHT schneiden -> ausführen, einen neuen geschnittenen File erzeugen.

Nach dem Cut gehst du im VDR auf Aufnahme -> Befehle und markierst die Aufnahme für vdrtransxvid : VdrTransXvid -> als geschnitten markieren

  • ACHTUNG : Version vom 28.05.2006 hat einen Bug :

Bitte in der reccmds.conf prüfen, ob die Anweisung "VdrTransXvid -> als geschnitten markieren..." in einer neuen Zeile erscheint, ich hatte in diser Version vergessen, einen Zeilenumbruch vorher einzufügen, kann aber auch schnell per Hand geändert werden.


Markieren der Aufnahme für die Weiterverarbeitung mit VdrTransXvid

Nach einer kurzen Weile taucht die Aufnahme mit dem Prefix [cut] im Aufnahmeverzeichnis auf, aka "[cut]Star-Trek-Episode-irgendwas" Anhand dieses Prefixes erkennt das Transcode Script, welche Aufnahmen transcodiert werden sollen.

Die markierten und umbenannten Aufnahmen


Danach führst du in einer Kommandozeile vdr2mpgV3.pl aus.

$ vdr2mpgV3.pl

Das sollte nach und nach eine Ausgabe ähnlich dieser bringen :

------------------------------------------------------------------------------
° Alle anstehenden Dateien nochmal zum abnicken, [Enter] für weiter [Ctrl-C] für abrechen :
------------------------------------------------------------------------------
° Final_Call
° The_I_Inside-Im_Auge_des_Todes
( nutze ich, um mal zu schauen, was alles ansteht, ohne gleich alles in mpg umzusetzten )</br> 
° und nun : Final_Call
° Ermittle Parameter für mpg_to_avi ...
--->    35.2%*quit...</br>
° und nun : The_I_Inside-Im_Auge_des_Todes
° Ermittle Parameter für mpg_to_avi ...
--->    5.2%*quit...</br>
° All done ...


Checked bitte danach, ob es in eurem /HOME/mpeg2avi/ Verzeichnis ein Unterverzeichnis mit Namen Info gibt, in dem für jede Aufnahme ein Subdir angelegt wurde :

/HOME/mpeg2avi/
/HOME/mpeg2avi/Info/
/HOME/mpeg2avi/Info/Der_Wixxer/

Darin sollte es fogende Dateien geben :

/HOME/mpeg2avi/Info/Der_Wixxer/epg.txt   ---> Der zugehörige EPG Eintrag für später ( HTML Übersicht )
/HOME/mpeg2avi/Info/Der_Wixxer/mpg2avi.data ---> die Daten für Transcode , ruhig mal reinschauen
/HOME/mpeg2avi/Info/Der_Wixxer/vdr2mpg_done ---> File ist bereits in mpg umcodiert Flag
/HOME/mpeg2avi/Info/Der_Wixxer/frames.dat ---> Länge der Aufnahme in Frames

Gratulation, erster Teil läuft also, und in deinem Verarbeitungsverzeichnis tummeln sich die Mpg's.

Auf gehts zum XVID codieren : Du rufst in der Kommandozeile das Script mpg_to_avi_V2.pl auf. Zuerst schaust du mal nach, was alles zum Umsetzen von mpg in xvid ansteht mit :

$ mpg_to_avi_V2.pl --showbatch

Alles was ansteht, kann dann nacheinander in xvid-avis umgesetzt werden, durch :

$ mpg_to_avi_V2.pl --dobatch

Nach einer Weile, habt ihr die mpg und avi Dateien in eurem Zielverzeichnis, im VDR Aufnahmeverzeichnis ist der Prefix von [cut] auf [del] gändert, um die Übersicht zu behalten, was geschnitten ist und was schon transcodiert.

[Bearbeiten] Täglicher Gebrauch

Ich gehe wie folgt vor :

  • Schneiden der Aufnahme im VDR
  • für vdrtransxvid markieren im VDR
  • Checken ob viel Platz in meinem Zielverzeichnis ist
  • in einem Rutsch alles, was geschnitten ist, transcodieren mit :
$ vdr2mpgV3.pl && mpg_to_avi_V2.pl --dobatch
  • wenn alles durch ist, avi File anschauen, danach Löschen der VDR-Aufnahme und des Mpg-Dateien
  • verschieben des Avi-Dateien in auf meine Archiv-Festplatte(n)

[Bearbeiten] Html Übersicht erstellen

  • update_Filmverzeichnis.pl
$ update_Filmverzeichnis.pl /mnt/usb-hd/Movie 
auf der Kommandozeile, erstellt eine  HTML Datei für jeden neuen Avifile

funktioniert bei meiner Archivhirarchie :

/mnt/usb-hd/Movie/Filme/
/mnt/usb-hd/Movie/Filme/Genre1/
/mnt/usb-hd/Movie/Filme/Genre1/Film1.avi
/mnt/usb-hd/Movie/Filme/Genre2/
/mnt/usb-hd/Movie/Filme/Genre2/Film2.avi
/mnt/usb-hd/Movie/Filme/Genre2/Film3.avi
/mnt/usb-hd/Movie/Serie/Star_Trek-TNG/
/mnt/usb-hd/Movie/Serie/Star_Trek-TNG/1.01-Folgesowieso.avi
/mnt/usb-hd/Movie/Serie/Star_Trek-TNG/1.02-Folgesowieso.avi

Grob gesagt ensteht eine Struktur : Sorte ( Film/Serie ) --> Genre/Serientitel --> Film.

Das Script zieht hierzu die letzten beiden Verzeichnisebenen über dem eigentlichen Avi heran.

so siehts bei mir dann aus :

  • [Shot1.png

Sreenshot 1]

  • [Shot2.png

Sreenshot 2]

  • [Shot3.png

Sreenshot 3]

[Bearbeiten] Tipps

Sollten euch die voreingestellten Werte nicht passen, könnt ihr nach einem Lauf von vdr2mpgV3.pl ( wenn also das Mpg-File schon existiert ) mpg_to_avi_V2.pl im interaktiven Modus laufen lassen und mittels Menüpunkt 2 viele Werte für die Transcodierung neu setzen :

$ mpg_to_avi_V2.pl
###################################################################
#                                                                 #
# mpg_to_avi.pl - Converter Version 0.2 Perl                      #
# written by Alexander Richter alexanderrichter@gmx.net           #
#                                                                 #
# convert Stream-mpeg from DVB-Cards like Technotrend to Mpeg4    #
# last edit 25.05.2006                                            #
#                                                                 #
###################################################################
       HAUPTMENÜ</br>
(0)     Zeige Stapelverarbeitung Dateien
(1)     Konvertiere einen gemuxten Mpg-File in mpeg4
(2)     Setze neu oder ändere Dateien für Stapelverarbeitung ( nur für gemuxten  Mpgfile )</br>
(4)    Führe Stapelverarbeitung aus</br>
(5)     Exit

Folgender Dialog setzt Werte neu :

###################################################################
#                                                                 #
# mpg_to_avi.pl - Converter Version 0.2 Perl                      #
# written by Alexander Richter alexanderrichter@gmx.net           #
#                                                                 #
# convert Stream-mpeg from DVB-Cards like Technotrend to Mpeg4    #
# last edit 25.05.2006                                            #
#                                                                 #
###################################################################</br>
*Ziel ist /home/alex/Video_Bearbeitung_mpg/Die_Olsenbande_sieht_rot.avi</br>
*INFO : Movie ist im Original ca. 2340 MBytes groß
*--->   File hat :              150683 Frames</br>
FRAGE : Frame Bereich eingeben [ 200-300 oder 500 / ENTER für 150683 ] :</br>
--->    Codiere alle Frames</br>
FRAGE : Standard Ausgabegrösse 700 Mbyte [ Enter / neuer wert (1400) ] :</br>
--->    bleibt bei 700 Mbyte</br>
FRAGE : Mpeg4 Codec auswählen [ ffmpeg=1 , Xvid4=2 , divx5=3 (default ist xvid) ] :</br>
--->   Mpeg4 Codec ist :               xvid4
--->   Orig Breite x Höhe :            720 x 576
--->   Mpeg4 Rate wird gesetzt auf :   842 Kbit/sec</br>
--->   File hat Orig Bildverhältniss : 4:3</br>
--->    19.8%*
--->   Crop und Deint : 72,8,72,0 , -I off</br>
--->   InfoDir : /home/alex/mpeg2avi/Info/Die_Olsenbande_sieht_rot/</br>
--->   Infos geschrieben

[Bearbeiten] Kommandozeilen-Optionen

$ mpg_to_avi_V2.pl [-v][--auto][--showbatch][--dobatch]</br>
Kommandozeilenparameter :
------------------------------------
-Anzeige der Hilfe / Version
$ mpg_to_avi_V2.pl -v</br>
-Erstellen einer der Infodatei für spätere Stapelverarbeitung
$ mpg_to_avi_V2.pl --auto /FULLPATH/my_movie.mpg</br>
- Zeige alle zur Stapelverarbeitung anstehenden Dateien : 
$ mpg_to_avi_V2.pl --showbatch</br>
- Führe die Stapelverabeitung transcodieren durch :
$ mpg_to_avi_V2.pl --dobatch</br>
Interaktive Benutzung :
------------------------------
- Aufruf ohne Parameter
$ mpg_to_avi_V2.pl
$ update_filmarchiv.pl /Verzeichnis
$ update_filmarchiv.pl /foo/bar.avi</br>
- updatet das Filmarchiv
- Erwartet als ersten Parammeter einen Avi-File mit voller Pfadangabe oder
 für Stapelverabeitung ein Verzeichnis mit 2 untergeordneten Verzeichnisebenen für Film/Serie und Genre
- erstellt aus dem Originalpfad : z.B:
/cdrom/Movie/Filme/Mystic_Horror/Demonlover_uncut.avi</br>
eine Verzeichnisstruktur ala :
content/main/Filme
content/main/Filme/Mystic_Horror/
content/main/Filme/Mystic_Horror/Demonlover_uncut</br>
- erstellt 5 Previewbilder und ein Hauptpreviewbild
- ermittlet mittels avinfo technische Daten des Avi-Dateien
- parst aus vorhanden epg.txt Dateien den Inhalt und fügt ihn in die Html's ein
- überschreibt keine vorhandenen html und jpg Dateien
- erstellt automatisch leftframe und topframe Linklisten mikt allen relevanten HTML Codes
- erstellt eine Top 10 Liste der zuletzte eingetragenen Dateien in der EinstiegsSeite


[Bearbeiten] Probleme / Behebung

  • ACHTUNG : Version vom 28.05.2005 hat einen Bug :

Bitte in der reccmds.conf prüfen, ob die Anweisung "VdrTransXvid -> als geschnitten markieren..." in einer neuen Zeile erscheint, ich hatte in diser Version vergessen, einen Zeilenumbruch vorher einzufügen, kann aber auch schnell per Hand geändert werden.

Release wird alsbald gefixt.

  • Bug in Version vom 31.05.2006: Bei meinem tcdemux (eigentlich auch 1.0.2) funktioniert die RegEx in der vdr2mpgV3.pl in Zeile 130 nicht.

Alt:

if ( $Line =~/ .*\ (\d+)\ .*video.*/ ) {

Neu:

if ( $Line =~/.*\ (\d+)\ .*video.*/ ) {

Ursache: Die Zeile mit der Ausgabe der Anzahl Frames beginnt nicht mit einem Leerzeichen (wenn ich die Perl RegEx da richtig raffe, was ich bezweifle - die neue Version tut jedenfalls).

  • File sollte nicht unter 5 Minuten Länge sein
  • Von einem User: Befehl in VDR fehlt trotz Beachtung der Bemerkung oben, in der reccmds.conf ist gar kein Eintrag, aber eine Warnung, nicht direkt in die Datei zu schreiben: vielleicht hängt es mit der VDR-Version zusammen (ich verwende 1.4.0)? Wie auch immer, bei mir gibt es eine Datei /etc/vdr/command-hooks/reccmds.custom.conf, in diese habe ich die folgende Zeile eingefügt:
VdrTransXvid -> als geschnitten markieren : /usr/local/bin/vdrtransxvid_touch_cuted_flag.pl

Der Pfad zum Skript vdrtransxvid_touch_cuted_flag.pl ist natürlich gemäß der Installation anzupassen.

  • 16:9 Aufnahmen werden manchmal als 4:3 erkannt und dann gibts Eierköpfe

Abhilfe : in der Datei im Verzeichnis /YOUR_HOME/mpeg2avi/Info/YOUR_MOVIE/mpg2avi.data die Einträge ändern :

alt

Show = 4:3
Stretch = 4,0,8

neu

Show = 16:9
Stretch = 21,0,8
  • Zweite Tonspur statt erster Tonspur ( alles ausländisch )
  • um den File nochmal zu transcodieren, folgende dateien aus /YOUR_HOME/mpeg2avi/Info/YOUR_MOVIE/ löschen :
vdr2mpg_done --> für wiederholen vdr nach mpg
mpg2avi_done --> für wiederholen mpg nach avi
  • Für vdr nach mpg, muß das Prefix der Aufnahme von [del] wieder zurück auf [cut] geändert werden.

Die Perlscripte geben so gut wie keine Fehlermeldungen aus, schade eigentlich, aber ein paar Tipps:

  • Das Script geht gar nicht auszuführen -- Bad Interpreter ---> ausführen mit /usr/bin/perl meinscript.pl kann helfen.
  • unmatched Operator while m// ---> meist fehlt eine ConfigDatei oder ist korrupt.
  • mpg_to_avi_V2.pl ist sehr schnell fertig, es wurde keine avi-Datei erzeugt: sicherstellen, daß transcode mit xvid Zeug korrekt installiert ist (in Debian: Datei /usr/lib/transcode/export_xvid4.so muss existieren)

Traut euch, schaut in die Scripte rein, was die eigentlich machen, wenns Gemeckertes vom Perlinterpreter gibt, gibts meist auch die Zeilenzahl dazu.

Editiert in den Scripten nach Herzenslust, die laufen bei mir und haben sicherlich Hunderte von Bugs, aber sie laufen erstmal...

Es kommt immer wal wieder vor, das ein Vdr File partout nicht will, dann probier mal vdrsync.pl alleine.

Zur letzten Not nehme ich dann avidemux2, das Virtualdub für Linux.

  • Von einem user, betrifft Version vom 31.05.2006: Das Umbenennen des Verzeichnisses der vdr-Aufnahme in [cut]... geht bei mir erst nach folgender Änderung in vdrtransxvid_touch_cuted_flag.pl.

vorher:

( my $filename = $_[0] ) =~ s/\d{4}.*\.rec// ;

nachher:

( my $filename = $_[0] ) =~ s/\/\d{4}.*\.rec?\/// ;

Außerdem wird vdrsync.pl nicht mitinstalliert. Dazu folgende Änderung in install.pl. vorher:

foreach my $script ( "./mpg_to_avi_V2.pl" , "./vdr2mpgV3.pl" , "./vdrtransxvid_touch_cuted_flag.pl" , "./update_filmarchiv.pl" ) {

nachher:

foreach my $script ( "./mpg_to_avi_V2.pl" , "./vdr2mpgV3.pl" , "./vdrtransxvid_touch_cuted_flag.pl" , "./update_filmarchiv.pl" , "./vdrsync.pl") {

[Bearbeiten] Hinweise des Autors

Ich habs geschrieben, aber ich bin nicht schuld.

Wenn ihr mit dem Scripten arbeiten wollt, müßt Ihr euch in die Scripte einarbeiten, ich gebe keinen richtigen Support.

Wenn ihr etwas ändern / hinzufügen wollt, tut es, ich kann mir keine Zeit nehmen, um ein Feature einzubauen, das ich nicht brauche, wohl aber jemand anders.

Es kann immer passieren, das was kaputt/verloren geht ( vdr-Dateien, mpegs etc.). Ich habe kein absichtliches rm -rf all reingeschrieben, aber es kann immer was schiefgehen, daher kann ich keine Garantie übernehmen.

So genug der bösen Worte, aber dies ich nicht mein erstes Soft-Projekt, welches ich for all stelle, ich habe schon viele UserMehls gelesen :-)

Wenn die Scripte jemanden das Leben leichter machen, würde es mich freuen.

Grüße an alle VDR-Freaks

Alexander Richter


[Bearbeiten] Snapshot / Download

latest stable : Snapshot vom 31.12.2008 60 KByte - Anpassung an Projectx Versionen 0.90.4.00_p26

older : Snapshot vom 05.01.2008 60 KByte - nicht immer zu erreichen, sorry, aber eben kostenlos und werbefrei

alpha Version zum Testen ohne Unterstützung unter : http://faup.fa.funpic.de/

[Bearbeiten] Links

  1. Derzeitiger Thread im VDR-Portal Board