# FAQ Tips > Hier Suchen und Finden, Links, Tutorials >  DVDs rippen mit MEncoder

## hunter

*Inhalt:

1. Vorwort
2. Hard und Software

METHODE 1

3. Rippen und Encoden
4. Weiterbearbeitung der AVIs 
5. Scripte
6. GUIs

METHODE 2

7. mencvcd
8. Abschätzung der Bitrate
9. Multilanguage SVCDs*

*Vorwort:*

In dieser HowTo stelle ich mehre Möglichkeit vor wie man DVDs direkt und vor allem einfach rippen und encoden kann. Dazu wird MEncoder verwendet, welcher Teil des MPlayer Projektes ist. Viele Leute vergleichen immer wieder MPlayer mit Xine, was Unsinn ist, da die Projekte unterschiedliche Ziele haben und daher nur bedingt vergleichbar sind. Während Xine ein Player ist, ist MPlayer eine Sammlung von De und Encodern. Der Player ist also nur ein Teil davon. Für diese HowTo benötigen wir hauptsächlich einen anderen Teil des Projektes, den MEncoder.

Ich beschreibe das ganze in zwei Methoden:

_1. Methode:_ Bei der ersten Methode wird MEncoder benutzt um die DVD zu rippen und als AVI zu encoden. Von da aus kann man bei Bedarf dann zu (S)VCD weiter encoden. Das hat den Vorteil das die DVD schnell gerippt ist und dann mit Transcode weiter bearbeitet werden kann. Das ist einfacher als mit Transcode zu rippen und zu encoden. Die Qualität ist sehr gut. Da MEncoder schon einen Teil der Arbeit übernimmt ist das ganze etwa so schnell wie die 2. Methode. Transcode hat aber noch mehr Möglichkeiten als MEncoder, was also durchaus Vorteile bringen kann.

Danach kommen noch ein paar Anmerkungen zu GUIs die das gleiche machen können wie ihr in der Konsole. Ob die unbedingt gebraucht werden ist eine andere Frage, da der Syntax recht einfach ist.

_2. Methode:_ Bei der zweiten Methode erzeugt Mencoder ein Zwischenformat das dann mit mjpegtools weiter verarbeitet wird. Damit kann man direkt zu VCD oder SVCD encoden. das ganze hat einen komplizierteren Syntax, was aber durch ein gutes Script ausgeglichen wird das euch das ganze sehr einfach macht: mencvcd.

Um das besser auf die Ziel CDs anpassen zu können wird noch was zur Bitrate erklärt.


*Anmerkung: Diese HowTo benutzt Mencoder, mjpegtools, Transcode und eventuell noch einige GUIs. Sie stellt somit eine Alternative zu Transcode und der GUI DVD:rip dar. Eine Anleitung dazu gibts von Midget: http://www.linuxforen.de/forums/show...threadid=23293* 



*Bei Fragen zu dieser HowTo bitte einen Thread im Bereich Fernsehn öffnen. Bei Fehlern oder speziellen Anmerkungen bitte eine PN an mich schicken.*

----------


## hunter

*Hardware:*

Ihr benötigt folgendes an Hardware um sinnvoll DVDs rippen und encoden zu können:

- schneller Prozessor ab Pentium 3 oder Duron; Empfohlen: über 1GHz
- viel RAM; Empfohlen: über 128 MB (je mehr desto besser)
- einige GB freier Festplattenspeicher (mindestens 2 GB, besser mehr)
- ein DVD Laufwerk
- CD Brenner mit DAO Modus (notwendig um VCDs zu brennen, aber nicht unbedingt notwendig)

* Ein DVD Player der VCD, SVCD, CD-R und CD-RW beherrscht (empfohlen, aber nicht zwingend notwendig)


*Software (zum DVD rippen, weitere Software wird in den gelinkten HowTos genannt):*

Für das rippen der DVD und dem encoden zu einem Avi benötigt ihr folgende Software:

libDVDread -> http://freshmeat.net/projects/libdvdread
DivX 4/5 -> www.divx.com
Xvid -> http://freshmeat.net/projects/xvid
Lame -> http://freshmeat.net/projects/lame
MPlayer -> http://freshmeat.net/projects/mplayer


*Installation:*

Ich schlage vor alles selbst zu compilieren. Dafür setze ich vorraus das die Software zum compilieren für Linux installiert ist (gcc, make, cpp, c++, autoconf, automake etc.). Desweiteren erwarte ich das ihr mit den einfachsten Grundlagen des compilierens vertraut seit. Falls nicht, solltet ihr euch mal die HowTo von Ulli durchlesen: http://www.linuxforen.de/forums/show...threadid=20945


_libDVDread:_

- aktuelle Version runter laden
- entpacken: tar vxfz libdvdread*.tar.gz
- cd libdvdread*
- ./configure
- make
- make install (oder checkinstall) [als Root]


_DivX:_

