view DOCS/Hungarian/encoding.html @ 4218:3931c41f740a

Added new syncengine thanks to a new previously undocumented feature of the em8300, this might fix playback on both slow and fast machines (more testing needed). This also requires users to get the em8300 driver from cvs until the next version is released (will probably happen this weekend) Added lots of comments, should be pretty easy to understand most of the internals now Added lots of brackets to if's for's while's etc, this is not a cosmetical thing but rather due to the fact I got some very odd bugs with else's since I didn't properly use brackets (and it's the K&R standard to have brackets everywhere) Fixed some bugs that would occur when disabling libmp1e Switched to default to the new naming scheme of device nodes, the driver will slowly switch over to this state, if it can't find devices under the new name it will try the old naming scheme I stopped opening devices in non-blocking mode, it would break the new syncengine which tries to burst data to the device (alot of times meaning it will fill the fifo pretty fast which would previously result in jerkyness on fast machines) The device now sets the initial state of the pts and speed (probably not needed, but assumption is the mother of all fuckups =) Keep the control interface open during the entire duration of the libvo device, we might need this to flush video buffers on seeking (currently not implemented, therefore seeking is broken) This is beta stuff to the driver, I will get some users to test it for me and do my best to fix seeking as soon as possible...
author mswitch
date Thu, 17 Jan 2002 10:33:47 +0000
parents cab4ac1467e4
children 970a09005860
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/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>