Mercurial > mplayer.hg
view DOCS/Hungarian/encoding.html @ 3859:686ba9f9393c
scaling only works with YV12
author | gabucino |
---|---|
date | Fri, 28 Dec 2001 22:14:18 +0000 |
parents | 66da035c4ee2 |
children | 7510f142e7aa |
line wrap: on
line source
<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/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. És mivel jelenleg ez az egyetlen módszer, a MEncoder csak Linuxon működik.</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> <LI><B>OPCIONÁLIS</B> -Futtasd a <CODE>./configure-t</CODE> az opcionális paramétereiddel (az <CODE>--enable-tv</CODE> opció bekapcsolja a V4L tunerekről grabbelő kódot), és ird be : <CODE>make mencoder</CODE>, aztán <CODE>make install</CODE>.</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>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</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> </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> mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 -o movie.avi -pass 1<BR> 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> 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 libavcodec-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> <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=0> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-o</I> filenév</TD> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> kimeneti filenév megadása </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-x</I> szélesség pixelben</TD> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> kimeneti video átméretezése megadott szélességre </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-y</I> magasság pixelben</TD> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> kimeneti video átméretezése megadott magasságúra </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-sws</I> 0-2</TD> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> átmérezetési módszer meghatározása<BR> 0 - fast bilinear<BR> 1 - bilinear<BR> 2 - bicubic (legjobb minőség)<BR> </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-ovc</I> codecnév</TD> <TD> </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> <B>help</B> - codecek listája<BR> <B>copy</B> - nincs enkódolás, csak stream másolás (most csak AVI/ASF-ből)<BR> <B>divx4</B> - enkódolás DivX4-be<BR> <B>lavc</B> - enkódolás egy libavcodec-ben lévő codec-kel<BR> </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-oac</I> codecnév</TD> <TD> </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> <B>help</B> - codecek listája<BR> <B>copy</B> - nincs enkódolás, csak stream másolás (most csak AVI/ASF-ből, és csak CBR audiot)<BR> <B>pcm</B> - tömörítetlen PCM<BR> <B>mp3lame</B> - MP3 enkódolás<BR> </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-divx4opts</I></TD> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> Ha DivX4-be enkódolsz, itt megadhatod a paramétereket, pl :<BR> <CODE>-divx4opts br=1800:deinterlace:key=250</CODE><BR> Leghasznosabb opciók: <B>(a teljes lista a manpage-ban található !)</B><BR> <B>help</B> - segíccség<BR> <B>br</B>=XXX - bitráta megadása kbit-ben <4-16000> vagy bitben <16001-24000000><BR> <B>q</B>=XXXX - minőség (1-leggyorsabb, 5-legjobb - alapértelmezett)<BR> <B>key</B>=XXXX - keyframe-k közötti időintervallum<BR> </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-lavcopts</I></TD> <TD> </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> <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> <B>help</B> - segíccség<BR> <B>vcodec</B>=XXX - video codec kiválasztása (a teljes lista a fenti libavcodec bekezdésben megtalálható)<BR> <B>vbitrate</B>=XXX - bitráta megadása kbit-ben <4-16000> vagy bitben <16001-24000000><BR> <B>vhq</B> - legjobb minőség (?)<BR> <B>keyint</B>=XXX - keyframe-k közötti időintervallum<BR> </TD> </TR> <TR> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> <I>-lameopts</I></TD> <TD> </TD> <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> Ha MP3-ba kódolsz, itt adhatod meg a paramétereket, pl :<BR> <CODE>-lameopts q=3</CODE><BR> <CODE>-lameopts br=192:cbr</CODE><BR> Leghasznosabb opciók: <B>(a teljes lista a manpage-ban található !)</B><BR> <B>help</B> - törpítség<BR> <B>cbr</B> - <B>CBR</B>-es MP3 kiválasztása (az alapértelmezett a <B>VBR</B>)<BR> <B>br</B>=XXX - bitráta megadása kbit-ben <0-1024> (csak <B>CBR</B>-nél!)<BR> <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> mencoder -dvd 2 -o title2.avi</CODE></P> <P>Ugyanez libavcodec-kel, MJPEG tömörítéssel :<BR> <CODE> 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> mencoder -dvd 2 -x 640 -y 480 -sws 2 -o title2.avi</CODE></P> <P>Enkódolás HTTP-ről :<BR> <CODE> mencoder http://mplayer.hq/example.avi -o example.avi</CODE></P> <P>Enkódolás standard bemenetről :<BR> <CODE> 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> cat *.vob | mencoder <options> -</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> mencoder -tv on:driver=v4l:width=640:height=480 <options></CODE></P> <P>Az összes opció listájához <B><I>lásd a MEncoder manpage-t !</I></B> <P> </FONT> </BODY> </HTML>