VdrTransXvid

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Autor: Alexander Richter - last Version upload 01.12.2005

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

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

Die Zielgrößen onThefly 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 Avi's HTML Übersichten mit technischen Daten, Screenshots etc. anlegen lassen, die alle in einem Frameset statisch und thematisch verlinkt sind.


Softwareanforderungen

  • 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
  • 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.1 vorherige 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

  • tcmplex-panteltje ist im Snapshot als tarball mit drinn

Der orig. DL-Link für tcmplex-panteltje war : http://ip51cf87c4.direct-adsl.nl/panteltje/dvd/tcmplex-panteltje-0.4.7.tgz

  • vdrsync.pl Version 0.1.2.2, nicht die Dev-Version ! ist im Snapshot als tarball mit drinn

DL -Link : http://vdrsync.vdr-portal.de/releases/vdrsync-0.1.2.2.tgz dann ausführbar z.B. /usr/local/bin/vdrsync.pl

  • avinfo für die HTML Seitenerstellung, wer das nicht will, kann avinfo auch weglassen
  • Vdr :-)

Installation Voraussetzung Pfade

angelegt werden müssen :

1. ein Verzeichnis für Info Files technische Daten etc.

bei mir wäre es : $ mkdir /home/alex/mpeg2avi :
$ mkdir YOUR_HOME_DIR/mpeg2avi

2. dorthinein kommen folgende Files :

  • ffmpeg.cfg
  • xvid4.cfg
lesbar machen mit : $ chmod u+r ./datei

3. ein Verzeichnis für die Mpeg/Avi -Files anlegen, im Gigabereich , ich habe 20 Gigabyte dafür

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
  • update_filmarchiv.pl
ausführbar/editierbar machen mit : $ chmod u+rwx ./datei

5. für die HTML Seiten Erstellung ein Zieldirectory anlegen und den Ordner Filmdatenbank/ dahin kopieren.

Installation Editieren der Grundeinstellungen in den Scripten

1. vdr2mpgV2.pl mit einem Editor deiner Wahl öffnen ( das KDE Kate nehme ich gern ) und Grundsettings anpassen

my $Home 			= "/home/alex/" ; ### sollte klar sein
my $InDir  			= "/video" ; 	### Das VDR Videoverzeichnis,
derzeit nur eins unterstützt, keinen abschliessenden slash !!!</br>
my $OutDir 		= "/home/alex/Video_Bearbeitung_mpg/" ;</br> ### das Verzeichnis für die Mpg's
my $Infodir 		= "${Home}/mpeg2avi/Info/" ; ### fix --> So belassen
my $mpeg2avi_bin 	= "/usr/local/bin/mpg_to_avi_V2.pl" ; 
### wo liegt das ausführbare Script mpg_to_avi_V2.pl ?


2. mpg_to_avi_V2.pl mit einem Editor deiner Wahl öffnen ( das KDE Kate nehme ich gern ) und Grundsettings anpassen


my $BinDir 		= "/usr/bin/" ; # fix
my $MpgDir 		= "/home/alex/Video_Bearbeitung_mpg/" ; 
# 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


#### EDITIER MICH
my $Archiv="/mnt/usb-hd/Filmdatenbank/" ; # wo soll die Struktur
des Filmarchivs entstehen ? Ordner Filmdatenbank/ vorher dahin kopiert ?
#### EDITIER MICH ENDE

Testen

Nachdem alles ausführbar ist, beginnst du am besten einen einzelnen File im VDR zu schneiden.

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 :

/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

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 :

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


Kurze Erklärung zu den Menüpunkten :

(0) zeigt alle Mpg's an die zum umcodieren anstehen

(1) konvertiert sofort einen mpg-File , durchläuft Fragedialog nach Einstellungen für den File

(2) setzt die Standardwerte für ein anstehende Stapelverarbeitungs-Mpeg via Fragedialogen neu

(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 )

(5) raus aus dem Script

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 (115 Kbyte)]

  • [Shot2.png

Sreenshot 2 (52 Kbyte)]

  • [Shot3.png

Sreenshot 3 (178 Kbyte)]

Tips

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

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

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.

Disclaimer

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-Files, 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



Snapshot / Download

Vdrtransxvid-2005-12-01.tgz 278KByte] nicht immer zu erreichen, sorry, aber eben kostenlos und werbefrei

Links

Derzeitiger Thread im VDR-Portal Board]