mpv/DOCS/Hungarian/encoding.html

309 lines
14 KiB
HTML

<HTML>
<BODY BGCOLOR=white>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<P><B><A NAME=2.4>2.4. Enkódolás a MEncoderrel</A></B></P>
<P><B><A NAME=2.4.1>2.4.1. Bevezető</B></P>
<P>A <B>MEncoder</B> (<B>MPlayer</B>'s Movie Encoder) egy egyszerű film
enkóder, az MPlayer által lejátszható formátumok
(<B>AVI/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET</B>) más - MPlayerrel lejátszható -
formátumokba kódolására.
Jelenleg béta verzió, és csak <B>DivX4</B> (1 vagy 2 menet) videoba, és
<B>PCM</B>/<B>MP3</B>/<B>VBRMP3</B> audioba tud kódolni. Rendelkezik továbbá
stream másoló képességgel. A közeljövőben tervezzük vágó, átméretező filterek
beépítését, és hasonlókat.</P>
<P><B><A NAME=2.4.2>2.4.2. Fordítás</B></P>
<P>
<UL>
<LI>olvasd el az <B>MPlayer</B> fordítási útmutatóját, mivel információt
tartalmaz arról hogy hogyan installálj <I>libdvdread-et</I> a <B>DVD</B>
támogatáshoz, stb.</LI>
<LI><B>OPCIONÁLIS</B> - töltsd le a legújabb <B>DivX4linux</B> könyvtárat például
<A HREF="http://avifile.sourceforge.net/download.htm">innen</A>, és
installáld HELYESEN. Ez szükséges a DivX4 (1/2 menetes) enkódoláshoz.</LI>
<LI><B>OPCIONÁLIS</B> - ha a libavcodec codec-ekkel is akarsz enkódolni,
installáld a libavcodec-et, ahogyan az a <A HREF="codecs.html#2.2.1.2">libavcodec
fejezetben</A> le van írva.</LI>
<LI><B>OPCIONÁLIS</B> -töltsd és fordítsd le a <B>libmp3lame-t</B> (a lame 3.89bétából vagy
CVS-ből).<BR>
<B>NE GCC 2.96-TAL FORDÍTSD ! Nem fog helyesen működni !</B><BR>
Ez szükségeltetik a CBR/VBR MP3 audio enkódoláshoz. Egy
egyszerű <CODE>lame</CODE> bináris nem elég. Mégvalami: minél kevesebb
optimalizációt használsz a lame fordításánál, annál jobb lesz a minősége.
A minőséget a fordítás utáni <CODE>make test</CODE> paranccsal
ellenőrizheted. A kiírt számnak <B>30</B>-nál kevesebbnek kell lennie.
Azért ne ess pánikba ha pl <B>400</B> fölötti értéket kapsz, nem
valószínű hogy hallod a különbséget. Jaigen, ha a fordítód nem tudja
a tesztet lefuttatni.. Nos, töröld már le azt a nyavajás <B>GCC 2.96</B>-ot.</LI>
</UL>
</P>
<P>Kész. Mint minden bizonnyal tudod, más enkódolóknak szüksége van az
<I>avifile</I> könyvtárra. A <B>MEncoder</B>-nek egyáltalán nincs.</P>
<P><B><A NAME=2.4.3>2.4.3. MEncoder funkciók</B></P>
<P>
<UL>
<LI>enkódolás az összes file formátumból amit az <B>MPlayer</B> lejátszani
képes</LI>
<LI>az ffmpeg/libavcodec által támogatott összes codec használata kódolásra
is</LI>
<LI>enkódolás <B>V4L kompatibilis TV tunerekről</B></LI>
<LI>enkódolása/multiplexelése interleaved AVI-knak, megfelelő index-szel</LI>
<LI>1 vagy 2 menetes <B>DivX4</B> video</LI>
<LI><B>VBR</B> MP3 audio - <B>FONTOS</B> : a VBR-es mp3-ak nem minden
körülmények között lejátszhatóak windows rendszereken! Ha windows-on
(is) lejátszandó AVI-t akarsz létrehozni, csinálj CBR-es mp3-at!</LI>
<LI>PCM audio</LI>
<LI>stream másolás (csak CBR audiot)</LI>
<LI>bemeneti file A/V szinkronizálása (PTS-alapú, az -mc 0 opcióval
kikapcsolható)</LI>
<LI>FPS javítás az <CODE>-ofps</CODE> opcióval (hasznos ha 29.97fps-es
VOB-ot kódolsz 24fps-es AVI-ba)</LI>
<LI>kép átméretezése</LI>
</UL>
</P>
<P><B><I>Tervezett funkciók</I></B> :
<UL>
<LI>audio külön file-ból vétele (AC3, MP3, OGG)</LI>
<LI>VBR audio stream másolás</LI>
<LI>még szélesebb skálája a be/kimeneti formátumoknak, codec-eknek
(VOB file-ok DivX4/Indeo5/VIVO videoval... :)</LI>
<LI>audio enkódolása v4l-ről</LI>
</UL>
</P>
<P><B><A NAME=2.4.3.1>2.4.3.1. 2 menetes DivX4 enkódolása</B></P>
<P>Az elnevezés onnan jön, hogy ezzel a módszerrel a file <I>kétszer</I> lesz
enkódolva. Az első menet néhány pár Mb-os ideiglenes (*.log) file-t hoz létre,
amiket egyelőre nem szabad törölni (az AVI törölhető, ugyanolyan mintha -pass
opciók nélkül keletkezett volna). A második menetben keletkezik a tényleges
2 menetes DivX, az ideiglenes file-ok adataiből. A keletkező file az
egy menetesekhez képest sokkal jobb minőséggel és kisebb mérettel bír. Ha most
hallassz erről először, jobb ha keresel a neten egy útmutatót.</P>
<P>A következő példa egy DVD 2 menetes DivX4 AVI-ba történő enkódolását
mutatja be. Csak két parancs szükséges :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100
-o movie.avi -pass 1<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 -o movie.avi -pass 2</CODE></P>
<P><B><A NAME=2.4.3.2>2.4.3.2. Átméretezés</B></P>
<P>Gyakran előjön a filmek átméretezésének igénye. Ennek oka sokféle lehet,
például a fileméret csökkentése, vagy SVCD-ből DivX-be kódolás. A rippelt
DVD-ket legtöbbször átméretezik (például egy 4:3-as DVD-t 640x480-ra),
különösen akkor ha a cél az 1 CD-s méret és ezzel együtt a jó minőség is.
Az SVCD-k képmérete 480x480, és a lejátszóprogramok az ezen fileok
fejlécében található aspektusinformáció alapján számítják ki a megjelenítendő
kép méretét (pl.: 480x480 + 4:3 = 640x480). Ezért AVI (DivX) file-okba
történő kódolásnál figyelembe kell venni azt is, hogy az AVI file-ok ezen
információ eltárolására nem képesek. Így az egyetlen megoldás az átméretezés.</P>
<P>A <B>MEncoder</B> képes nagyításra, ha a képeket YV12 formátumban kapja
(azaz például az ffdivx, odivx meghajtókkal, vagy mpeg1/2-t). A kimeneti file
képméretét az <CODE>-x</CODE> és <CODE>-y</CODE> opciókkal lehet megadni.
Ezenkívül 3 féle átméretezőszűrő közül is lehet választani, <I>0 : gyors
bilinear</I>, <I>1 : bilinear</I>, <I>2 : bicubic</I> (ennek van a legjobb
minősége). Ezt az <CODE>-sws</CODE> opcióval lehet megadni. Alapértelmezett
a 0 : gyors bilinear.</P>
<P>Az átméretezés egyszerű :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder sample-svcd.mpg -divx4opts br=1300 -x 640 -y 480 -sws 2 -o output.avi</CODE></P
<P><B><A NAME=2.4.3.3>2.4.3.3. Stream másolása</B></P>
<P>A <B>MEncoder</B> kétféleképpen tudja a bemeneti stream-eket kezelni :
<B>enkódolja</B> vagy csak <B>átmásolja</B> őket. Ez a rész a <B>másolásról</B>
szól.</P>
<P>
<UL>
<LI><B>Video stream-ek</B> (<CODE>-ovc copy</CODE> opció) : érdekes dolgokat
lehet vele csinálni :)<BR>
Mint például FLI vagy VIVO vagy MPEG1 video másolása AVI file-ba !
Persze az ilyen videokat csak az <B>MPlayer</B> tudja lejátszani :) És
ezeknek a haszna gyakorlatilag nulla. A racionális felhasználása ennek
például amikor csak az audio stream-et kell enkódolni (pl tömörítetlen
PCM-et MP3-ba).</LI>
<LI><B>Audio stream-ek</B> (<CODE>-oac copy</CODE> opció) : egyértelmű.</LI>
</UL>
</P>
<P><B><A NAME=2.4.3.4>2.4.3.4. Hibás index-szel rendelkező AVI-k rendbehozása</B></P>
<P>Legkönnyebb dolog a világon. Egyszerűen átmásoljuk a video és audio
streameket, és közben a <B>MEncoder</B> létrehozza a megfelelő indexet is.
Ez persze nem tudja kijavítani az esetleges hibákat a video és/vagy audio
stream-ekben.</P>
<P>A parancs : <CODE>mencoder input.avi -ovc copy -oac copy -o output.avi</CODE></P>
<P><B><A NAME=2.4.3.5>2.4.3.5. Enkódolás a <I>libavcodec</I> codec-ekkel</B></P>
<P>A <A HREF="codecs.html#2.2.1.2">libavcodec</A>-kel egyszerűen lehet kódolni
jónéhány érdekes video és audio formátumba (jelenleg az audio codec-ek nem
támogatottak). A következő codec-ekkel lehet enkódolni :</P>
<P>
<UL>
<LI>mjpeg - Motion JPEG</LI>
<LI>h263p - H263 Plus</LI>
<LI>mpeg4 - DivX4</LI>
<LI>msmpeg4 - a régi DivX</LI>
<LI>rv10 - egy régi RealVideo codec</LI>
<LI>mpeg1video - MPEG1 video :)</LI>
</UL>
</P>
<P>Az első oszlopban felsorolt codec-eket kell átadni a
<CODE>vcodec</CODE> opciónak, pl : <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
<P><B><A NAME=2.4.4>2.4.4. Szintaxis</B></P>
<P>&nbsp;&nbsp;<CODE>mencoder [opciók] [bemeneti file] [opciók] ...</P>
<P><B><A NAME=2.4.5>2.4.5. Opciók</B></P>
<P>Megj.: az összes rendelkezésre álló opcióhoz <B>olvasd el a manpage-t !</B></P>
<TABLE BORDER=1>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-o</I> filenév</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
kimeneti filenév megadása
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-x</I> szélesség pixelben</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
kimeneti video átméretezése megadott szélességre
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-y</I> magasság pixelben</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
kimeneti video átméretezése megadott magasságúra
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-sws</I> 0-2</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
átmérezetési módszer meghatározása<BR>
&nbsp;&nbsp;0 - fast bilinear<BR>
&nbsp;&nbsp;1 - bilinear<BR>
&nbsp;&nbsp;2 - bicubic (legjobb minőség)<BR>
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-ovc</I> codecnév</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Enkódolás a megadott codec-kel (a codec nevek a codecs.conf-ból származnak). Példák :<BR>
&nbsp;&nbsp;<B>help</B> - codecek listája<BR>
&nbsp;&nbsp;<B>copy</B> - nincs enkódolás, csak stream másolás (most csak AVI/ASF-ből)<BR>
&nbsp;&nbsp;<B>divx4</B> - enkódolás DivX4-be<BR>
&nbsp;&nbsp;<B>lavc</B> - enkódolás egy libavcodec-ben lévő codec-kel<BR>
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-oac</I> codecnév</TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Enkódolás a megadott codec-kel (a codec nevek a codecs.conf-ból származnak). Példák :<BR>
&nbsp;&nbsp;<B>help</B> - codecek listája<BR>
&nbsp;&nbsp;<B>copy</B> - nincs enkódolás, csak stream másolás (most csak AVI/ASF-ből, és csak CBR audiot)<BR>
&nbsp;&nbsp;<B>pcm</B> - tömörítetlen PCM<BR>
&nbsp;&nbsp;<B>mp3lame</B> - MP3 enkódolás<BR>
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-divx4opts</I></TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Ha DivX4-be enkódolsz, itt megadhatod a paramétereket, pl :<BR>
&nbsp;&nbsp;<CODE>-divx4opts br=1800:deinterlace:key=250</CODE><BR>
Leghasznosabb opciók: <B>(a teljes lista a manpage-ban található !)</B><BR>
&nbsp;&nbsp;<B>help</B> - segíccség<BR>
&nbsp;&nbsp;<B>br</B>=XXX - bitráta megadása kbit-ben &lt;4-16000&gt; vagy bitben &lt;16001-24000000&gt;<BR>
&nbsp;&nbsp;<B>q</B>=XXXX - minőség (1-leggyorsabb, 5-legjobb - alapértelmezett)<BR>
&nbsp;&nbsp;<B>key</B>=XXXX - keyframe-k közötti időintervallum<BR>
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-lavcopts</I></TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Ha egy libavcodec-es codec-kel enkódolsz, itt megadhatod a paramétereket, pl :<BR>
&nbsp;&nbsp;<CODE>-lavcopts vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250</CODE><BR>
Leghasznosabb opciók: <B>(a teljes lista a manpage-ban található !)</B><BR>
&nbsp;&nbsp;<B>help</B> - segíccség<BR>
&nbsp;&nbsp;<B>vcodec</B>=XXX - video codec kiválasztása (a teljes lista a fenti libavcodec bekezdésben megtalálható)<BR>
&nbsp;&nbsp;<B>vbitrate</B>=XXX - bitráta megadása kbit-ben &lt;4-16000&gt; vagy bitben &lt;16001-24000000&gt;<BR>
&nbsp;&nbsp;<B>vhq</B> - legjobb minőség (?)<BR>
&nbsp;&nbsp;<B>keyint</B>=XXX - keyframe-k közötti időintervallum<BR>
</TD>
</TR>
<TR>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
<I>-lameopts</I></TD>
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
Ha MP3-ba kódolsz, itt adhatod meg a paramétereket, pl :<BR>
&nbsp;&nbsp;<CODE>-lameopts q=3</CODE><BR>
&nbsp;&nbsp;<CODE>-lameopts br=192:cbr</CODE><BR>
Leghasznosabb opciók: <B>(a teljes lista a manpage-ban található !)</B><BR>
&nbsp;&nbsp;<B>help</B> - törpítség<BR>
&nbsp;&nbsp;<B>cbr</B> - <B>CBR</B>-es MP3 kiválasztása (az alapértelmezett a <B>VBR</B>)<BR>
&nbsp;&nbsp;<B>br</B>=XXX - bitráta megadása kbit-ben &lt;0-1024&gt; (csak <B>CBR</B>-nél!)<BR>
&nbsp;&nbsp;<B>q</B>=XXXX - minőség (0-legjobb, 9-leggyorsabb) (csak <B>VBR</B>-nél!)<BR>
</TD>
</TR>
</TABLE>
<P><B><A NAME=2.4.6>2.4.6. Példák</B></P>
<P>A <B>MEncoder</B> használata a legkönnyebb dolog a Földön.</P>
<P>A DVD 2-es fejezetének enkódolása :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -o title2.avi</CODE></P>
<P>Ugyanez libavcodec-kel, MJPEG tömörítéssel :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -ffourcc mjpg</CODE></P>
<P>A DVD 2-es fejezetének enkódolása, átméretezéssel :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -x 640 -y 480 -sws 2 -o title2.avi</CODE></P>
<P>Enkódolás HTTP-ről :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder http://mplayer.hq/example.avi -o example.avi</CODE></P>
<P>Enkódolás standard bemenetről :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;rar p test-SVCD.rar | mencoder -divx4opts br=800 -ofps 24 -pass 1 -- -</CODE></P>
<P>Több VOB file enkódolása :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;cat *.vob | mencoder &lt;options&gt; -</CODE></P>
<P>Enkódolás tuner-ről (a tuner opciók a <A HREF="documentation.html#2.5">TV input</A> fejezetben találhatóak) :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -tv on:driver=v4l:width=640:height=480 &lt;options&gt;</CODE></P>
<P>Az összes opció listájához <B><I>lásd a MEncoder manpage-t !</I></B>
<P>
</FONT>
</BODY>
</HTML>