- aktuelle Version runter laden
- entpacken: tar vxfz divx4linux*.tgz
- cd divx4linux*
- Installscript ausführen: sh install.sh [als Root]


_Xvid:_

- aktuelles Release runter laden
- entpacken: tar vxfz xvid*.tar.gz
- cd xvid*/build/generic
- ./configure
- make
- make install (oder checkinstall) [als Root]


_Lame:_

- aktuelle Version runter laden
- entpacken: tar vxfz lame*.tar.gz
- cd lame*
- ./configure --help

-->> Schaut euch an welche Optionen ihr brauchen könnt. Zumindest das sollte gemacht werden:

- ./configure --enable-mp3x
- make
- make install (oder checkinstall) [als Root]


_MPlayer:_

- aktuelle Version runter laden (eventuell ist das eine Pre !)
- entpacken: tar vxfj MPlayer*.tar.bz2
- cd MPlayer*
- ./configure

-->> Falls ihr gcc 2.96 verwendet oder eine GUI für MPlayer wollt, schaut euch bitte ./configure --help an !!! Für das DVD rippen und encoden wird aber keine GUI benötigt !

- make
- make install (oder checkinstall) [als Root]


Damit habt ihr jetzt alles an Software installiert was ihr zum rippen und encoden benötigt. Zum weiter bearbeiten werdet ihr dann noch weitere Software brauchen. Darum soll es aber in dieser HowTo nicht gehen. Ich werde dazu Links zu anderen HowTos angeben wo alles weitere beschrieben wird.


*Symlink setzen:*

Ihr solltet jetzt noch einen Link von dem Device eures DVDs auf ein /dev/dvd Device legen:

/dev/hdx , /dev/scdx oder /dev/sgx sei das Device für das DVD Laufwerk. hdx ist dabei ein IDE Laufwerk und x ein Buchstabe. scdx oder sgx sind SCSI oder SCSI emulierte Laufwerke und x dann die Nummer. Dann wird der Link so erstellt:

ln -sf /dev/hdx /dev/dvd

(bzw. scdx bzw. sgx statt hdx)

----------


## hunter

*DVD analysieren:*

Zunächst müsst ihr euch mal kurz die DVD die ihr rippen wollt ansehen (einlegen aber nicht mounten). Dazu solltet ihr in einer X Konsole mal eingeben:

mplayer -dvd 1

Die DVD sollte abgespielt werden. Die Sprache sollte Deutsch sein. Ist das alles richtig, dann steht dem rippen nichts mehr im Wege. Manchmal ist allerdings die 1 noch nicht der Film sondern nur ein Trailer oder so was. Dann müsst ihrs mal mit ner anderen Zahl versuchen, also 2.

Eine weitere Sache solltet ihr aber vieleicht trotzdem noch bedenken. Falls ihr z.B. eine Serien DVD habt, dann wollt ihr ja einen File pro Folge haben. Dafür müsst ihr entweder durch ansehen oder durch die DVD Beilage ermitteln welche Chapter ihr braucht.


*DVD rippen - Planung:*

Bevor ihr mit dem rippen loslegt solltet ihr euch erst mal überlegen was ihr als Endziel von der ganzen Sache erwartet. Wenn ihr später eine VCD oder SVCD daraus machen wollt, dann solltet ihr die Auflösung und die Audiobitrate schon mal einstellen, damit ihr in der nachbearbeitung weniger Arbeit damit habt.

Die Normen sind:

VCD:

Auflösung: 352x288
Audio Bitrate: 224 kBit

SVCD:

Auflösung: 480x576
Audio Bitrate: 192 kBit

Das solltet ihr beim encoden der Videos dann auch gleich mit angeben, damit es bei einer späteren weiterverarbeitung schneller geht.


*Syntax:*

Legt die DVD in euer DVD Laufwerk (nicht mounten).

*Enziel AVI:*

mencoder -dvd 1 -ovc xvid -oac mp3lame -lameopts br=128 -o Ausgang.avi

Erläuterung: siehe VCD ; die Audiobitrate kann niedriger gesetzt werden ; ein scale ist nicht unbedingt notwendig


*Endziel VCD:*

mencoder -dvd 1 -ovc xvid -vop scale=352:288 -oac mp3lame -lameopts br=224 -o Ausgang.avi

Erläuterung:

mencoder -> Encoder und Ripper (Teil von MPlayer)
-dvd 1 -> DVD mit Sprache 1 (in der Regel Deutsch), korrekte Zahl habt ihr oben geprüft
-ovc xvid -> Video Codec für den zu encodierenden File, Ich empfehle Xvid
-vop scale=352:288 -> Videooptionen, Auflösung wird auf 352x288 gesetzt (VCD)
-oac mp3lame -> Audio Codec für den zu encodierenden File, Ich empfehle Lame für mp3
-lameopts br=224 -> Option für den Lame Encoder, Bitrate 224 (VCD)
-o Ausgang.avi -> Name des ue encodierenden AVIs


