Mercurial > mplayer.hg
view DOCS/German/encoding.html @ 8225:c032962b51a1
Add quoting support for string arguments (fix loading of file with space in
the name) and add a new command for the console
author | albeu |
---|---|
date | Mon, 18 Nov 2002 00:11:56 +0000 (2002-11-18) |
parents | 7e654203b6b2 |
children | e4c5ee3aa3e9 |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE>Konvertierung - MPlayer - The Movie Player for Linux</TITLE> <LINK REL="stylesheet" TYPE="text/css" HREF="default.css"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY> <H2><A NAME="encoding">2.4. Encodieren mit MEncoder</A></H2> <P><B>MEncoder</B> (<B>MPlayer</B>'s Movie Encoder) ist ein einfacher Filmencoder, entworfen um Filme, die mit <B>MPlayer</B> abspielbar sind (<B>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET</B>), in ein anderes von <B>MPlayer</B> abspielbares Format (siehe unten) zu encodieren. Er kann mehrere Codecs zur Encodierung benutzen, wie <B>DivX4</B> (1, 2 oder 3 Pass), libavcodec und <B>PCM</B>/<B>MP3</B>/<B>VBRMP3</B> Audio. Er verf�gt auch �ber eine stream-copy-Funktion und kann die Gr�sse der Videos �ndern.</P> <H3><A NAME="compilation">2.4.1. Kompilierung</A></H3> <UL> <LI><B>OPTIONAL</B> - Lies die Anleitungen zur <B>MPlayer</B> Kompilierung.</LI> <LI><B>OPTIONAL (nur Linux)</B> - Downloade die neuesten <B>DivX4linux</B> Libs von <A HREF="http://avifile.sourceforge.net/download.htm">avifile.sourceforge.net</A> und installiere sie RICHTIG. Es wird ben�tigt f�r das DivX4 (1/2 Pass) encodieren. Weil er (zur Zeit) noch davon abh�ngig ist, ist MEncoder auf Linux beschr�nkt.</LI> <LI><B>OPTIONAL</B> - <A HREF="codecs.html#xvid">downloade und installiere <B>XViD</B></A>. Nicht sehr n�tzlich, libavcodec's <I>mpeg4</I> Codec kann viel schneller UND in besserer Qualit�t codieren als XViD oder DivX4/5.</LI> <LI><B>OPTIONAL</B> - f�r libavcodec Support, installiere libavcodec wie beschrieben in <A HREF="codecs.html#libavcodec">ffmpegs DivX/libavcodec</A>.</LI> <LI><B>OPTIONAL</B> - Downloade und kompiliere <B>libmp3lame</B> (von lame 3.89beta oder lame CVS).<BR> <B>Warnung: Kompiliere Lame < 3.90 auf keinen Fall mit <U>GCC 2.96</U>! Es wird nicht funktionieren.</B><BR> Dies wird f�r die CBR/VBR MP3 Audio Encodierung ben�tigt. Bedenke dass die <CODE>lame</CODE> Binary allein nicht genug ist. �brigens: je weniger Optimierungen du f�r lame verwendest, desto besser wird die Qualit�t. Du kannst die Qualit�t mit <CODE>make test</CODE> nach dem Kompilieren von lame testen. Das Ergebnis (eine Zahl) sollte kleiner als <B>30</B> sein. Aber keine Panik wenn sie <B>400</B> oder �hnlich ist, du solltest keine mindere Qualit�t bemerken k�nnen. Oh, und wenn dein Compiler <CODE>make test</CODE> nicht ausf�hrt ... dann l�sche <B>GCC 2.96</B> oder upgrade Lame auf mindestens <B>3.90</B>.</LI> <LI><B>OPTIONAL</B> - <CODE>libjpeg</CODE> und <CODE>libpng</CODE> - wie in der <A HREF="documentation.html#installation">Installation</A> Sektion beschrieben</LI> </UL> <P>Du bist fertig. Wie du m�glicherweise weisst, ben�tigen andere Encoder <I>avifile</I>. <B>MEncoder</B> braucht diese �berhaupt nicht.</P> <H3><A NAME="features">2.4.2. MEncoder Features</A></H3> <UL> <LI>Encodieren von der gro�en Reichweite an Dateiformaten und Decodern von <B>MPlayer</B></LI> <LI>Encodieren von allen Codecs von <A HREF=codecs.html#libavcodec>libavcodec</A></LI> <LI>Erzeugung von Dateien aus einer externen Tonspur</LI> <LI>Encodieren von <B>V4L kompatiblem TV-Tunern</B></LI> <LI>Encodieren/Multiplexen zu interleaved AVI-Datei mit Index</LI> <LI>1, 2 oder 3 Pass Encodierung</LI> <LI><B>VBR</B> MP3 Audio, <B>wichtiger Hinweis:</B> VBR MP3 Audio wird von Windows-Playern nicht immer gut wiedergegeben. Andererseits ist <B>MEncoder</B>'s CBR Encodierung auf Win32-Playern ausser Betrieb :)</LI> <LI>PCM Audio</LI> <LI>stream-copy</LI> <LI>Eingangs A/V-Synchronisation (PTS-basierend, kann mit der -mc 0 Option ausgeschaltet werden)</LI> <LI>Korrektur der FPS mit der <CODE>-ofps</CODE> Option (hilfreich beim Encodieren von 29.97fps VOB zu 24fps AVI)</LI> <LI>Bildgr�ssen�nderung (rescaling)</LI> <LI>Benutzung unseres m�chtigen Plugin-Systems (crop, expand, flip, postprocess, rotate, scale, rgb/yuv Umwandlung)</LI> <LI>Encodieren von DVD/VOBsub- <B>UND</B> Text-Untertiteln in eine Ausgabedatei</LI> <LI>Rippen von DVD Untertitel in das Vobsub Format</LI> </UL> <H4><I>Geplante Features:</I></H4> <UL> <LI>Erh�hen der verf�gbaren En-/Decodierungs Formate/Codecs (erzeugen von VOB Dateien mit DivX4/Indeo5/VIVO Streams :)</LI> <LI>Audio Encodierung von v4l (FERTIG f�r FreeBSD ?)</LI> </UL> <H4><A NAME="2pass">2.4.2.1. 2-Pass DivX4 Encodierung</A></H4> <P><U><B>2-pass Encodierung:</B></U> Der Name kommt in der Tat daher, dass diese Methode die Datei <I>zwei Mal</I> encodiert. Das erste Encodieren (1. <P>Pass</I> [=Durchlauf]) erzeugt einige tempor�re Dateien (*.log) mit einer Dateigr�e von nur wenigen, l�sche sie nicht (du kannst die AVI l�schen). Im zweiten Pass wird die Ausgabedatei erzeugt, unter Verwendung der Bitraten-Daten der tempor�ren Datei. Die endg�ltige Datei wird eine bessere Bildqualit�t besitzen. Wenn dies das erst Mal ist das du davon h�rst, solltest du einige Guides in Internet lesen.</P> <P>Dieses Beispiel zeigt dir, wie du eine DVD in ein 2-Pass DivX4 AVI encodierst. Nur 2 Befehle sind erforderlich:<BR> <CODE> rm frameno.avi</CODE> - L�sche diese Datei, welche von einer fr�heren Encodierung kommen kann (Sie f�hrt zu einem Konflikt mit der momentanen)<BR> <CODE> mencoder -dvd 2 -lavcopts vcodec=mpeg4:weitere_optionen -o film.avi -pass 1</CODE><BR> <CODE> mencoder -dvd 2 -lavcopts vcodec=mpeg4:weitere_optionen -o film.avi -pass 2</CODE></P> <P><U><B>3-pass Encodierung:</B></U> Dies ist eine Erweiterung der 2-Pass Encodierung, in der die Kodierung von Audio in einem separaten Durchlauf vollzogen wird. Diese Methode erlaubt die Untersuchung der empfohlenen Video-Bitrate um auf eine CD zu passen. Auch wird der Ton nur einmal kodiert im Unterschied zum 2-Pass. Das Schema: </P> <TABLE> <TR><TD><CODE>rm frameno.avi</CODE></TD> <TD><B>L�sche st�rende tempor�re Dateien</B></TD></TR> <TR><TD><CODE>mencoder <datei/DVD> -ovc frameno -o frameno.avi</CODE></TD> <TD><B><U>Erster Durchlauf:</U> Eine Audio-only avi Datei wird erzeugt, welche NUR den verlangten Audiostream enth�lt. Vergiss nicht <CODE>-lameopts</CODE> zu setzen, wenn du sie setzen musst. Wenn du einen langen Film encodierst, zeigt MEncoder die empfohlenen Bitraten-werte an f�r 650Mb, 700Mb und 800Mb Endgr�ssen, wenn er diesen Durchlauf beendet hat.</B></TD></TR> <TR><TD><CODE>mencoder <datei/DVD> -oac copy -pass 1 -ovc divx4 -divx4opts br=<bitrate></CODE></TD> <TD><B><U>Zweiter Durchlauf:</U> Integriert den ersten Durchlauf der DivX4 Video-Encodierung. Optional kann die Video-Bitrate, welche am Ende des letzten Durchlaufes gezeigt wurde, hier definiert werden.</B></TD></TR> <TR><TD><CODE>mencoder <datei/DVD> -oac copy -pass 2 -ovc divx4 -divx4opts br=<bitrate></CODE></TD> <TD><B><U>Dritter Durchlauf:</U> Integriert den zweiten Durchlauf der DivX4 Video Encodierung. Optional kann die Video-Bitrate, welche am Ende des letzten Durchlaufes gezeigt wurde, In diesem Durchlauf wird der Ton vom <CODE>frameno.avi</CODE> in die endg�ltige Datei eingef�gt und es ist alles bereit.</B></TD></TR> </TABLE> <H4>Beispiel einer 3-pass Encodierung:</H4> <P><CODE> rm frameno.avi</CODE> - L�sche diese Datei, welche von einer fr�heren Encodierung kommen kann (Sie f�hrt zu einem Konflikt mit der momentanen)<BR> <CODE> mencoder -dvd 2 -ovc frameno -o frameno.avi</CODE><BR> <CODE> mencoder -dvd 2 -lavcopts vcodec=mpeg4:weitere_optionen -oac copy -o film.avi -pass 1</CODE><BR> <CODE> mencoder -dvd 2 -lavcopts vcodec=mpeg4:weitere_optionen -oac copy -o film.avi -pass 2</CODE></P> <P><U><B>2 oder 3-pass Encodierung unter Benutzung des internen libavcodec Kontrollers:</B></U> Man kann optional libavcodec's internen 2 oder 3-pass Modus verwenden, welcher vielleicht zu einer besseren endg�ltigen Genauigkeitrate f�hrt als bei der Benutzung des externen, DivX4-inspirierten 2-pass Kontrollers mit libavcodec.</P> <UL> <LI><B>2-pass Encodierung:</B><BR> <CODE>rm -f lavc_stats.txt</CODE><BR> <CODE>mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 (Audio-Optionen) -o film.avi</CODE><BR> <CODE>mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 (Audio-Optionen) -o film.avi</CODE></LI> <LI><B>3-pass Encodierung:</B><BR> <CODE>rm -f frameno.avi lavc_stats.txt</CODE><BR> <CODE>mencoder -dvd 2 -ovc frameno (Audio-Optionen) -o frameno.avi</CODE><BR> <CODE>mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o film.avi</CODE><BR> <CODE>mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o film.avi</CODE></LI> </UL> <H4><A NAME="rescaling">2.4.2.2. Rescaling von Filmen</A></H4> <P>Oftmals ist die �nderung der Bildgr�e erforderlich. Die Gr�nde daf�r k�nnen verschieden sein, Beispiele sind das Verkleinern des Ausgabenbildes oder das Encodieren von SVCD zu DivX. Bei gerippt DVDs wurde meinst die Gr�e ge�ndert, zum Beispiel eine 4:3 DVD sollte 640x480 Pixel haben, insbesondere wenn es auf eine CD passen soll und eine gute Bildqualit�t zugleich aufweisen soll. SVCDs haben eine Gr�e von 480x480, wobei ihr Header jedoch die "Aspect Ratio" f�r den Player enth�lt (z.B.: 480x480 + 4:3 = 640x480). Wie auch immer, wenn du in eine AVI (DivX) Datei encodierst musst du bedenken, dass der Header von AVI Dateien keine solche Information enth�lt. Darum ist die einzige M�glichkeit das �ndern das Ausl�sung.</P> <P>Der Skalierungsprozess erfolgt durch den <I>'scale</I> Videofilter: <CODE>-vop scale=X:Y</CODE>. Die Qualit�t kann durch die Option <CODE>-sws</CODE> angegeben werden. Wenn nichts angegeben ist verwendet <B>MEncoder</B> 0: fast bilinear.</P> <P>Verwendung:<BR> <CODE> mencoder beispiel-svcd.mpg -lavcopts vcodec=mpeg4:weitere_optionen -vop scale=640:480 -sws 2 -o ausgabe.avi</CODE></P> <H4><A NAME="copying">2.4.2.3. Stream-Copy</A></H4> <P><B>MEncoder</B> kann Input-Streams auf zwei Arten behandeln: <B>encodieren</B> oder <B>kopieren (copy)</B>. Diese Sektion erkl�rt das <B>copying</B>.</P> <UL> <LI><B>Videostreams</B> (Option <CODE>-ovc copy</CODE>): Es k�nnen nette Sachen gemacht werden :)<BR> Wie das kopieren (nicht konvertieren) von FLI oder VIVO oder MPEG1 Video in eine AVI Datei! Nat�rlich kann nur <B>MPlayer</B> solche Dateien abspielen :) Und vermutlich hat es auch keine �berlebensqualit�t. Das Kopieren von Videostream kann n�tzlicher sein, wenn man zum Beispiel nur den Audiostream encodieren will (z.B.: unkomprimiertes PCM zu MP3).</LI> <LI><B>Audiostreams</B> (Option <CODE>-oac copy</CODE>): siehe oben.</LI> Es ist m�glich eine externe Audiodatei (MP3, AC3, Vorbis) zu nehmen und diese dem Ausgabestream hinzuzuf�gen. Benutze dazu die Option <CODE>-audiofile <dateiname></CODE>.</LI> </UL> <H4><A NAME="fixing">2.4.2.4. Reparieren von AVIs mit defektem Index oder Interleaving</A></H4> <P>Einfache Sache. Wir kopieren einfach die Video- und Audiostreams und <B>MEncoder</B> erzeugt das Index. Nat�rlich kann das keine Fehler in den Video- und/oder Audiostreams l�sen. Es kann auch Dateien mit kaputten Interleaving reparieren, so dass die Option <CODE>-ni</CODE> f�r diese nicht mehr gebraucht wird.</P> <P>Befehl: <CODE>mencoder -idx eingabe.avi -ovc copy -oac copy -o ausgabe.avi</CODE></P> <H4><A NAME="libavcodec">2.4.2.5. Encodierung mit der <I>libavcodec</I> Codec-Familie</A></H4> <P><A HREF="codecs.html#libavcodec">libavcodec</A> bietet eine einfache Encodierung f�r viele interessante Video und Audio Formate (momentan sind deren Audio Codecs nicht unterst�tzt). Du kannst zu folgenden Codecs encodieren:</P> <UL> <LI>mjpeg - Motion JPEG</LI> <LI>h263 - H263</LI> <LI>h263p - H263 Plus</LI> <LI>mpeg4 - DivX4</LI> <LI>msmpeg4v2 - Micro$oft MPEG4 V2 (DivX alias MP43 predecessor)</LI> <LI>msmpeg4 - das alte DivX</LI> <LI>rv10 - ein alter RealVideo Codec</LI> <LI>mpeg1video - MPEG1 video :)</LI> </UL> <P>Die erste Kolonne enth�lt den Codec-Name der nach dem <CODE>vcodec</CODE> Config �bergeben werden sollte, wie z.B.: <CODE>-lavcopts vcodec=msmpeg4</CODE></P> <P>Ein Beispiel mit MJPEG Kompression:<BR> <CODE> mencoder -dvd 2 -o titel2.avi -ovc lavc -lavcopts vcodec=mjpeg</CODE></P> <H4><A NAME="image_files">2.4.2.6 Encodierung von mehreren Eingangsbildern (MJPEG/MPNG)</A></H4> <P><B>MEncoder</B> kann Filme aus einer oder mehreren JPEG oder PNG Dateien. durch eine einfache Kopierung der Frames kann es MJPEG (Motion JPEG) oder MPNG (Motion PNG) Dateien erzeugen.</P> <H4>Erkl�rung des Prozesses</H4> <P><B>MEncoder</B> <I>decodiert</I> das/die Eingangsbild(er) mit <CODE>libjpeg</CODE> (wenn PNGs decodiert werden, wird die <B>libpng</B> benutzt).</P> <P><B>MEncoder</B> f�hrt die decodierten Bilder danach dem gew�hlten Videokompressor zu (DivX4, Xvid, ffmpeg msmpeg4, etc...). Der eingebaute PNG-Decoder, kann momentan leider nur RGB-Formate ausgeben und kann desshalb nicht mit Codecs, welche YUV als Input ben�tigen (wie Divx 4 oder ffmpeg's msmpeg4), gebraucht werden.</P> <H4>Beispiele</H4> <P>Die Erkl�rung der <CODE>-mf</CODE> Option kann unten, in der globalen <A HREF=#options>Optionen</A> Sektion und in den Manpages gefunden werden.</P> <P><I>Erstellung einer DivX4-Datei aus allen JPEG-Dateien im momentanen Verzeichnis:</I><BR> <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o ausgabe.avi</CODE></P> <P><I>Erstellung einer DivX4-Datei aus einigen JPEG-Dateien im momentanen Verzeichnis:</I><BR> <CODE>mencoder frame001.jpg,frame002.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o ausgabe.avi</CODE></P> <P><I>Erstellung einer Motion JPEG (MJPEG) Datei aus allen JPEG-Dateien im momentanen Verzeichnis:</I><BR> <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc copy -o ausgabe.avi</CODE></P> <P><I>Erstellung einer unkomprimierten Datei aus allen PNG-Dateien im momentanen Verzeichnis:</I><BR> <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc raw -o ausgabe.avi</CODE></P> <P><I>Erstellung einer Motion PNG (MPNG) Datei aus allen PNG-Dateien im momentanen Verzeichnis:</I><BR> <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc copy -o ausgabe.avi</CODE></P> <H4><A NAME="vobsub">2.4.2.7. Extrahieren von DVD Untertiteln in eine Vobsub Datei</A></H4> <P><B>MEncoder</B> kann Untertitel von einer DVD extrahieren und sie als Datei im Vobsub Format speichern. Dieses besteht aus einem Dateipaar (<CODE>.sub</CODE> und <CODE>.idx</CODE>) und wird gew�hnlich in ein einziges <CODE>.rar</CODE> Archiv verpackt. <B>MPlayer</B> kann diese mit den Optionen <CODE>-vobsub</CODE> und <CODE>-vobsubid</CODE> wiedergeben.</P> <P>Man gibt dabei den Basisnamen (ohne <CODE>.idx</CODE> oder <CODE>.sub</CODE> Endung) der Ausgabedatei mit der Option <CODE>-vobsubout</CODE> und den Index des Untertitels der Ausgabedatei mit der Option <CODE>-vobsuboutindex</CODE> an.</P> <P>Wenn die Eingabe nicht von einer DVD stammt, sollte die Option <CODE>-ifo</CODE> verwendet werden, welche die <CODE>.ifo</CODE> Datei angibt, die zur Erstellung der resultierenden <CODE>.idx</CODE> Datei ben�tigt wird.</P> <P>Wenn die Eingabe nicht von einer DVD stammt und keine <CODE>.ifo</CODE> Datei vorhanden ist, ben�tigt man die <CODE>-vobsuboutid</CODE> Option um <B>MPlayer</B> zu sagen, welche Sprachid f�r die <CODE>.idx</CODE> Datei verwendet werden soll.</P> <P>Jeder Aufruf f�gt neue Untertitel dazu, falls die <CODE>.idx</CODE> und <CODE>.sub</CODE> Dateien bereits existieren. Sie sollten also vor dem Starten gel�scht werden.</P> <H4>Beispiele:</H4> <P><I>Kopieren zweier Untertitel von einer DVD mit 3-pass Encodierung</I><BR> <CODE>rm untertitel.idx untertitel.sub</CODE><BR> <CODE>mencoder -dvd 1 -vobsubout untertitel -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno</CODE><BR> <CODE>mencoder -dvd 1 -oac copy -ovc divx4 -pass 1</CODE><BR> <CODE>mencoder -dvd 1 -oac copy -ovc divx4 -pass 2 -vobsubout untertitel -vobsuboutindex 1 -sid 5</CODE></P> <P><I>Kopieren eines franz�sischen Untertitels von einer MPEG Datei</I><BR> <CODE>rm untertitel.idx untertitel.sub</CODE><BR> <CODE>mencoder film.mpg -ifo film.ifo -vobsubout untertitel -vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P> <H3><A NAME="options">2.4.3. Verf�gbare Optionen</A></H3> <P>F�r eine komplette Liste der verf�gbaren Optionen sollte die Manpage durchsucht werden.</P> </BODY> </HTML>