mirror of
https://github.com/mpv-player/mpv
synced 2024-12-13 10:26:00 +00:00
b32cd557f5
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9158 b3059339-0415-0410-9bf9-f77b7e298cf2
298 lines
13 KiB
HTML
298 lines
13 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
|
|
|
|
<H2><A NAME="encoding">7 Enkódolás a MEncoderrel</A></H2>
|
|
|
|
<P>A rendelkezésre álló opciók és példák teljes listáját lásd a man
|
|
page-ben. Számos példa áll rendelkezésre a különböző opciókról a
|
|
<A HREF="../tech/encoding-tips.txt">tech/encoding-tips.txt</A> file-ban.
|
|
Ezek a példák az
|
|
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">mplayer-users</A>
|
|
levelezési listáról lettek kigyűjtve, így érdemes lehet ezen lista
|
|
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">archívumát</A>
|
|
böngészgetni infóért.</P>
|
|
|
|
<H3><A NAME=2pass>7.1 2, 3 menetes MPEG4 ("DivX") enkódolása</A></H3>
|
|
|
|
<P><U><B>2 menetes enkódolás:</B></U> 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 MPEG4 ("DivX") AVI-ba történő enkódolását
|
|
mutatja be. Csak két parancs szükséges:<BR>
|
|
<CODE> rm frameno.avi</CODE> - töröld ezt a file-t,
|
|
ami egy esetleges előző 3 menetes enkódolásból származhat<BR>
|
|
<CODE> mencoder -dvd 2 -ovc lavc -lavcopts
|
|
vcodec=mpeg4:opciók -oac copy -o film.avi -pass 1<BR>
|
|
<CODE> mencoder -dvd 2 -ovc lavc -lavcopts
|
|
vcodec=mpeg4:opciók -oac copy -o film.avi -pass 2<BR>
|
|
|
|
<P><U><B>3 menetes enkódolás:</B></U> ez egyfajta bővített kétmenetes
|
|
enkódolás. A különbség abban áll hogy itt az audio enkódolása külön
|
|
menetben történik, ezáltal lehetővé válik annak megbecslése hogy az adott
|
|
filmet milyen bitrátával kell tömöríteni hogy ráférjen egy 650, 700 vagy
|
|
800Mb-os CD-re, és ezt a <B>MEncoder</B> ki is számolja. Továbbá, ilyenkor
|
|
az audio csak egyszer kerül enkódolásra, ellentétben a 2 menetes móddal.
|
|
A használata a következő:</P>
|
|
|
|
<OL>
|
|
<LI>egy esetleges előző 3 menetes enkódolásból származó file törlése,
|
|
mely konfliktolhat a most következővel
|
|
<P><CODE>rm frameno.avi</CODE></P></LI>
|
|
<LI>Első menet:
|
|
<P><CODE>mencoder <file/DVD> -ovc frameno -oac mp3lame -lameopts vbr=3:opciók -o frameno.avi</CODE></P>
|
|
<P>Egy csak audiot tartalmazó AVI file jön létre, ami a kért formátumban
|
|
tartalmazza az audio streamet. Ha akarod használhatod a
|
|
<CODE>-lameopts</CODE> opciót. Ha ez egy hosszabb film, e menet végén a
|
|
MEncoder kiírja hogy mekkora bitrate-tel tömöríts a következő menetekben
|
|
hogy a film ráférjen egy 650, 700 vagy 800Mb-os CD-re.</P></LI>
|
|
<LI>Második menet:
|
|
<P><CODE>mencoder <file/DVD> -oac copy -pass 1 -ovc lavc -lavcopts
|
|
vcodec=mpeg4:vbitrate=<bitráta></CODE></P>
|
|
<P>Alias az MPEG4 video enkódolás első menete. Opcionálisan megadhatod azt
|
|
a bitrate-et amit a MEncoder az előző menet végén kiírt, lásd
|
|
feljebb.</P></LI>
|
|
<LI>Harmadik menet:
|
|
<P><CODE>mencoder <file/DVD> -oac copy -pass 2 -ovc lavc -lavcopts
|
|
vcodec=mpeg4:vbitrate=<bitráta></CODE></P>
|
|
<P>Alias az MPEG4 video enkódolás második menete. Add meg
|
|
azt a bitrate-et amit a MEncoder az előző menet végén kiírt, lásd
|
|
feljebb. Ebben a menetben a <CODE>frameno.avi</CODE>-ban levő audio
|
|
belekerül a célfileba.. és kész is az egész!</P></LI>
|
|
</OL>
|
|
|
|
<H4>Példa a 3 menetes enkódolásra:</H4>
|
|
|
|
<P><CODE> rm frameno.avi</CODE> - esetlegesen egy előző
|
|
enkódolásbol származó file törlése (bezavar a most következőnek)<BR>
|
|
<CODE> mencoder -dvd 2 -ovc frameno
|
|
-o frameno.avi -oac mp3lame -lameopts vbr=3:opciók<BR>
|
|
mencoder -dvd 2 -ovc lavc
|
|
-lavcopts vcodec=mpeg4:vbitrate=1100 -oac copy -o movie.avi -pass 1<BR>
|
|
mencoder -dvd 2 -ovc lavc
|
|
-lavcopts vcodec=mpeg4:vbitrate=1100 -oac copy -o movie.avi -pass 2</CODE>
|
|
</P>
|
|
|
|
|
|
<H2><A NAME="mpeg">7.2 Enkódolás MPEG formátumba</A></H2>
|
|
|
|
<P>A MEncoder képes MPEG (MPEG-PS) formátumú kimeneti file-t generálni.
|
|
Ez persze valószínűleg csak a libavcodec <I>mpeg1video</I> codec-ével
|
|
hasznos, mert (az MPlayer-t kivéve) minden lejátszó MPEG1 video, és
|
|
MPEG1 layer2 (MP2) audio stream-re számít az MPEG file-okban.</P>
|
|
|
|
<P>A MEncoder ezen képessége jelenleg nem túl hasznos, mert - attól eltekintve
|
|
hogy még eléggé bugos is -, még nem lehet MPEG 1 layer 2 (MP2) audio-ba
|
|
enkódolni MEncoderen belül, márpedig az MPEG file-okba az esetek 99%-ában
|
|
ez kell.</P>
|
|
|
|
<P>A MEncoder kimeneti formátumának megváltoztatására az <CODE>-of mpeg</CODE>
|
|
opció szolgál.</P>
|
|
|
|
<P>Példa:<BR>
|
|
<CODE>mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
|
|
-oac copy <other options> media.avi -o output.mpg</CODE></P>
|
|
|
|
|
|
<H3><A NAME=rescaling>7.3 Filmek átméretezése</A></H3>
|
|
|
|
<P>Gyakran előjön a filmek átméretezésének igénye. Ennek sok oka lehet,
|
|
például a fileméret csökkentése, illetve a szükséges hálózati
|
|
sávszélesség csökkentése. A legtöbb ember átméretezést hajt végre
|
|
DVD-k vagy SVCD-k DivX AVI-ba történő konvertálása során.
|
|
<B>Ez helytelen.</B> Mielőtt te is ilyen megoldásra vetemednél, olvasd
|
|
el az <A HREF="#aspect">Aspect ratio megőrzése</A> fejezetet.</P>
|
|
|
|
<P>Az átméretezést a <I>'scale'</I> nevű video filter végzi:
|
|
<CODE>-vop scale=X:Y</CODE>. A minőségét pedig az <CODE>-sws</CODE> opcióval
|
|
lehet megadni (lásd a manpage-t). Alapértelmezett a 0: gyors bilinear.</P>
|
|
|
|
<P>Használata:<BR>
|
|
<CODE> mencoder sample-svcd.mpg -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1300 -vop
|
|
scale=640:480 -oac copy -o output.avi</CODE></P>
|
|
|
|
<H3><A NAME=copying>7.4 Stream másolása</A></H3>
|
|
|
|
<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>
|
|
|
|
<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ű.
|
|
Lehetséges az audio streamet egy külső fileból (MP3, AC3, Vorbis) is venni,
|
|
ehhez az <CODE>-audiofile <filenév></CODE> opciót kell
|
|
használni.</LI>
|
|
</UL>
|
|
|
|
<H3><A NAME=fixing>7.5 Hibás index-szel rendelkező AVI-k rendbehozása</A></H3>
|
|
|
|
<P>A 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, viszont a hibásan interleave-elt fileokat igen.</P>
|
|
|
|
<P>A parancs: <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P>
|
|
|
|
|
|
<H3><A NAME=libavcodec>7.6 Enkódolás a <I>libavcodec</I> codec-ekkel</A></H3>
|
|
|
|
<P>A <A HREF="codecs.html#libavcodec">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>
|
|
|
|
<UL>
|
|
<LI>mjpeg - Motion JPEG</LI>
|
|
<LI>h263 - H263</LI>
|
|
<LI>h263p - H263 Plus</LI>
|
|
<LI>mpeg4 - ISO szabványos MPEG4 (DivX5, XVID kompatibilis)</LI>
|
|
<LI>msmpeg4 - szabványosítás előtti MPEG4 (Micro$oft), v3 (alias DivX3)</LI>
|
|
<LI>msmpeg4v2 - szabványosítás előtti MPEG4 (Micro$oft), v2 (régi ASF
|
|
file-okban)</LI>
|
|
<LI>wmv1 - Windows Media Video, 1-es verzió (alias WMV7)</LI>
|
|
<LI>rv10 - egy régi RealVideo codec</LI>
|
|
<LI>mpeg1video - MPEG1 video :)</LI>
|
|
<LI>huffyuv - veszteségmentes tömörítés</LI>
|
|
</UL>
|
|
|
|
<P>Az első oszlopban felsorolt codec-eket kell átadni a
|
|
<CODE>vcodec</CODE> opciónak, pl: <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
|
|
|
|
<P>Egy példa, MJPEG tömörítéssel:<BR>
|
|
<CODE> mencoder -dvd 2 -o title2.avi -ovc lavc
|
|
-lavcopts vcodec=mjpeg -oac copy</CODE></P>
|
|
|
|
|
|
<H3><A NAME=image_files>7.7 Enkódolás több bemeneti file-ból (JPEG, PNG)</A></H3>
|
|
|
|
<P>A <B>MEncoder</B> képes több JPEG vagy PNG file-ból filmet létrehozni.
|
|
Egyszerű framecopy használatával pedig MJPEG (Motion JPEG) vagy MPNG
|
|
(Motion PNG) filmek hozhatók létre.</P>
|
|
|
|
<P><B><I>A folyamat magyarázata</I></B></P>
|
|
|
|
<P>Először a <B>MEncoder</B> <I>dekódolja</I> a bemeneti fileokat a
|
|
<CODE>libjpeg</CODE> segítségével (PNG-k dekódolását a libpngvel végzi).
|
|
</P>
|
|
|
|
<P>A <B>MEncoder</B> ezután a kiválasztott kimeneti codecnek adja a
|
|
dekódolt képet (pl DivX4, Xvid, ffmpeg msmpeg4, stb).</P>
|
|
|
|
<P><B><I>Példák</I></B></P>
|
|
|
|
<P>Az <CODE>-mf</CODE> opció magyarázata a manpage-ben található.</P>
|
|
|
|
<P><I>DivX4 film létrehozása az aktuális könyvtárban található összes JPEG fileból:</I><BR>
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o
|
|
kimenet.avi \*.jpg</CODE></P>
|
|
|
|
<P><I>DivX4 film létrehozása néhány JPEG fileból:</I><BR>
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o
|
|
kimenet.avi frame001.jpg,frame002.jpg</CODE></P>
|
|
|
|
<P><I>MJPEG (Motion JPEG) film létrehozása az aktuális könyvtárban található összes JPEG fileból:</I><BR>
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc copy
|
|
-o kimenet.avi \*.jpg</CODE></P>
|
|
|
|
<P><I>Tömörítetlen film létrehozása az aktuális könyvtárban található összes PNG fileból:</I><BR>
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb -o
|
|
kimenet.avi \*.png</CODE></P>
|
|
|
|
<P><I>MPNG (Motion PNG) film létrehozása az aktuális könyvtárban található összes PNG fileból:</I><BR>
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
|
|
-o kimenet.avi \*.png</CODE></P>
|
|
|
|
|
|
<H3><A NAME=vobsub>7.8 DVD feliratok VOBsub formátumúvá alakítása</A></H3>
|
|
|
|
<P>A <B>MEncoder</B> képes DVD-ről kivonni a feliratot, és átalakítani
|
|
Vobsub formátumú felirattá. Ezek egy <CODE>.idx</CODE> és egy
|
|
<CODE>.sub</CODE> kiterjesztésű file-ból állnak, gyakran egyetlen
|
|
<CODE>.rar</CODE> archívba tömörítve. Az <B>MPlayer</B> képes az ilyen
|
|
feliratok megjelenítésére a <CODE>-vobsub</CODE> és <CODE>-vobsubid</CODE>
|
|
opciókkal.</P>
|
|
|
|
<P>Az alap filenevet (tehát kiterjesztés nélkül) a <CODE>-vobsubout</CODE>
|
|
opcióval adhatod meg. Az index számot amin el lesz tárolva a felirat,
|
|
pedig a <CODE>-vobsuboutindex</CODE> opcióval.</P>
|
|
|
|
<P>Ha a bemeneti file nem DVD, használd az <CODE>-ifo</CODE> opciót, amivel
|
|
megadhatod hogy melyik file legyen <CODE>.idx</CODE>-é alakítva.</P>
|
|
|
|
<P>Ha a bemeneti file nem DVD, de nincs meg hozzá az <CODE>.ifo</CODE> file,
|
|
használd a <CODE>-vobsubid</CODE> opciót a használandó nyelv azonosítójának
|
|
kiválasztásához.</P>
|
|
|
|
<P>Minden egyes futás hozzáfűzi a kimenetet az esetlegesen már létező
|
|
kimeneti file-hoz, így ajánlott körülnézni indítás előtt.</P>
|
|
|
|
<P><B>Példák</B></P>
|
|
|
|
<P><I>Két felirat másolása DVD-ről, 3 menetes enkódolás közben</I><BR>
|
|
<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
|
|
<CODE>mencoder -dvd 1 -vobsubout subtitles -vobsuboutindex 0
|
|
-sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3</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
|
|
subtitles -vobsuboutindex 1 -sid 5</CODE></P>
|
|
|
|
<P><I>Francia nyelvű felirat másolása MPEG-ből</I><BR>
|
|
<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
|
|
<CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles
|
|
-vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
|
|
|
|
|
|
<H3><A NAME=aspect>7.9 Aspect ratio megőrzése</A></H3>
|
|
|
|
<P>A DVD-k és az SVCD-k (tehát az MPEG1/2 file-ok) tartalmazzák azt az értéket
|
|
amiből a lejátszó tudni fogja merre és mennyire kell a képet széthúzni,
|
|
hogy ne tojásfejű emberek ugráljanak a képen (például: 480x480 + 4:3 =
|
|
640x480). Viszont amikor az ilyen file-okat AVI-ba (DivX) konvertáljuk,
|
|
szembe találjuk magunkat a problémával miszerint az AVI formátum
|
|
nem képes ezt az értéket (aspect ratio) eltárolni. A filmek felbontásának
|
|
átméretezése undorító, és időigényes feladat, kell hát legyen egy jobb
|
|
megoldás!</P>
|
|
|
|
<P>Van is.</P>
|
|
|
|
<P>Az MPEG4 formátumnak egyik egyedülálló tulajdonsága, hogy beleírható az
|
|
aspect ratio értéke (csakúgy mint az MPEG1/2 file-oknál). Ennek egyetlen
|
|
hátulütője, hogy jelenleg az MPlayer az egyetlen lejátszó amelynek megvan
|
|
ez a képessége.</P>
|
|
|
|
<P>A használata csakis a <B>libavcodec</B> <CODE>mpeg4</CODE> codec-ével
|
|
lehetséges.</P>
|
|
|
|
<P>Semmiképpen ne felejtsd el levágni a film tetejéről és aljáról a fekete
|
|
sávokat. Olvasd el a manpage-ben, hogy hogyan kell használni a
|
|
<CODE>cropdetect</CODE> és a <CODE>crop</CODE> filtereket.</P>
|
|
|
|
<H4>Használata:</H4>
|
|
|
|
<P><CODE>$ mencoder sample-svcd.mpg -ovc lavc -lavcopts
|
|
vcodec=mpeg4:aspect=16.0/9.0 -vop crop=714:548:0:14 -oac copy -o output.avi</CODE></P>
|
|
|
|
|
|
</BODY>
|
|
</HTML>
|