*Alternativ für das Endziel SVCD:*

mencoder -dvd 1 -ovc xvid -vop scale=480:576 -oac mp3lame -lameopts br=192 -o Ausgang.avi

Erläuterung:

Das ist jetzt das gleiche wie für VCD. Nur die Auflösung und die Bitrate für Audio sind jetzt die Werte für SVCD.


*Chapter:*

Durch eine weitere Option könnt ihr das ganze nun auf Chapter eingrenzen: -chapter C1-C2

Beispiel: mencoder -dvd 1 -ovc xvid -oac mp3lame -lameopts br=128 -o Ausgang.avi -chapter 2-4
Damit rippt und encodet ihr die Kapitel 2,3 und 4 zu einem Xvid Avifile.


*Sprache und Untertitel:*

Am besten ihr startet einmal kurz aus der X Konsole mit: mplayer -dvd 1 -v

Dann werdet ihr z.B. diese Zeilen finden:

DVD successfully opened!
[open] audio stream: 0 audio format: ac3 (5.1) language: en aid: 128
[open] audio stream: 1 audio format: ac3 (5.1) language: de aid: 129
[open] number of audio channels on disk: 2.
[open] subtitle ( sid ): 0 language: en
[open] subtitle ( sid ): 1 language: de
[open] subtitle ( sid ): 2 language: sv
[open] subtitle ( sid ): 3 language: no
[open] subtitle ( sid ): 4 language: da
[open] subtitle ( sid ): 5 language: fi
[open] subtitle ( sid ): 6 language: is
[open] subtitle ( sid ): 7 language: it
[open] subtitle ( sid ): 8 language: de
[open] number of subtitles on disk: 9

Damit könnt ihr dann Sprache und Sprache der Untertitel auswählen.

Option für Sprache: -aid X

X ist hier z.B. 128 für Englisch und 129 für Deutsch


Option für Untertitel: -sid X

X ist hier z.B. 0 für Englisch und 1 für Deutsch usw.

(Standard ist in der Regel: Sprache Deutsch und Untertitel aus)


Sinn macht das z.B. für englische Sprache und deutsche Untertitel. Das wäre dann (z.B.):

mencoder -dvd 1 -ovc xvid -oac mp3lame -lameopts br=128 -o Ausgang.avi -sid 1 -aid 128


*Bemerkungen:*

Das rippen und encoden der DVD dauert eine Weile. Mit etwa zwei Stunden könnt ihr bei einem normalen Film schon rechnen. Während des encodens wird eine geschätzte Restzeit und eine geschätzte Endgröße für das AVI angezeigt.

Es ist normal das sie das AVI noch nicht lesen lässt !! Das liegt daran das der AVI Header erst zum Schluss geschrieben wird.

Wenn ihr euch das AVI mit Auflösung für VCD oder SVCD anseht, so wird es ziemlich verzogen sein. Das liegt daran das AVIs kein 4:3 Format kennen und sie daher nicht richtig dargestellt werden können. Das ist aber nicht schlimm, da dies im nächsten Schritt geregelt wird. Trotzdem könnt ihr euch natürlich Qualität und Ton ansehen.


*Anmerkung zu Xvid:*

Der eine oder andere fragt sich vieleicht wiso ich DivX habe installieren lassen, das hier dann aber gar nicht gebraucht wird. Das liegt daran das die meisten AVIs die es so gibt den DivX 4/5 Codec verwenden. Daher sollte MPlayer den auf jeden Fall können. Aber dieser Codec ist Closed Source. Zudem ist er eingeschränkt (Free Version). Wer alles haben wollte müsste die Pro Version nehmen die zum einen noch in der Entwicklung unter Linux ist und zum anderen was kostet. Xvid dagegen ist Open Sorce und Kostenlos. Meinen Informationen zurfolge ist Xvid in Leistung und Qualität zwischen der DivX Free und der Pro Version anzusiedeln. Somit ist Xvid also unter Linux die wohl beste Variante.

----------


## hunter

Nachdem nun ein AVI mit Xvid Codec erstellt wurde, kann man dieses AVI natürlich behalten und einzeln auf eine CD brennen. Das hat den Vorteil das man den Film kompakt und mit guter Qualität ansehen kann. Allerdings nur auf einem Computer der einen entsprechenden Player mit entsprechenden Codecs installiert hat.

Daher kann man nun einen Schritt weiter gehen und aus den AVIs jetzt VCDs oder SVCDs rechnen lassen. Wie das geht und was genau dafür gebracht wird will ich hier jetzt nicht näher beschreiben. Ich verweise da auf meine andere Video HowTo und stelle hier nur noch kurz die Vorgehensweise vor.

--> http://www.linuxforen.de/forums/show...threadid=50974

Desweiteren kann man die AVIs auch noch manipulieren (schneiden, splitten, zusammenfügen, Effekte einfügen etc.). Dazu empfehle ich die HowTo von stefan.becker.

