### vdr2dvd Im Archiv enthaltene Dateien: - Dieses README EN/DE - Das CHANGELOG - Die Lizenz COPYING - Ein Template für ds.jar (ds.ini) - Das Script vdr2dvd.pl Bei vdr2dvd handelt es sich um ein simples Script, welches alle Arbeitsschritte zusammenfasst, die notwendig sind um aus einer vdr-Aufnahme eine DVD zu erstellen und zu brennen. Es entstand aus dem Wunsch heraus VDR-Aufnahmen mittels meines neuen Pioneer DVD-104 als Video-DVD brennen zu können. Das Script führt die folgenden Arbeitsschritte durch: - Zusammenfügen von mehreren .vdr Dateien zu einer Großen pro Titel - Wandlung in einen PS-Stream mittels ds.jar - Multiplexen in einen DVD-konformen Stream - Erstellen der benötigten DVD-Struktur - Erstellen des ISO-Images mittels mkisofs - Brennen des Images mittels dvdrecord/cdrecord-ProDVD Grundsätlich sollte das Script auf jedem UNIX-ähnlichen Betriebssystem laufen, das die benötigten Programme ausführen kann und über eine aktuelle Java-Runtime-Umgebung mit swing verfügt. Ein X-Server (lokal oder auf dem Remoterechner) wird benötigt auch wenn keine Ausgabe in Fenstern erfolgt. Eine Möglichkeit den X-Server zu umgehen ist hier beschrieben: http://www.vdrportal.de/board/thread.php?threadid=1218 Vorausgesetzte Programme und ihre Quellen: - sudo : http://www.sudo.ws/sudo/ (Ver. egal, wenn es für dein System ein Paket .deb, .rpm, usw. gibt nimm das) - mkisofs welches inzwischen Bestandteil der Cdrtools ist : http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/mkisofs.html (Ver. 1.10+11a39 oder neuer) - die mjpegtools : http://mjpeg.sourceforge.net/ (Ver. 1.6.1 oder neuer) - transcode zum wandeln von Aufnahmen mit nicht konformen horizontalen Auflös- ungen : http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/ (Ver. 0.6.2 oder neuer) - java jre um ds.jar ausführen zu können : http://java.sun.com/ (Ver. 1.4.1 empfohlen!) Alle Programme bis hierhin sollten die gängigen Distributionen mitbringen. Inoffizielle zusätzliche Apt-Sources für Debian: http://marillat.free.fr/ http://ftp.gwdg.de/pub/languages/java/linux/debian/ - Ferner benötigt man noch das dvdauthor-Paket von: http://dvdauthor.sourceforge.net/ (Ver. 0.5.0) - cdrecord-ProDVD ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ProDVD/ (empfohlen) oder alternativ dvdrecord bzw. ein gepatchtes cdrecord : http://www.abcpages.com/~mache/cdrecord-dvd.html aus historischen Gründen ruft das Script dvdrecord auf dies kann aber über die Variable $dvdrecord geändert werden. Bei mir heißt einfach das Wrapperscript mit dem cdrecord-ProDVD Lizenz Schlüssel /usr/local/bin/dvdrecord (Ver. möglichst die aktuellste) - Besitzer eines DVD+R(W)-Brenners benötigen growisofs von: http://fy.chalmers.se/~appro/linux/DVD+RW/ - das java-Tool ds.jar von http://home.arcor.de/matt2/dvb.matt/ (Ver. 0.60g) Ein paar Erklärungen zu den benötigten Programmen: - Warum sudo? Es ist grundsätlich keine gute Idee alles als root zu erledigen :-) dvdrecord benötigt jedoch Vollzugriff auf das DVD-Laufwerk, theoretisch könnte man auch dvdrecord mit einem SUID-Bit versehen, allerdings gilt dies dann für alle Benutzer auf dem Rechner gelten und ist auch aus aus Sicherheitsgesichtspunkten nicht anzuraten. Einfach eine Zeile wie diese: user ALL = (root) NOPASSWD: /usr/bin/dvdrecord in /etc/sudoers einfügen und man hat Ruhe. Wer diese Warnungen in den Wind schlagen will setzt die Variable $sudo im Script auf ''. - Warum zusätzlich ein java-Programm ? Tja... gegen Java ist überhaupt nichts zu sagen, die Arbeitsgeschwindigkeit ist hervorragend. Einziger Wehrmutstropfen ist, daß es, auch wenn über Kommandozeilenparameter aufgerufen, alle awt/swing-Klassen initialisiert und daher einen X-Server benötigt. Bisher ist es mir noch nicht gelungen mit Bordmitteln (mplex/transcode) PS-Files von vdr Aufnahmen zu erstellen, bei denen Audio und Video synchron sind. Mit transcode geht es zwar, allerdings momentan nicht ohne den Sound zu resampeln und deshalb mit Verlusten und sehr langsam. Wenn jemand hierzu eine Lösung parat hätte, wäre ich sehr interessiert. !Hinweis zu ds.jar: lt. dvbmatt kann es bei ds.jar zu Problemen kommen, wenn die Schnittlücke im File zu groß ist > 13:15:00. Dies sollte aber bei normalen Werbepausen nicht auftreten. - Was ist dvdrecord? Bei mir ist es einfach das cdrecord-wrapper.sh Script von cdrecord-ProDVD cdrecord-ProDVD ist eine um DVD-Writer Support erweiterte Version von cdrecord vom gleichen Autor. Diese ist im Gegensatz zu cdrecord keine freie Software, kann jedoch für privaten Einsatz, für Forschung und nicht gewerbs- mäßigen Einsatz in der Bildung ebenfalls, frei. Früher setzte ich ein gepatchtes cdrecord, welches auch einige DVD-R Recorder unterstützt ein. Das Ergebnis einigen Testens ist jedoch: sofern Du es mit Deinem Gewissen ver- einbaren kannst, nicht freie Software einzusetzten, nimm cdrecord-ProDVD. Es ist dem Anderen in allen Belangen überlegen. Beispielsweise wird es wesent- lich aktiver gepflegt, unterstützt mehr Brenner, hat die bessere Datenbasis, liefert mehr Infos usw. Andere Fragen: - Ist es Beta-Software? Nun ja. Sagen wir mal so, es funktioniert in seinen Funktionen einwandfrei und fängt auch schon falsche Eingaben ab, allerdings fehlen noch ein paar Plausibilitätsprüfungen, wie z.B. ob das Image überhaupt auf eine DVD paßt. Außerdem sollen noch Kommandozeilenparameter und weitere automatische Features integriert werden. Von daher würde ich sagen es ist gut benutzbare Alpha-Software. Inzwischen habe ich ca. 20 DVDs mit diesem Tool erzeugt. - Funktioniert es auch mit DVD+R/RW Brennern. Ja. Man benötigt growisofs aus der oben angegebenen Quelle und muß die Variable $writertype auf 2 setzen. - Funktioniert die DVD-Erstellung mit allen Aufnahmen? Die Erstellung ja. Allerdings Werden manche Sendungen mit nicht DVD-komformen horizontalen Auflösungen gesendet. Vom Standard her darf ein MPEG2 auf DVD nur 720, 704 oder 352 Pixel breit sein. Standalone DVD-Player, die auch SVCDs abspielen können kommen auch mit 480 Pixeln klar. Allerdings soll beispielsweise Premiere auch völlig unübliche Breiten wie 544 Pixel ausstrahlen. Dabei werden Standalone-Geräte meißt versagen. Linux-Software- Playern hingegen macht auch dies keine Probleme. vdr2dvd.pl überprüft mit Hilfe von transcode, ob evtl. so ein Stream vorliegt und wandelt den Stream bei Bedarf in das Format 720x576. Dies ist mit dem Schalter -c abwählbar. - Kann man mehrere Aufnahmen auf eine DVD brennen? Ja. Jedes angegebene Unterverzeichnis wird als eigenständiger Titel behandelt. So habe ich schon vier DVDs mit Black Adder Folgen gebrannt. Menues sind momentan noch nicht möglich, da das erst in der nächsten Version von dvdauthor kommen soll. - Kann man hiermit DVDs kopieren? Nein, dafür gibt es hier ein passendes Programm: http://dvd-create.sourceforge.net/ ################################# So, kommen wir zur Installation: - passe in vdr2dvd die benötigten Pfade und Optionen an. Bedenke, daß der ausführende User volle Rechte auf das $dvdroot haben muß. In der Regel sollte sich dies darauf beschränken /volmisc02 durch Deinen Pfad zu ersetzten und $dvdrecorddevice und evtl. $dvdrecord zu ändern. Ich habe ds.jar nach /usr/local/bin/ gelegt. Wem das nicht behagt, passt bitte die Variable entsprechend an. - kopiere vdr2dvd nach /usr/local/bin/ und ds.ini nach /usr/local/etc - füge die oben beschriebene Zeile in /etc/sudoers ein Zum Testen kann man das Brennen mit der Option -n deaktivieren. usage gibts mit vdr2dvd --help TODO: - Mehr Kommandozeilenschalter (transcode Bitrate z.B.) - Überprüfen ob genug Platz im Filesystem - Variablen in Conffile auslagern - Bestimmte Arbeitsschritte abschaltbar machen (createfs) - Bestimmte Arbeitsschritte allein ausführbar machen (Brennen/mkisofs) - Besseres Aufräumen der temporären Dateien - Installationsscript, was die benötigten Anpassungen vornimmt .... Was mir noch so einfällt - Das Ganze als Script aus dem vdr heraus ausführbar machen - Das ganze als schönes CGI per Browser ausführbar machen Dirk Hartmann, dha@morticah.net 02.03.03