2) Brennprogramme für die Kommandozeile
Im Normalfall sind bei jeder aktuellen Distributionen die Kommandozeilentools zum CD/DVD Brennen serienmäßig dabei. Abhängig von der Distribution sind dies Pakete wie z. B. "wodim", "genisoimage", "dvd+rw-tools" usw.
2.1) Wodim
Wodim ist ein Fork der cdrtools (cdrecord/mkisofs, http://freshmeat.net/projects/cdrecord/).
Bei aktuellen Distributionen wird inzwischen auf wodim gesetzt. Hierbei hat wodim die gleichen Aufrufparameter wie cdrecord, genisoimage entspricht mkisofs.
Es können alle Formate gebrannt werden (+/-, R, RW).
Es kann natürlich nur eine DVD mit maximal der Kapazität eines Rohlings geklont werden. Eine Video CD mit 9 GB lässt sich also hiermit nicht bearbeiten, dazu ist erst Shrinken erforderlich, siehe unten.
Brennen On The Fly, also ohne Umweg eines Rippens auf Platte, kann über eine Kombination von genisoimage und wodim über
Code:
genisoimage ... | wodim ...
erreicht werden. Parameter sind entsprechend DVD-ROM-Laufwerk, Art der DVD und dem Brenner einzutragen. Außerdem muss die Anzahl der Sektoren ermittelt werden, die gebrannt werden sollen.
Beispiel:
Code:
genisoimage -dvd-video -print-size /tmp/film-dvd 2>&1
genisoimage -dvd-video -V MEINE_URLAUBS_DVD /tmp/film-dvd | wodim -v dev=0,0,0 speed=4 -eject -dao tsize=32000s -
Im Beispiel wird durch den ersten Aufruf von genisoimage nur die Anzahl der Sektoren ermittelt. Im Beispiel werden 32000 Sektoren ermittelt, dieser Wert wird dann als Parameter "tsize=32000s" an wodim übergeben.
2.2) DVD+RW-Tools
Des weiteren gibt es noch die dvd+rwtools, dazu gehört u. a. das Konsolentool growisofs zum Brennen und dvd+rw-format zum Formatieren von DVD+RW. Neuere Versionen der Software arbeiten auch mit "DVD-R(W)". Hiermit habe ich bisher alles problemlos brennen können, sehr zu empfehlen. Download unter:
http://fy.chalmers.se/~appro/linux/DVD+RW/
Direkte Kopie einer DVD on the Fly (ohne Umweg über die Platte):
Code:
growisofs -dvd-compat -Z /dev/sr0=/dev/sr1
Im Beispiel: "/dev/sr0"=Brenner, "/dev/sr1"=Leser
2.3) libburnia
Bibliothek zum Brennen von DVDs. Wird z. B. von xfburn (s. u.) benutzt.
http://freshmeat.net/projects/libburnia
3) GUIs zum Brennen von DVDs
3.1) GUIs für wodim/growisofs
Bevor eine GUI installiert wird, sollte zunächst mal der Brenner selbst (1) und die entsprechenden Kommandozeilenzeilen-Tools (2) installiert werden, die GUIs sind letztlich nur Frontends, die einem die Bedienung eines Konsolentools abnehmen.
K3B: http://k3b.sourceforge.net/
k3b ist das Standardtool für das Brennen unter KDE.
Brasero: http://projects.gnome.org/brasero/
Gome-Baker: http://sourceforge.net/projects/gnomebaker
TkDVD: http://regis.damongeot.free.fr/tkdvd/
GUI für die DVD+-RW-Tools (growisofs etc), geschrieben in TK.
XFBurn: http://freshmeat.net/projects/xfburn
GUI aus dem xfce-Desktop. Nutzt libburnia.
3.2) Nero für Linux
Es gibt inzwischen auch Nero für Linux, allerdings bei weitem nicht mit dem Funktionsumfang von Nero für Windows.
Homepage: http://www.nero.com
4) Video DVD: Anlegen einer Sicherheitskopie
Hier bitte unbedingt das neue Urheberschutzgesetz beachten, das Knacken eines wirksamen Kopierschutzes ist verboten! Weiterhin darf nur für private Zwecke eine Kopie angefertigt werden!
Werkzeuge zum Umgehen eines Kopierschutzes werden hier bewusst nicht genannt, und die hier vorgestellten Programme/Scripte bietet auch keine Funktionen dazu.
Siehe hierzu auch das neue Urheberschutzgesetz:
http://transpatent.com/gesetze/urhg.html
Wikipedia Artikel zum Recht auf Privatkopie:
http://de.wikipedia.org/wiki/Privatkopie
Dieses Kapitel dient hauptsächlich zur Einarbeitung in die notwendigen Abläufe. In Kapitel 11) wird das Programm "lxdvdrip" vorgestellt, dass alle hier vorgestellten Abläufe vom Rippen mit automatischer Titelauswahl und Faktorberechnung über Preview bis zum Brennen komplett enthält. Es ist also nicht notwendig, ein eigenes Script zu entwickeln.
Das grundsätzliche Problem beim Kopieren von Video DVDs sind die verschiedenen Mediengrößen. Eine "normale" DVD-ROM fasst bis zu 9 GB, während auf einen Rohling nur 4,38 GB passen (siehe 7.2). Daher ist keine 1:1 Kopie möglich, stattdessen muss also die Datenmenge reduziert werden.
Hierzu gibt es 2 unterschiedliche Vorgehensweise, eine komplet neue Transkodierung oder das sogenannte Requantisieren.
Die Transkodierung entspricht einer komplett neuen Berechnung der DVD, ist damit sehr zeitaufwändig (bis zu 10 fach im Vergleich zur Requantisierung). Dafür ist die Bildqualität angeblich etwas besser.
Die Requantisierung ist sehr schnell (abhängig von CPU 20 min bis 1 Std für eine Video DVD). Auch die Bildqualität ist absolut zufriedenstellend. Im folgenden werden verschiedene Methoden vorgestellt, beide arbeiten aber mit Requantisierung.
Seit Version 0.6.11 von Transcode können mit Hilfe des Tools tcrequant, das MPEG Streams ohne großen Rechenaufwand verkleinern kann, Video DVDs auch mit reinen Linux-Programmen kopieren. Allerdings gehen bei der Methode 4.1) die DVD-Menüs verloren. Ein Komplettbackup inkl. Menü kann unter Linux nur "k9copy" (s. u.).
Am besten verwendet man für Video DVD das "-" Format, weil das von den meisten Playern am problemlosesten abgespielt wird. Hier am besten einen Multi Brenner kaufen und vorher testen.
Hinweis zu tcrequant (Stand 05.2010): tcrequant ist bei neuesten Transcode-Versionen (>= 1.10) nicht mehr dabei, weil bei bestimmten CPUs nur noch Müll entstand. Ich habe einen Patch beigesteuert, der ist aber noch nicht eingepflegt. Aktuell kann man sich mit requant_lxdvdrip behelfen, was die gleiche Aufgabe erledigt. Dieses Programm ist im lxdvdrip-Paket enthalten.
4.1) Rippen und Brennen mit mplayer/transcode
Vor Beginn müssen zunächst folgende Programme installiert werden:
- Transcode: http://tcforge.berlios.de/
- Mplayer: http://www.linuxforen.de/forums/show...threadid=67554
- mplex (http://mjpeg.sourceforge.net/) oder tcmplex (http://panteltje.com/panteltje/dvd/)
- DVD-Author: http://dvdauthor.sourceforge.net/
- lsdvd (http://sourceforge.net/projects/lsdvd)
Zur Installation von transcode seien die Howtos von Hunter empfohlen. Einfach hier im Howto Bereich mal den Suchbegriff "transcode" eingeben.
Wer keine Lust hat, selbst zu übersetzen, sollte mal bei http://rpmseek.com vorbeischauen.
Ablauf:
Ein vorheriges Rippen der vollständigen DVD mit DVD-Backup ist nicht nötig. Stattdessen werden die Daten entweder mit dem "mplayer" oder mit dem Transcode-Programm "tccat" direkt von der DVD extrahiert und umgewandelt.
4.1.1) Video-Part des MPEG Streams extrahieren und verkleinern
Code:
mplayer -dvd-device /dev/sr0 dvd://1 -dumpstream -dumpfile /dev/stdout | tcextract -t vob -a 0 -x mpeg2 | tcrequant -f 2 > /tmp/ofile.m2v
Extrahiert aus den VOBS den reinen Videostream (nur den Titel, also den Hauptfilm) und verkleinert alles um den Faktor 2 (tcrequant -f 2). Das Ergebnis ist ein reiner MPEG2 Stream in der Ausgabedatei "ofile.m2v".
"dvd://1" bedeutet den ersten Titel der DVD-ROM. U. U. kann aber z. B. Titel 2 den Hauptfilm enthalten. Das Tool "lsdvd" (Link siehe oben) zeigt die Titel einer DVD mit Länge und Kapiteln an.
Als Faktor für die Verkleinerung / Requantisierung kann man in den meisten Fällen "2" benutzen und hat noch eine akzeptable Qualität. Allerdings wird dabei die Kapazität des Rohlings nicht genau / voll ausgelastet.
Will man den Faktor genau ausrechnen, muss man den Video-Stream zuerst auf die Platte ziehen ohne Requantisierung:
Code:
mplayer -dvd-device /dev/sr0 dvd://1 -dumpstream -dumpfile /dev/stdout | tcextract -t vob -a 0 -x mpeg2 > /tmp/video.m2v
Eine DVD-R passt ca. 4,38 GB (siehe auch 7.2), zu Sicherheit sollte man aber mit etwas weniger rechnen, z. B. 4,3 GB. Davon muss man jetzt den Audio Stream abziehen.
Bsp: 4,3 GB Rohling - 300 MB Audio Stream = 4 GB Platz für Video Stream.
Video-Rip kleiner als 4 GB => Keine Requantisierung nötig.
Video-Rip mit 6 GB: Faktor=6 / 4 = 1.5 =>
Code:
tcrequant -i video.m2v -f 1.5 > ofile.m2v
Wer den Mplayer nicht installiert hat, kann alternativ über "tccat" aus dem Transcode Paket das Rippen vornehmen:
Code:
tccat -i /dev/sr0 -T1,-1 | tcextract -t vob -x mpeg2 | tcrequant -f 2 > /tmp/ofile.m2v
"/dev/dvd" steht hier für das DVD-ROM, also anpassen an den eigenen PC.
4.1.2) Audio Stream extrahieren
Code:
mplayer -dvd-device /dev/sr0 dvd://1 -alang de -dumpaudio -dumpfile /tmp/ofile.ac3
Extrahiert aus allen VOBs der DVD den Audio Stream in die Ausgabedatei "ofile.ac3". Es wird nur der deutsche Audio Stream extrahiert ("-alang de").
Alternativ lässt sich der Audiostream auch über "tccat" extrahieren:
Code:
tccat -i /dev/sr0 -T1,-1 | tcextract -t vob -x ac3 -a0 > /tmp/ofile.ac3
Hinweis: Durch "tcextract -a 0" wird der Audiostream aus Audiotrack 0 gezogen. Unter Umständen kann aber auch bei anderen als den von mir getesteten DVDs der Track 1 oder 2 die deutsche Audiospur enthalten.
4.1.3) Video und Audio Stream zusammenführen
Dafür wird er Multiplexer "mplex" aufgerufen:
Code:
mplex -f 8 -o film-neu.vob ofile.m2v ofile.ac3 -S 0 -M
Parameter:
"-f 8": DVD-Format
"-S 0": Dateigröße ohne Begrenzung (ansonsten max. 2 GB)
"- M": Bricht nicht ab, wenn DVD in mehreren Teilfolgen vorliegt
Man kann stattdessen auch tcmplex verwenden:
Code:
tcmplex -i /tmp/ofile.m2v -p /tmp/ofile.ac3 -m d -o /tmp/film-neu.vob
Sollte es Probleme hierbei mit der Synchronisation von Audio und Video geben, eventuell mal den Parameter "-D v,a" anhängen.
Im Unterschied zu "mplex" kann "tcmplex" nur fertige Dateien verarbeiten. "mplex" hingegen kann auch wöhrend des EInlesens der DVD direkt Audio und Video zusammenführen.
4.1.4) DVD Struktur erstellen
Code:
dvdauthor -t -a ac3+de -o film-dvd film-neu.vob
Erzeugt ein DVD-Dateisystem und entsprechende VOB-Dateien.
Code:
dvdauthor -T -o film-dvd
Erzeugt die "IFO"-Dateien.
Bei dvdauthor-Versionen vor 0.50 wird anscheinend die DVD-Verzeichnis-Struktur nicht angelegt. Das kann man zur Not manuell nachholen:
Code:
mkdir /tmp/film-dvd/AUDIO_TS
mkdir /tmp/film-dvd/VIDEO_TS
(Hinweis von klemens)
4.1.5) DVD brennen
4.1.5.1) mit dvd+rw-tools
Code:
growisofs -dvd-compat -speed=4 -Z /dev/sr0 -dvd-video film-dvd
Bei "growisofs" aus den dvd-rw+tools ist kein vorheriges Erzeugen eines Images nötig. Es wird direkt ein Verzeichnis auf die DVD gebrannt.
"/dev/sr0" steht hier für den Brenner, also ebenfalls anpassen bei Abweichung. "-speed=4" stellt 4 fache Brenngeschwindigkeit ein, "-dvd-compat" brennt mit maximaler Kompatibilität. Näheres siehe auch "man growisofs".
4.1.5.2) mit wodim
Code:
genisoimage -dvd-video -o dvd.img film-dvd
wodim -v dev=0,0,0 -eject dvd.img
Bei Verwendung von "wodim" wird hingegen zuvor ein Iso-Image erzeugt. Diese Methode braucht daher entsprechend mehr freien Speicherplatz. Das ganze geht auch on the fly, siehe dazu 2.1).
Die Angabe des Device (oben "dev=0,0,0") ist rechnerabhängig. Hierzu einfach die entsprechenden Werte ermitteln mit:
Bei IDE Brennern einfach das entsprechende Device (z. B. /dev/sr0) einsetzen.
Script zum Brennen
Code:
# !/bin/bash
# Rippen einer DVD
# Alle Dateien werden gelöscht, sobald sie nicht mehr gebraucht werden
# Zur Vorbereitung den Inhalt der DVD anzeigen
lsdvd /dev/sr0
# Nun den Titel abfragen, der kopiert werden soll (Default ist Titel 1)
echo 'Welcher Titel soll kopiert werden?'
read titel
if test "$titel" = ""; then
titel=1
fi
echo Titel $titel wird kopiert!
# Requantisierungsfaktor ohne Parameter 2
faktor=$1
if test "$faktor" = ""; then
faktor=2
fi
# Alle Aktionen im Verzeichnis /tmp
cd /tmp
# 1. Schritt: Videospur/Hauptfilm rippen
mplayer -dvd-device /dev/sr0 dvd://$titel -dumpstream -dumpfile /dev/stdout | tcextract -t vob -a 0 -x mpeg2 | tcrequant -f $faktor > /tmp/ofile.m2v
# 2. Schritt: Audiospur rippen
mplayer -dvd-device /dev/sr0 dvd://$titel -alang de -dumpaudio -dumpfile /tmp/ofile.ac3
# 3. Schriit: Audio und Video zusammenführen
tcmplex -i /tmp/ofile.m2v -p /tmp/ofile.ac3 -m d -o /tmp/film-neu.vob
rm /tmp/ofile.m2v
rm /tmp/ofile.ac3
# 4. Schritt: DVD Struktur erstellen
dvdauthor -t -a ac3+de -o film-dvd film-neu.vob
# 5. Schritt: Ifos erstellen
dvdauthor -T -o film-dvd
# 6. Schritt: DVD brennen
echo "Bitte Rohling einlegen / Enter drücken"
read
# Brennen
growisofs -dvd-compat -Z /dev/sr0 -dvd-video film-dvd
# Überflüssige Dateien löschen
rm -r /tmp/film-dvd
rm /tmp/film-neu.vob
Das ganze per Zwischenablage in einen Texteditor einfügen, Devices (hier /dev/sr0 für DVD-ROM und für Brenner) anpassen, speichern als "/usr/local/bin/dvdburn" und mit "chmod +x /usr/local/bin/dvdburn" ausführbar machen.
Das Script wird dann gestartet über Eingabe von "dvdburn". Ohne Parameter ist der Verkleinerungsfaktor 2, bei "dvdburn 1.5" würde der Faktor auf 1,5 gesetzt.
Zu Beginn wird "lsdvd" aufgerufen und zeigt den Inhalt der eingelegten DVD. Hier ist nun die Eingabe der Nr. des Titels mit dem Hauptfilm erforderlich, wird nur Enter gedrückt, ist Titel "1" die Voreinstellung.
Original in DVD-ROM einlegen, Rohling in Brenner, Script starten&warten, fertig.
Falls "growisofs" am eigenen PC nicht läuft, stattdessen den Brennbefehl aus 4.1.5.2) eintragen.
4.2) Untertitel einer Video DVD rippen
Zunächst braucht man das Programm "spuunmux" aus dem Paket "dvdauthor", um die Untertitel aus der DVD auszulesen. Brauchbar sind alle Versionen ab dvdauthor 0.6.10.
Weiterhin braucht man aus einem aktuellen dvdauthor Paket ab 0.6.10 das Programm "spumux", um die Untertitel wieder in den MPEG Stream zu multiplexen.
Vorgehensweise:
- Video auslesen und requantisieren, Audio auslesen, beides multiplexen
- Palette der DVD auslesen:
Code:
ifo_dump /dev/sr0 1 | grep Color | sed 's/Color ..: 00//' > /tmp/palette.txt
"ifo_dump" gehört zum ogle-Paket. Die Angabe der Palette ist wichtig für gute Lesbarkeit der Untertitel im Bezug zum DVD Hintergrund.
- Untertitelspur auslesen:
Code:
cd /tmp
tccat -i /dev/sr0 -T1,-1 -P | spuunmux -o /tmp/dvd -s 5 -p /tmp/palette.txt /dev/stdin
Parameter von spuunmux: Einfach "spuunmux" starten.
"-o /tmp/dvd": Es wird ein xml-File erzeugt namens dvd.xml, das später für spumux gebraucht wird.
"-s 5": Über lsdvd die Untertitel anzeigen lassen, hier aber "-1", also im Beispiel zeigt lsdvd "6" für deutsch an, daher hier "5".
"-p /tmp/palette.txt": Datei mit DVD-Palette, siehe Bemerkung oben.
"/dev/stdin": stream von tccat verarbeiten.
Das Ergebnis ist ein Haufen "dvd*.png"-Dateien (je Untertitel eine) und eine Datei "dvd.xml". Diese enthält für jeden Untertitel den Dateinamen sowie die Einblendezeit.
- Untertitel in den MPEG Stream multiplexen
Code:
mv /tmp/film.vob /tmp/dummy.mpeg
spumux -m dvd -s 0 /tmp/dvd.xml < /tmp/dummy.mpeg > /tmp/film.vob
rm /tmp/dvd.xml
rm /tmp/dvd*.png
"film.vob" ist das Ergebnis nach dem mplex-Lauf, eine Datei mit dem Hauptfilm der DVD inkl. Video und Audio. Parameter von spumux:
"-m dvd": DVD Format
"-s 0": 1. Untertitelspur (nicht im Bezug auf Original, sondern auf die übernommene Spur.
"/tmp/dvd.xml": Name der von spuunmux erzeugten XML-Datei.
"< /tmp/dummy.mpeg": Auslesen aus der Datei mit Video und Audiostream.
"> /tmp/film.vob": Ergebnisdatei.
Das ganze lässt sich wiederholen, wenn weitere Untertitel übernommen werden sollen. Also immer erst "spuunmux" und im nächsten Laufen "spumux", wobei sich dann bei "spumux" die Nr. des einzuarbeitenden Streams je Durchlauf um 1 erhöht.
- DVD Struktur erstellen
Code:
dvdauthor -t -a ac3+de -s de -p /tmp/palette.txt -o /tmp/film /tmp/film.vob
rm /tmp/palette.txt
Zwei zusätzliche Parameter sind erforderlich, alle übrigen sind wie sonst auch (=> 4.1):
"-s de": Angabe der Sprache der Untertitelspur
"-p palette.txt": Name der Palettendatei
Ab hier geht es wieder wie oben weiter (dvdauthor -T ..., growisofs).
4.3) Weiteres zur Video DVD
4.3.1) Spezifikation einer Video DVD (von hunter)
DVD (PAL)
Video Codec: VOB [Mpeg 2]
Audio Codec: Mp2 oder AC3
Video Bitrate: 5000 - 10000
Audio Bitrate: >= 224
Samplerate: 48000
Framerate: 25
Auflösung: 720x576
DVD-SVCD (PAL)
Video Codec: VOB [Mpeg 2]
Audio Codec: Mp2
Video Bitrate: 2500 - 10000
Audio Bitrate: >= 224
Samplerate: 48000
Framerate: 25
Auflösung: 480x576
4.3.2) SVCD in Video DVD umwandeln (von hunter)
Wie man an den oben genannten Spezifikationen sehen kann, ist es auch möglich SVCDs auf eine DVD zu brennen. Dazu sind allerdings einige Modifikationen notwendig, damit ein DVD-Player diese DVDs nachher abspielen kann:
- Samplerate: 44100 -> 48000
- SVCD Header -> DVD Header
1. Mpeg 2 extrahieren
Code:
vcdxrip -p -i fileX.bin (Mpeg2 aus Image extrahieren)
mv avseq01.mpg fileX.mpg
vcdxrip -p --cdrom-device=/dev/xyz (Mpeg2 aus SVCD extrahieren; Device anpassen !)
mv avseq01.mpg fileX.mpg
Das entsprechend für alle Images bzw. SVCDs.
2. Mpeg 2 demultiplexen
Code:
bbdmux filex.mpg 0xe0 fileX.m2v
Auch dies für alle extrahierten Mpeg2 Dateien.
3. Tonspur anpassen
Code:
transcode -i fileX.mpg -x null,mp3 -y null,mp2enc -E 48000 -b 224 -o fileX_neu
Ebenfalls für alle Mpeg2 Dateien.
4. Bild und Ton multiplexen (mit DVD Header)
Code:
tcmplex -i fileX.m2v -p fileX_neu.mpa -o fileX_dvd.mpg -m d
Dies für alle Ton und Videospuren.
Siehe auch: http://www.linuxforen.de/forums/show...&postid=224835
5. Schnitt
Sollte es im Film doppelte Szenen am Anfang bzw. Ende einer SVCD geben, so müsst ihr diese Dateien in seperate Verzeichnisse verschieben und mit Avidemux 2 indexieren. Anschließend könnt ihr jeweils die überflüssigen Szenen wegschneiden.
Ich verweise dazu auf diese HowTo: http://www.linuxforen.de/forums/show...376#post502376
6. Authoring
Code:
dvdauthor -o film -v 704x576 -a de fileX_dvd.mpg fileX+1_dvd.mpg fileX+2_dvd.mpg
dvdauthor -o film -T
Hier wird eine Auflösung von 704x576 angegeben (normale DVD hat 720x576). Dies dient dazu dem DVD Player nachher eine DVD "vorzugaukeln", obwohl die SVCD Auflösung in wirklichkeit viel kleiner ist.
7. Brennen
Siehe dazu die Kapitel zum Thema "Video-DVDs brennen" in dieser HowTo.
8. Vereinfachung:
Um das ganze zu vereinfachen, kann man sich Scripte dafür schreiben:
/usr/bin/image2vob (liest aus Images)
Code:
vcdxrip -p -i $1.bin
rm -f *.xml
mv avseq01.mpg $1.mpg
bbdmux $1.mpg 0xe0 $1.m2v
transcode -i $1.mpg -x null,mp3 -y null,mp2enc -E 48000 -b 224 -o $1_neu
tcmplex -i $1.m2v -p $1_neu.mpa -o $1_neu.mpg -m d
rm -f $1.m2v && rm -f $1_neu.mpa
Benutzung: image2vob file1
/usr/bin/svcd2vob (liest von SVCD)
Code:
vcdxrip -p --cdrom-device=/dev/xyz
rm -f *.xml
mv avseq01.mpg $1.mpg
bbdmux $1.mpg 0xe0 $1.m2v
transcode -i $1.mpg -x null,mp3 -y null,mp2enc -E 48000 -b 224 -o $1_neu
tcmplex -i $1.m2v -p $1_neu.mpa -o $1_neu.mpg -m d
rm -f $1.m2v && rm -f $1_neu.mpa
Benutzung: svcd2vob file1
4.3.3) Encoden einer einfachen DVD (von hunter)
Einfachs Beispiel für eine DVD mit Mp2 als Audiocodec. AC3 geht aber genauso (gültig ab Transcode 0.6.11):
transcode -x DECODER,null -i Eingang.Format -V -y mpeg2enc,null -F 8,"-b 5000 -a 2 -V 230" -C 2 -I 2 -Z 720x576,fast -o Ausgang
transcode -x null,DECODER -i Eingang.Format -V -y null,mp2enc -E 48000 -J normalize -b 224 -o Ausgang
tcmplex -i Ausgang.m2v -p Ausgang.mpa -o Ausgang.mpg -m d
Analog für AC3:
transcode -x DECODER,null -i Eingang.Format -V -y mpeg2enc,null -F 8,"-b 5000 -a 2 -V 230" -C 2 -I 2 -Z 720x576,fast -o Ausgang
transcode -x null,DECODER -i Eingang.Format -V -y null,ac3 -E 48000 -J normalize -b 448 -o Ausgang
tcmplex -i Ausgang.m2v -p Ausgang.ac3 -o Ausgang.mpg -m d
Hinweis: Gültige Werte für Decode findet man z. B. mit man transcode oder ls /usr/lib/transcode/import_* (Hinweis von slowhand).
5) Digitaler Video Recorder
Wenn man Besitzer einer TV-Karte ist, egal ob analog oder digital, lassen sich natürlich auch eigene Aufnahmen auf eine Video DVD brennen. Man braucht als Basis nur einen MPEG2-Stream.
5.1) VDR
Aus VDR Aufnahmen lässt sich unter Zuhilfenahme obiger Mittel eine Video DVD erstellen. Siehe dazu auch:
http://www.linux-user.de/ausgabe/2006/06/078-vdr/
http://www.linux-user.de/ausgabe/2003/12/031-vdr/
5.2) Aufnehmen mit analoger TV-Karte
In folgenden Howtos wird von Einrichtung einer TV-Karte bis zur Installation und Anwendung der Software alles beschrieben, was man für TV-Aufnahmen braucht.
http://www.linuxforen.de/forums/show...threadid=53804
http://www.linuxforen.de/forums/show...threadid=88454
http://www.linuxforen.de/forums/show...threadid=53635
Im folgenden wird eine aus obigen Howtos abgeleitete Vorgehensweise aufgeführt, mit deren Hilfe sich eine Video-DVD von einer TV-Sendung erzeugen lässt.
5.2.1) Aufnahme von TV-Karte => mpeg-File
Zunächst muss aufgenommen werden. Das Ergebnis ist bereits eine mpeg2-Datei mit der passenden Auflösung. Als Audio-Codec wird "mpeg2-Audio" gewählt.
Code:
# !/bin/bash
# Aufnehmen von TV-Karte
# Parameter: Zeit: hh:mm:ss
if test "$1" = ""; then
echo 'Parameter: '
echo '1) Aufnahmezeit angeben (hh:mm:ss, z. B. 01:35:00 für 95 Minuten)'
echo '2) Optional Name mpg-Datei als Ziel (z. B. /tmp/film.mpg, Voreinstellung, '
echo ' wenn nicht gesetzt)'
echo '3) Optional Aufnahmequalitaet (Standard 75 %, wenn nicht gesetzt)'
echo 'z. B. "tvrecord 01:35:00 /tmp/aufnahme.mpg 85"'
exit
fi
if test "$1" = "-h"; then
echo 'Parameter: '
echo '1) Aufnahmezeit angeben (hh:mm:ss, z. B. 01:35:00 für 95 Minuten)'
echo '2) Optional Name mpg-Datei als Ziel (z. B. /tmp/film.mpg, Voreinstellung, '
echo ' wenn nicht gesetzt)'
echo '3) Optional Aufnahmequalitaet (Standard 75 %, wenn nicht gesetzt)'
echo 'z. B. "tvrecord 01:35:00 /tmp/aufnahme.mpg 85"'
exit
fi
# Dateiname leer ?
ausgabefile=$2
if test "$2" = ""; then
ausgabefile=/tmp/film.mpg
fi
qualitaet=$3
if test "$3" = ""; then
qualitaet=75
fi
echo 'Aufnahmezeit: ' $1
echo 'Ausgabedatei: ' $ausgabefile
echo 'Qualitaet: ' $qualitaet '%'
# Sender einstellen ueber xawtv
xawtv
# Aufnahme
echo 'Aufnahme startet'
nice --20 streamer -t $1 -s 720x576 -r 25 -b 64 -o /tmp/movie.avi -f mjpeg -F stereo -R 48000 -j $qualitaet
# AVI zerlegen in Audio (mpa) und Video (m2v)
echo 'Umwandeln ins mpeg-Format'
transcode -H 60 -x null,mplayer -i /tmp/movie.avi -V -y null,mp2enc -f 25.000 -E 48000,,2 -J normalize -b 224 -o /tmp/movie
transcode -H 60 -x mplayer,null -i /tmp/movie.avi -V -y mpeg2enc,null -f 25.000 -F 8,"-b 3000 -q 1 -a 2 -V 230" -J pp=tn/lb/hb/vb -o /tmp/movie -C 2
# Multiplexen
echo 'mpeg-Datei erzeugen'
mplex -f 8 -S 0 -o $ausgabefile /tmp/movie.m2v /tmp/movie.mpa
rm /tmp/movie.m2v
rm /tmp/movie.mpa
echo 'Fertig, ' $ausgabefile 'schneiden mit avidemux2'
Script als "tvrecord" abspeichern, mit "chmod 777 tvrecord" ausführbar machen und nach "/usr/local/bin/" kopieren. Das Script wird gestartet mit "tvrecord dauer", wobei Dauer im Format "hh:mm:ss", also z. b. "01:35:00" für eine 95 minütige Aufnahme. tvrecord ohne Parameter bzw. mit "-h" zeigt den Aufruf an.
- Zunächst wird xawtv gestartet, um den Sender einzustellen. Nach Sendereinstellung direkt beenden.
- Der streamer Befehl nimmt auf und erzeugt eine AVI-Container-Datei. streamer verwendet den zuletzt eingestellten Sender.
- Mit transcode und mplex wird das ganze als mpeg2-File umgewandelt.
Lösungen bei ruckelnden Aufnahmen:
- Mehr Buffers für die TV-Karte einrichten. Dazu in der Datei /etc/modules.conf (bzw. /etc/modprobe.conf ab Kernel 2.6) den Eintrag "options bttv" um "gbuffers=32" ergänzen:
Code:
options bttv radio=0 card=33 pll=1 gbuffers=32
(Werte für radio, card, pll abhängig von TV-Karte),
- Wie im obigen Beispiel das Aufnahmetool streamer mit nice --20 starten, dann erhält der Prozess höchste Priorität.
- Bildschirmschoner deaktivieren.
- Oder besser gleich X/KDE/Gnome beenden (init 3) und an der Konsole direkt starten. In diesem Fall natürlich xawtv entfernen aus Script und selbst vorher unter X noch aufrufen.
- Kontrolle, ob DMA und 32 Bit Zugriff bei der Festplatte aktiviert. Wenn nicht, nachholen (/sbin/hdparm /dev/hda).
- In geringerer Qualität aufnehmen, reduziert dadurch die Bitrate (z. B. [/B]-j 75[/B]).
5.2.2) Schneiden und ins DVD Format wandeln
Zum Schneiden eignen sich hervorragend avidemux2 (http://fixounet.free.fr/avidemux/) oder ProjectX (http://www.lucike.info/page_projectx.htm).
Vorgehensweise:
- avidemux2 starten
- Datei öffnen (tmp/dummy.mpg)
- Frage nach Indexierung mit ja beantworten, mpeg Audio auswählen!
- Schneiden wie in hunters Howto beschrieben
- Datei abspeichern mit "Save / Save as DVD PS"
Das Ergebnis kann dann nach erneutem Multiplexen von dvdauthor verarbeitet werden.
Die Funktion "Save / Save as DVD PS" ist erst bei neueren Versionen von avidemux2 enthalten. Bei älteren Versionen muss man Audio und Video getrennt speichern und hinterher mit "mplex" wieder zusammenführen.
5.2.3) Authorisieren und brennen
Zuletzt wird aus der mpeg-Datei die DVD Struktur erzeugt und gebrannt.
Code:
# !/bin/bash
# Brennen einer mpeg-Datei von streamer/ffmpeg
if test "$1" = ""; then
echo 'Dateinamen angeben'
echo 'z. B. "tvburn /tmp/film.mpg"'
exit
fi
if test "$1" = "-h"; then
echo 'Dateinamen angeben'
echo 'z. B. "tvburn /tmp/film.mpg"'
exit
fi
echo 'Bitte Rohling bereits einlegen, Brennen startet im Anschluss'
echo 'DVD authorisieren'
dvdauthor -o /tmp/film -t -a mp2+de -v pal+4:3+720x576 $1
echo 'IFO-Files erzeugen'
dvdauthor -o /tmp/film -T
echo 'DVD brennen'
growisofs -dvd-compat -Z /dev/sr0 -dvd-video /tmp/film
Script als "tvburn" abspeichern, mit "chmod 777 tvburn" ausführbar machen und nach "/usr/local/bin/" kopieren. tvburn ohne Parameter bzw. mit "-h" zeigt den Aufruf an.
5.3) Archivierung von VHS-Kassetten
Natürlich lassen sich auch VHS-Kassetten mit Linux auf eine DVD bringen.
Hierzu braucht man:
- eine analoge TV-Karte z. B. mit BTTV 878 Chipsatz
- einen stinknormalen Videorekorder
- die Programme und Scripte aus 5.2)
Vorgehensweise:
- Videorekorder an normalen Antenneneingang der TV-Karte anschliessen.
- TV-Programm starten. Sendersuchlauf starten, um Videokanal zu finden.
- Film starten am Videorekorder.
- Aufnahme starten, wenn fertig, brennen nach obigen Methoden.
7) Allgemeines zum Thema DVD
7.1) Allgemeines zum Thema DVD
DVD-Wiki: http://de.wikipedia.org/wiki/DVD
7.2) Allgemeine technischen Hinweise
Auf folgenden Seiten gibt es Hinweise zur DVD+/-R(W)-Technik:
http://www.dvdplusrw.org/
http://fy.chalmers.se/~appro/linux/DVD+RW/ (siehe Kapitel "Technical Rambling")
http://www.dvdforum.org/
http://www.videohelp.com/
http://www.dvddemystified.com/dvdfaq.html
http://www.dvd-replica.com/DVD/index.php
7.3) Kapazität eines DVD-Rohlings (Hinweise von Basti_litho)
Auf DVD Rohlingen wird immer eine Kapazität von 4,7 GB angegeben. Das ist aber nur die halbe Wahrheit, hier wird wie bei Festplatten auch auf 1000er Basis statt 1024 Bytes je Kilobyte gerechnet. Letztlich kommt man auf eine effektive Kapazität von 4,38 GB.
8) Weitere Programme zum Thema DVD
8.1) GUIs für dvdauthor, Videokonvertierung
KDE DVD Authoring Wizard
KDE-Gui: http://www.kde-apps.org/content/show.php?content=27528
KMediaFactory
Schablonen-basierende dvdauthor GUI für KDE.
http://code.google.com/p/kmediafactory/
Q-DVDAuthor
QT basierende GUI für dvdauthor zum Erstellen eigener Video DVDs.
http://qdvdauthor.sourceforge.net/
DVDStyler
GUI für dvdauthor zum Erstellen eigener Video DVDs.
http://www.dvdstyler.org/
DeVeDe
Videokonvertierung für Gnome.
http://www.rastersoft.com/programas/devede.html
8.2) Rip-Tools
k9copy
Das einzig mir bekannte Tool unter Linux, dass ein Vollbackup DVD9=>5 inkl. Menüs erstellt. k9copy basiert auf vamps.
http://k9copy.sourceforge.net/
dvd95
Gnome-Tool ähnlich k9copy, also inkl. Menü.
http://sourceforge.net/projects/dvd95/
DVD-Rip
GUI zum Rippen einer Video-DVD und Umwandlung in (S)VCD. Basiert im wesentlichen auf Transcode.
http://www.exit1.org/dvdrip/
8.3) diverse Konsolen-Utilities
Tovid
Scriptsammlung zur Videokonvertierungen aller Art.
http://tovid.wikia.com/wiki/Tovid_Wiki
slideshow
Diverse Tools zum Erstellen einer eigenen Video DVD von Urlaubsbildern etc. Arbeitet auch mit qdvdauthor zusammen.
http://dvd-slideshow.sourceforge.net/
DVDBackup
Konsolentool zum Rippen einer DVD. Die komplette Verzeichnisstruktur der DVD wird auf die Festplatte kopiert.
http://sourceforge.net/projects/dvdbackup/
Vobcopy
Ähnliches Tool wie dvdbackup.
http://lpn.rnbhq.org/
LS-DVD
Tool zum Auflisten des Inhaltes einer Video-DVD.
http://sourceforge.net/projects/lsdvd
Download&Übersetzen nach (Standard (tar zxvf *, ./configure, make, make install).
Nach Einlegen einer DVD kann dann durch "lsdvd" der Inhalt angezeigt werden.
8.4) Audio-DVDs
DVD-Audio
Tools zum Erstellen von Audio DVDs.
Homepage: http://dvd-audio.sourceforge.net/
dvd2mp3
Script zum Extrahieren von Audiospuren von Video-DVDs.
Homepage: http://sourceforge.net/projects/dvd2mp3/
Devidify
GUI zur Audio Extraktion von Musik-DVDs:
http://www.mahnamahna.net/museyroom/...devidify.shtml
10) Video DVD: Single Pass Backup mit "vamps" und "Transcode parallel"
Hier bitte unbedingt das neue Urheberschutzgesetz beachten, das Knacken eines wirksamen Kopierschutzes ist verboten! Weiterhin darf nur für private Zwecke eine Kopie angefertigt werden!
Werkzeuge zum Umgehen eines Kopierschutzes werden hier bewusst nicht genannt, und das hier vorgestellte Programm bietet auch keine Funktionen dazu.
Siehe hierzu auch das neue Urheberschutzgesetz:
http://transpatent.com/gesetze/urhg.html
In den Beispielen aus Kapitel 4.1) besteht das Rippen der DVD aus den Schritten:
- Videospur rippen&requantisieren
- Audiotrack rippen
- Video und Audio zu einem MPEG2-File multiplexen
- DVD Struktur aus den MPEG/VOB-Files erstellen
Diese Schritte werden durch die folgenden Tools in einem Ablauf ausgeführt, was den Zeitaufwand für das Rippen auf 1/3 der nötigen Zeit verkürzt. Die Tools sind relativ kompliziert zu bedienen, daher habe ich lxdvdrip entwickelt, um das ganze zu vereinfachen, siehe dazu Kapitel 11).
10.1) Transcode parallel
Die Methode "Transcode parallel" stammt aus einer Idee, die in der Transcode User Mailinglist im Februar 04 gepostet wurde. Alle Prozesse werden über Pipes parallel mit Daten versorgt, das ganze wird von tccat zum Auslesen angestossen. Das Programm "buffer" sorgt dafür, dass die Pipes über einen konstanten Datenstrom verfügen. Das ganze sieht so aus:
Code:
mkfifo foo.s1
mkfifo foo.s2
mkfifo foo.ac3
mkfifo foo.m2v
mkfifo foo.mpeg
mkdir dvdimage
mplex -f 8 -S 0 -o foo.mpeg foo.m2v foo.ac3 &
sleep 1
buffer -s 64k -m 16m -i foo.s1 | tcextract -t vob -x mpeg2 | tcrequant -f 2.0 >foo.m2v &
sleep 1
buffer -s 64k -m 16m -i foo.s2 | tcextract -t vob -x ac3 -a 0 >foo.ac3 &
sleep 1
tccat -i /dev/sr0 -T 1,-1 | tee foo.s1 foo.s2 >/dev/null &
sleep 1
dvdauthor -t -a ac3+en -o dvdimage foo.mpeg
Die Geschwindigkeit dieser Methode ist beeindruckend, ca. 20 min für einen normalen Film.
10.2) vamps
Homepage: http://sourceforge.net/projects/vamps/
Die Installation wird in der beiliegenden README erklärt.
Vamps erledigt alle Schritte von tccat über tcextract nach mplex in einem Programm und einem Durchlauf.
Durch die Einbettung in dvdauthor kann man mit einem einzigen Schritt die DVD auslesen:
Code:
dvdauthor -t ... -f 'play_cell ... | vamps ... |'
dvdauthor verarbeitet den von Vamps gelieferten MPEG2 Stream direkt. Damit ist auch nur freier Festplattenplatz in Größe eines Rohlings nötig.
Seit Version 0.97 arbeitet es sehr zuverlässig.
11) Video DVD: lxdvdrip als integrierte Lösung für Sicherheitskopien
Hier bitte unbedingt das neue Urheberschutzgesetz beachten, das Knacken eines wirksamen Kopierschutzes ist verboten! Weiterhin darf nur für private Zwecke eine Kopie angefertigt werden!
Werkzeuge zum Umgehen eines Kopierschutzes werden hier bewusst nicht genannt, und das hier vorgestellte Programm bietet auch keine Funktionen dazu.
Siehe hierzu auch das neue Urheberschutzgesetz:
http://transpatent.com/gesetze/urhg.html
lxdvdrip ist ein Kommandozeilenprogramm, das alle Abläufe vom Rippen über Preview bis zum Brennen automatisiert.
Homepage&Download: https://sourceforge.net/p/lxdvdrip/home/Homepage/
Das Programm benutzt mehrere Werkzeuge, die ebenfalls installiert sein müssen:
- dvdauthor: DVD Struktur erstellen
- mplayer, xine, totem, kaffeine, vlc: Kontrolle der gerippten VOB-Dateien
- growisofs oder wodim/genisoimage: Brennen der DVD
- genisoimage: ISO File statt Brennen
- vamps (liegt bei), transcode, mplayer, vlc, dvdbackup (dvd5) oder dvdunauthor/vamps zum Rippen
- dvdwizard für DVD mit Menüs für Titel-, Kapitel- und Audiowahl
Downloadlinks siehe in den vorherigen Kapiteln bzw. auch in den README-Dateien des Projektes.
Features:
- Automatische Auswahl des längsten Tracks
- Haupttitel mit oder ohne Menü sichern
- Rippen von Audiotracks in beliebiger Sprache und Formaten
- Kapitelunterteilung vom Original übernehmen
- Volume-ID/Label des Originals übernehmen
- zwei Untertitel können übernommen werden
- Bei dts-Audiotracks diesen als Default auswählen (abschaltbar)
- Vollständiges Rippen und re-authorisieren des Haupttitels der DVD
- Konfiguration über eine Parameterdatei, überschreibbar durch Kommandozeilenparameter
- wahlweise Bedienerführung in englischer oder französischer Sprache
- Wahlweise über vamps, transcode, mplayer, vlc rippen
- Testrippen über tccat/tcextract oder vamps (abhängig vom Ripper) zur genauen Faktorberechnung
- DVDs kleiner als 4.7 GB 1:1 per dvdbackup kopieren (inkl. Menüs!)
- DVDs größer als 4.7 GB können per dvdunauthor/vamps 1:1 inhaltsmäßig kopiert werden (alle Video-, Audio- und Untertiteltracks, inkl. Kapitelunterteilung, ohne Menüs)
- Partielle Kopie: Mehrere Titel einer DVD kopieren (dvdunauthor/vamps)
- DVD mit Menüstruktur für Titel-, Kapitel- und Audiowahl (dvdwizard)
- Backup in voller Qualität (1 DVD9 => 2 DVD5)
Im Projekt sind auch README-Dateien enthalten, die die aktuellen Parameter erklären und alles weitere erklären.
Die Aufrufe der Tools sind bei vamps und Transcode parallel wie in Kapitel 10), bei mplayer und Transcode Standard wie in 4.1), Untertitel bei mplayer/transcode wie in 4.2).
Hinweise zur Berechnung des Requantsierungsfaktors:
Beim Backup des Haupttitels der DVD berechnet lxdvdrip über die Anzahl Sektoren*2048 Bytes die Größe des Videostreams, weiterhin die Größe aller Audiostreams und die Größe der ausgewählten Audiostreams. Hieraus ergibt sich dann der Faktor. Diese Berechnung ist nicht so genau, weil sie auf durchschnittlichen Bitraten der Audiostreams beruht.
lxdvdrip bietet daher zusätzlich die Option "Testrippen". Startet man das Programm mit "-f=-1", wird über tccat/tcextract ein Kapitel aus der Mitte des Haupttitels testweise gerippt und der hierbei berechnete Faktor dann zum Rippen verwendet. Diese Methode arbeitet sehr genau und vor allem zuverlässig. Wird Vamps als Ripper eingesetzt, erfolgt auch das Testrippen per Vamps.
Ab Version 1.50 ist "Streamanalyze" fest integriert, was ebenfalls eine sehr genaue Berechnung bietet. Dieses ist auch die Standardeinstellung.
Ab Version 1.60 kann per "lxdvdrip -st=vamps_menu" der Haupttitel mit Menü gesichert werden.