--> http://www.linuxforen.de/forums/show...threadid=53633


*Erzeugen einer VCD:*

Ich setze vorraus das ihr dem Beispiel oben gefolgt seit und bereits mit Mencoder die Auflösung und die Bitrate für Audio angepasst habt. Die weitere Umwandlung des AVIs zu einem VCD kompatiblen MPEG sieht dann so aus:

transcode -i Eingang.avi -x xvid,mp3 -V -o Ausgang -y mpeg2enc,mp2enc -G 0.9 -F 1,"-S 792 -V 230" -R 3 -E 44100 -b 224 -J normalize

mplex -f 1 -o Ausgang_%d.mpg Ausgang.m1v Ausgang.mpa


*Ähnlich für den Fall SVCD:*

transcode -i Eingang.avi -x xvid,mp3 -V -o Ausgang -y mpeg2enc,mp2enc -G 0.9 -F 4,"-S 792 -V 230" -R 3 -E 44100 -b 192 -J normalize

mplex -f 4 -o Ausgang_%d.mpg Ausgang.m2v Ausgang.mpa


*Kurze Erläuterung:*

-i Eingang.avi -> Das AVI das umgewandelt werden soll
-x xvid,mp3 -> Decoder Xvid für Video und Decoder mp3 für Audio (Da wir das ja so von MEncoder haben encoden lassen)
-o Ausgang -> Basisname für die Ausgabefiles
-G 0.9 -> Erhöhung der Helligkeit; 0.1 - 10.0, wobei 1.0 gar nichts bewirkt, 0.1 - 0.9 die Helligkeit erhöht und 1.1 - 10.0 die Helligkeit reduziert
-F 4,"-S 792 -V 230" -> 1 bzw. 4 steht für VCD bzw. SVCD und -S steht für die maximale Filegröße von 792 MB, damit das nachher alles auf CDs passt
-R 3 -> sorgt dafür das die Bitrate gleichmäßig verteilt ist, die Qualität also konstant bleibt und nicht mal schlechter und mal besser und nur im Durchschnitt wie gewünscht ist
-E 44100 -> Samplerate für Audio (44100 ist VCD und SVCD Norm !!)
-b 192 -> Audiobitrate (192 = SVCD , 224 = VCD)
-J normalize -> Erhöht die Lautstärke auf normales Maß

Damit habt ihr nun schon alles was man braucht um vom AVI zu VCD oder SVCD zu kommen.

Wie man das ganze nun zu einem Image umwandelt und als fertige VCDs bzw. SVCDs brennt entnehmt ihr bitte meiner anderen HowTo. Hier nur die Kurzfassung für die die schon alles haben:

VCD: vcdimager Ausgang.mpg -c NAME.cue -b NAME.bin
SVCD: vcdimager Ausgang.mpg -t svcd -c NAME.cue -b NAME.bin

(NAME kann frei gewählt werden, sollte aber zur DVD passen)

daoburn NAME.cue

(daoburn ist ein von mir geschriebenes kleines Script (siehe andere HowTo !))


*Anmerkung:*

-S 792 ist die Option die dafür sorgt das am Schluss jeder Mpeg File maximal 792 MB groß ist. Das passt genau auf einen 700 MB Rohling. Der Grund dafür ist das ein 700 MB Rohling in Wirklichkeit 700 MB für Daten frei hat und den Rest für Fehlerkorrektur verwendet. Eine VideoCD kennt sowas aber nicht und somit ist der Platz ungenutzt. Daher kann man im Fall von VCD oder SVCD ohne weiteres die volle Kapazität des Rohlings nutzen und die liegt bei 792 MB.

----------


## hunter

Im Prinziep wird ja bei diesen Befehlen so gut wie gar nichts geändert. An der Videobitrate und der Helligkeit kann man ein wenig drehen aber ansonsten ändern sich eigentlich nur die Namen für die Files. Daher empfiehlt es sich nun diese Befehle in Form von einfachen Scripten zu speichern.

*1. Script: DVD rippen und Avi encoden*

Legt als Root diese Datei an: /usr/bin/dvd2avi

_Inhalt:_

#!/bin/sh

#VCD Rip 
#mencoder -dvd 1 -ovc xvid -vop scale=352:288 -oac mp3lame -lameopts br=224 -o $1.avi 

#SVCD Rip 
mencoder -dvd 1 -ovc xvid -vop scale=480:576 -oac mp3lame -lameopts br=192 -o $1.avi 


Das Ganze nun speichern und folgenden Befehl darauf anwenden: chmod 777 /usr/bin/dvd2avi

Jetzt könnt ihr als User dieses Script abändern. Es sollte reichen wenn ihr das eine auskommentiert (#) und bei dem anderen die Auskommentierung entfernt. So könnt ihr ganz einfach VCD ähnliches AVI oder SVCD ähnliches AVI encoden.

*Benutzung: dvd2avi NAME.avi*


*2. Script: Avi -> VCD / SVCD*

Legt als Root diese Datei an: /usr/bin/avi2mpg 

#!/bin/sh 

#VCD Rip 
#transcode -i $1 -x xvid,mp3 -V -o $2 -y mpeg2enc,mp2enc -G 0.9 -F 1,"-S 792 -V 230" -R 3 -E 44100 -b 224 -J normalize
#mplex -f 1 -o $2_%d.mpg $2.m1v $2.mpa

#SVCD Rip 
transcode -i $1 -x xvid,mp3 -V -o $2 -y mpeg2enc,mp2enc -G 0.9 -F 4,"-S 792 -V 230" -R 3 -E 44100 -b 192 -J normalize
mplex -f 4 -o $2_%d.mpg $2.m2v $2.mpa 


Das Ganze nun wieder speichern und folgenden Befehl darauf anwenden: chmod 777 /usr/bin/avi2mpg

Jetzt könnt ihr als User dieses Script abändern. Es sollte reichen wenn ihr das eine auskommentiert (#) und bei dem anderen die Auskommentierung entfernt. Das muss sich natürlich mit dem decken was ihr im ersten Script gemacht habt !!

*Benutzung: avi2mpg NAME.avi Ausgang*


*Schlussbemerkung:*

Wenn ihr wollt könnt ihr diese Scripte natürlich auch zu einem einzelnen zusammenfassen. Ich rate aber davon ab, da ihr erstmal das Ergebnis genau betrachten solltet. Eventuell müsst ihr auch erst ein paar Testläufe für Helligkeit usw. machen um die richtigen Einstellungen vieleicht noch festzustellen.

*Ein Test könnte z.B. so aussehen:*

transcode -i Eingang.avi -x xvid,mp3 -V -o Ausgang -y mpeg2enc,mp2enc -G 0.9 -F 4,"-S 792 -V 230" -c 1-7500 -R 3 -E 44100 -b 192 -J normalize

mplex -f 4 -o Ausgang_%d.mpg Ausgang.m2v Ausgang.mpa

vcdimager -t svcd Ausgang_1.mpg

daoburn videocd.cue


Das wären dann die ersten 5 Minuten auf einer SVCD. Das ganze am besten auf einer Rewriteable machen um keinen Rohling zu verschwenden.

----------


## hunter

Der Großteil der ganzen Sache ist doch das rippen und encoden. Das angeben des Befehls dazu ist nur ein sehr kleiner Bruchteil davon. Wenn das ganze dann erstmal läuft gibt es in einer GUI nicht viel zu sehen.

Manche Leute vertreten jedoch die Meinung das ein anständiges Programm eine anständige grafische Oberfläche benötigt die es einem erlaubt das ganze zu benutzen ohne groß was lernen zu müssen. Im Fall der Videobearbeitung rate ich von solchem denken ab. Ihr solltet wissen was passiert, selbst dann wenn ihr eine GUI verwendet.

Daher hab ich hier mal eine kleine Liste mit GUIs zusammen gestellt von denen ich glaube das sie euch ganz nützlich sein sollten:

AcidRip (rippen und zu AVI encoden): http://freshmeat.net/projects/acidrip

kavi2svcd (AVI -> Mpeg): http://freshmeat.net/projects/kavi2svcd

QVcd (Mpeg -> VCD): http://freshmeat.net/projects/qvcd


Schaut euch bitte die beiliegende Dokumentation an. AcidRip muss mit einer Perl Anweisung compiliert werden. kavi2vcd braucht die KDE Libs und wird normal compiliert. QVcd benötigt zum compilieren Qt. Sollte nicht allzuschwer sein wenn ihr euch die beiliegende README und INSTALL mal kurz durchlest.

----------


## hunter

MEncVCD ist ein von Jürgen Hammelmann geschriebenes Script. Es benutzt mplayer, mjpegtools, vcdimager und cdrdao um direkt von DVD aus zu VCD oder SVCD zu encoden. Es kann sogar direkt ein Image erstellen und die VCD dann direkt brennen.

mjpegtools, vcdimager und cdrao solltet ihr ja im Zuge der Transcode Installation schon installiert haben. Falls nicht, schaut noch mal in die HowTo rein: http://www.linuxforen.de/forums/show...threadid=50974

Ich empfehle außerdem (dringend) Normalize. Dieses Programm analysiert einen Wave File und setzt dann die Lautstärke auf ein normales Maß hoch. (das wird bei Methode 1 in Transcode auch gemacht)
Download: http://www.cs.columbia.edu/~cvaill/normalize/
Installation wie gewohnt: entpacken, ./configure, make, make install (oder checkinstall)
*Achtung: Diese Option wird erst seit MEncVCD 0.2.2 vom 1.12.2002 unterstützt*


Jetzt müsst ihr euch nur noch das Script runter laden und installieren:

- http://hammelmann.gmxhome.de/mencvcd
(alternativ ist es auch in den MPlayer Quellen im Verzeichnis TOOLS zu finden, möglicherweise aber eine ältere Version)
- speichert es einfach auf Festplatte ab
- X Konsole öffnen und nach /usr/bin/ kopieren: cp mencvcd /usr/bin/ [als Root]
- Rechte setzen: chmod +x /usr/bin/mencvcd [als Root]
- rm mencvcd

*Modifikation des Scripts:*

Das Script sollte jetzt noch ein klein wenig modifiziert werden:

Wenn ihr nachher die (S)VCD brennen wollt müsst ihr den File mal editieren. Unter "# global config section, change them to your needs!" könnt ihr den Driver und das Device für euren Brenner einstellen.


Jetzt solltet ihr euch mal die Hilfe dazu ansehen: mencvcd -h

Wenn ihr euch mal meine HowTo zur Videobearbeitung oder Methode 1 (siehe oben) durchgelesen habt, dann sollten euch die Spezifikationen für VCD und SVCD bereits bekannt sein. Auch solltet ihr wissen was PAL ist. Hier eine kleine Übersicht:

VCD: 

Auflösung: 352x288 
Audio Bitrate: 224 kBit 
Audio Samplerate: 44.100 kHz

SVCD: 

Auflösung: 480x576 
Audio Bitrate: 192 kBit 
Audio Samplerate: 44.100 kHz

Laut PAL TV Norm müssen zudem alle Filme 25 Bilder / Sekunde haben. (NTSC wären 30)

Genau das muss jetzt berücksichtigt werden um vernünftig von DVD nach (S)VCD zu kommen.


Beispiele:

mencvcd NAME -abr 192 -a 2 -svcdout -dvd 1

Das sollte eine SVCD mit Audiobitrate 192 im Format 4:3 von der DVD erstellen und brennen. 


mencvcd NAME -mpgonly -noburn -abr 224 -dvd 1

Das sollte VCD kompatible Mpegs erzeugen die nicht zu einem Image umgewandelt werden (mpegonly) und die dann logischerweise auch nicht gebrannt werden können (noburn). Das weglassen von mpgonly würde demnach die Images erstellen aber nicht brennen.


mencvcd NAME -abr 192 -a 2 -svcdout -vbr 2000 -dvd 1

Das erzeugt wieder eine SVCD aber diesmal mit reduzierter Bitrate. Hier 2000, Standard wären SVCD für 2500 kBit/s und 1152 kBit/s für VCD. Das zu reduzieren wird natürlich auch die Qualitt etwas reduzieren. Trotzdem kann diese Option Sinnvoll sein um den Film möglichst gleichmäßig auf die CDs zu verteilen. Beispielsweise 790 MB auf CD1 und 10 MB auf CD2 würde nicht viel Sinn machen. Mit etwas reduzierter Bitrate würde das dann auch noch auf CD1 passen.


NAME ist der Name der Datei die auf Festplatte gerippt wird. Ihr solltet ihn der DVD entsprechend wählen.


Im übrigen ist es erlaubt das hinter dem -dvd 1 nun Mencoder spezifische Optionen kommen siehe (mencvcd -h !). Also auch der -chapter C1-C2 Befehl. Ebenso die Optionen -sid für die Untertitel und -aid für die Sprache.


Ich denke das ihr mit der Hilfe gut klarkommen solltet, so das das ganze kein allzugroßes Problem darstellen sollte.

----------


## hunter

Hier noch eine kurze Erklärung wie man mit der Bitrate umgeht:

8 Bit = 1 Byte
1 kByte = 1024 Byte
1 MByte = 1024 kByte

Ein Bit ist dann halt immer Wahr oder Falsch bzw. Ja oder Nein bzw. 1 oder 0 (das aber nur am Rande)

Bitrate sind immer kBit pro Sekunde.

Für SVCD Audio also: 192 kBit/s / 8 = 24 kByte/s
Genauso für den Film: 2500 kBit/s / 8 = 312,5 kByte/s

Wer möchte kann jetzt hergehen und die Länge des Films in Sekunden nehmen und dann mit Video und Audio multiplizieren und das dann addieren und kommt ungefähr auf die Gesamtgröße des Films.

Wer jetzt also plant das der Film auf 2 CDs soll, rechnet 2 x 792 aus und zieht die Audio Dateigöße direkt ab, da die per Norm festgelegt ist. Dann bleibt nur noch die Bitrate für den Film übrig. An der kann man dann drehen.

Das Ergebnis kann im mencvcd Befehl untergebracht werden: mencvcd [...] -w Bitrate -dvd 1 [...]

*Anmerkung:* Moderne DVD Player die auch SVCDs abspielen können, beherrschen auch andere Bitraten als 2500 kBit/s für SVCD oder 1152 kBit/s für VCD. Aber auch das hat gewisse Grenzen die ihr im Internet zu eurem Player vieleicht nachlesen könnt. Geringe Abweichungen von einigen 100 sollten aber möglich sein.

----------


## hunter

SVCD hat eine hohe Auflösung und eine gute Qualität durch eine hohe Videobitrate. Aber das SVCD Format kann noch etwas mehr: bis zu 4 Tonspuren (DVD bis 32). Wer also eine Serien DVD oder einen Film rippt der kann hergehen und z.B. die deutsche und die englische Tonspur rippen und zusammen auf eine SVCD brennen.

*Wichtige Anmerkung:* Nicht alle DVD Player die SVCD beherrschen lassen ein umschalten der Sprache zu. Die SVCD wird dann mit der ersten Sprache laufen, aber kann nicht auf die 2. - 4. umgeschaltet werden. Ein kleiner Test ist also vorher ratsam, in Form eines einzelnen kleinen Chapters.


Zunächst mal kurz nach den Sprachen sehen: _mplayer -dvd 1 -v_ (siehe auch oben)

Dann rippt man die DVD auf Platte (z.B. mit Sprache 128):

_mencvcd NAME -abr 192 -mpgonly -noburn -svcdout -dvd 1 -aid 128_
(Es ist egal mit welcher der gewünschten Sprachen ihr beginnt !)

Das multiplexte Mpeg kann gleich wieder gelöscht werden: _rm NAME.mpg_

Dann den Audiofile umbenennen: _mv NAME.mpa SPRACHE1.mpa_

Jetzt rippt man das ganze noch mal mit der zweiten gewünschten Sprache. Ich nehme jetzt mal 129. Allerdings wird das Bild nicht gebraucht (da wir das ja schon haben), also wird das gleich an Null (Müll) weiter geleitet: -vo null

_mplayer -vo null -ao pcm -aofile audiodump.wav -dvd 1 -aid 129_

Jetzt sollte die Lautstärke normalisiert werden:

_normalize audiodump.wav_

Nun kann der File zu einem MP2 umgewandelt werden:

_mp2enc -r 44100 -b 192 -o SPRACHE2.mpa < audiodump.wav_
_rm audiodump.wav_

Das ganze macht ihr für die beiden anderen Sprachen genauso. Natürlich nur wenn ihr die braucht.


Jetzt das ganze multiplexen. Die Reihenfolge der Sprachen legt fest welche Standardmäßig genutzt wird und in welcher Reihenfolge man sie durchschalten kann:

_mplex -f 4 NAME.mpv SPRACHE1.mpa SPRACHE2.mpa -o NAME.mpg_ (bzw. auch noch die beiden anderen Sprachen dazu)

Der Rest ist dann nur noch Image erstellen und brennen:

_vcdimager -t svcd NAME.mpg -c NAME.cue -b NAME.bin_
_daoburn NAME.cue_ 

*Schlussbemerkung:*

Vergesst nicht das beide Files eine Bitrate von 192 kBit/s haben. Das sind 24 kByte/s. Bei zwei Audistreams sinds dann natürlich 48, 72 bei 3 und 96 bei 4. Das ist nicht unerheblich und muss bei euren Planungen entsprechend berücksichtigt werden.

Sollte euer DVD die Tonspur nicht wechseln können, macht das nichts. Dann könnt ihr nur die 1. benutzen. Aber auf anderen Playern wären dann mehrere Spuren verfügbar. Insofern solltet ihr nach einem persönlichen Misserfolg nicht unbedingt darauf verzichten wenn ihr grundsätzlich an Multilanguage SVCDs interessiert seit.

----------


## hunter

Die Mjpegtools sind eine Sammlung von guten Encodern, Decodern und Multiplexern. Leider machen diese manchmal Ärger. Dann sollte man Alternativen griffbereit haben um trotzdem weiter machen zu können.

*tcmplex (Ersatz für mplex)*

tcmplex gehört zu Transcode das nach Methode 1 installiert sein sollte. Transcode ist mächtig aber leider kompliziert wenns ums DVD rippen geht. Für andere Sachen ist es aber einfach und das beste was es für Linux gibt.

Benutzung: "tcmplex -h" (Hilfe ansehen)

Beispiel (SVCD mit zwei Tonspuren): tcmplex -i Eingang.mpv -p Audio1.mpa -s Audio2.mpa -o Ausgang.mpg -m s

Beispiel (einfache VCD): tcmplex -i Eingang.mpv -p Audio1.mpa -o Ausgang.mpg -m v


*tccat (Alternative zu cpdvd und vobcopy)*

tccat gehört ebenfalls zu Transcode und ist gut dafür geeignet einzelne Titel oder Kapitel von der DVD auf Platte zu kopieren. Das geht zwar nicht schneller als wenn man es direkt von DVD rippt aber manchmal kann es vorkommen das das DVD Laufwerk im Randbereich der DVD Probleme hat und der Film am Anfang eine schlechte Qualität bekommt. Außerdem braucht man die DVD anschließend nicht mehr weil alles nötige auf Festplatte liegt.

Nebenbei bemerkt, es gibt auch vobcopy und cpdvd die genau das gleiche tun können wie tccat. Allerdings haben sie beide bei mir versagt wenn es darum ging exakte vobs von genau einem Titel oder Kapitel zu kopieren. Dafür waren sie etwas informativer als tccat. Benutze persönlich dennoch lieber tccat.

Benutzung: siehe "tccat -h" (Hilfe ansehen)

Beispiel (ganzer Film): tccat -i /dev/dvd -T 1 > Ausgang.vob

Beispiel (erste drei Kapitel des Films): tccat -i /dev/dvd -T 1,1-3 > Ausgang.vob

Ich gehe hier davon aus das Titel 1 der Film ist. Das ist meistens, aber nicht immer so.

_Anmerkung: Ihr könnt den .vob dann als Input für MEncoder angeben. Also "Ausgang.vob" anstatt "-dvd 1"_

----------


## hunter

Manchmal will man lieber Avi (oder OGMs) haben. Diese werden mit Xvid oder auch DivX encodet. Der große Unterschied zum Mpeg ist, das man hohe Qualität bei sehr kleiner Bitrate erreichen kann. Ein typischer Wert ist 640x480 bei einer Bitrate von 1000 kBit/s. Das ist eine kleinere Bitrate als bei einer VCD und eine höhere Auflösung als eine SVCD hat. Würde man das mit einem Mpeg machen würde man eine sehr schlechte Qualität bekommen. Bei einem Codec wie Xvid oder DivX ist das anders. Der Film wird stark komprimiert so das diese Bitrate dennoch für sehr gute Qualität ausreicht.

Diese Files laufen nun nicht auf einem DVD Player sondern nur auf einem Rechner. Eventuell kann man auch XBox oder PS2 zum abspielen verwenden. Was auf jeden Fall geht ist den Film über eine Grafikkarte mit TV-Out auf den Fernseher zu bringen.

*Vorgehen*

Es wurde bereits beschrieben wie man ein Xvid aus einer DVD encodet. Die Qualität ist in Ordnung und das Format ist auf SVCD bzw. VCD angepasst. Man kann das Format nun auf 4:3 anpassen (z.B. 640x480). Aber dann ist die Bitrate noch immer sehr groß. Also müssen wir diese nun reduzieren. Dadurch wird die Qualität ebenfalls sinken, zwar nicht so sehr wie bei Mpeg, aber sie wird schlechter werden.

Um die Bitrate nun optimal zu verteilen benutzt man Multi Pass Encoding. Es gibt 2 und 3 Pass Encoding. Im ersten Pass wird der Film nur Testencodet und eine Log erstellt die die optimalen Bitraten speichert. Nach dieser Log wird im zweiten Pass dann der eigentliche Film encodet. Sollte man dabei nicht auch den Ton mit encoden so muss dies im dritten Pass erfolgen.

*Benutzung*

mencoder -dvd 1 -oac mp3lame -lameopts br=128 -ovc xvid -xvidencopts bitrate=BR:pass=1 -vop scale=640:480 -o /dev/null 
mencoder -dvd 1 -oac mp3lame -lameopts br=128 -ovc xvid -xvidencopts bitrate=BR:pass=2 -vop scale=640:480 -o Ausgang.avi

BR ist durch die gewünschte Bitrate des Videos zu ersetzen. 1000 ist ein guter Wert. Aber auch Werte darunter sollten noch gute Ergebnisse bringen. Selbstverständlich können auch die Auflösung und die Audiobitrate noch verändert werden.

Das war jetzt 2 Pass Encoding. 3 Pass Encoding benutze ich in meiner OGM HowTo: http://www.linuxforen.de/forums/show...threadid=68216
Das ist nichts anderes als das man in den Zeile -nosound setzt und die Soundoptionen weglässt. Dann geht man vor wie bei der Multilanguage (weiter oben) und encodet den Ton seperat um sie dann mit dem Film zu verbinden. Ich empfehle dazu OGM (wie beschrieben) zu verwenden.


Um die Bitrate erst einmal zu testen, können beide Zeilen zunächst einmal für einen kleinen Zeitbereich durchgeführt werden. Dazu hängt jeweils folgende Optionen an: -ss H:MM -endpos H:MM

Also z.B. -ss 0:05 -endpos 0:10 um von der 5. bis zur 10. Minute zu encoden. Ihr könnt euch dann die Filmsequenz ansehen ob ihr mit dem Ergebnis zufrieden seid und gegebenenfalls die Bitrate erhöhen oder reduzieren.


Etwas weiter oben könnt ihr nachlesen wie man grundsätzlich die Video Bitrate abschätzt. Dies solltet ihr auch mit einem Avi bzw. Ogg machen. Nur dürft ihr jetzt Bitraten unter 1000 verwenden. Damit passt natürlich sehr viel mehr Film auf einen Rohling (da Daten, nur 700 MB !!!).

----------

