A MEncoder (MPlayer's Movie Encoder) egy egyszerű film enkóder, az MPlayer által lejátszható formátumok (AVI/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET) más - MPlayerrel lejátszható - formátumokba kódolására. Jelenleg béta verzió, és csak DivX4 (1 vagy 2 menet) videoba, és PCM/MP3/VBRMP3 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.
lame
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 make test
paranccsal
ellenőrizheted. A kiírt számnak 30-nál kevesebbnek kell lennie.
Azért ne ess pánikba ha pl 400 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 GCC 2.96-ot../configure-t
az opcionális paramétereiddel
(az --enable-tv
opció bekapcsolja a V4L tunerekről
grabbelő kódot), és ird be : make mencoder
, aztán
make install
.Kész. Mint minden bizonnyal tudod, más enkódolóknak szüksége van az avifile könyvtárra. A MEncoder-nek egyáltalán nincs.
-ofps
opcióval (hasznos ha 29.97fps-es
VOB-ot kódolsz 24fps-es AVI-ba)Tervezett funkciók :
2.4.3.1. 2 menetes DivX4 enkódolása
Az elnevezés onnan jön, hogy ezzel a módszerrel a file kétszer 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.
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 :
mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100
-o movie.avi -pass 1
mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 -o movie.avi -pass 2
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.
A MEncoder 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 -x
és -y
opciókkal lehet megadni.
Ezenkívül 3 féle átméretezőszűrő közül is lehet választani, 0 : gyors
bilinear, 1 : bilinear, 2 : bicubic (ennek van a legjobb
minősége). Ezt az -sws
opcióval lehet megadni. Alapértelmezett
a 0 : gyors bilinear.
Az átméretezés egyszerű :
mencoder sample-svcd.mpg -divx4opts br=1300 -x 640 -y 480 -sws 2 -o output.avi
A MEncoder kétféleképpen tudja a bemeneti stream-eket kezelni : enkódolja vagy csak átmásolja őket. Ez a rész a másolásról szól.
-ovc copy
opció) : érdekes dolgokat
lehet vele csinálni :)-oac copy
opció) : egyértelmű.2.4.3.4. Hibás index-szel rendelkező AVI-k rendbehozása
Legkönnyebb dolog a világon. Egyszerűen átmásoljuk a video és audio streameket, és közben a MEncoder létrehozza a megfelelő indexet is. Ez persze nem tudja kijavítani az esetleges hibákat a video és/vagy audio stream-ekben.
A parancs : mencoder input.avi -ovc copy -oac copy -o output.avi
2.4.3.5. Enkódolás a libavcodec codec-ekkel
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 :
Az első oszlopban felsorolt codec-eket kell átadni a
vcodec
opciónak, pl : -lavcopts vcodec=msmpeg4
mencoder [opciók] [bemeneti file] [opciók] ...
Megj.: az összes rendelkezésre álló opcióhoz olvasd el a manpage-t !
-o filenév | kimeneti filenév megadása | ||
-x szélesség pixelben | kimeneti video átméretezése megadott szélességre | ||
-y magasság pixelben | kimeneti video átméretezése megadott magasságúra | ||
-sws 0-2 |
átmérezetési módszer meghatározása 0 - fast bilinear 1 - bilinear 2 - bicubic (legjobb minőség) |
||
-ovc codecnév |
Enkódolás a megadott codec-kel (a codec nevek a codecs.conf-ból származnak). Példák : help - codecek listája copy - nincs enkódolás, csak stream másolás (most csak AVI/ASF-ből) divx4 - enkódolás DivX4-be lavc - enkódolás egy libavcodec-ben lévő codec-kel |
||
-oac codecnév |
Enkódolás a megadott codec-kel (a codec nevek a codecs.conf-ból származnak). Példák : help - codecek listája copy - nincs enkódolás, csak stream másolás (most csak AVI/ASF-ből, és csak CBR audiot) pcm - tömörítetlen PCM mp3lame - MP3 enkódolás |
||
-divx4opts |
Ha DivX4-be enkódolsz, itt megadhatod a paramétereket, pl :-divx4opts br=1800:deinterlace:key=250 Leghasznosabb opciók: (a teljes lista a manpage-ban található !) help - segíccség br=XXX - bitráta megadása kbit-ben <4-16000> vagy bitben <16001-24000000> q=XXXX - minőség (1-leggyorsabb, 5-legjobb - alapértelmezett) key=XXXX - keyframe-k közötti időintervallum |
||
-lavcopts |
Ha egy libavcodec-es codec-kel enkódolsz, itt megadhatod a paramétereket, pl :-lavcopts vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250 Leghasznosabb opciók: (a teljes lista a manpage-ban található !) help - segíccség vcodec=XXX - video codec kiválasztása (a teljes lista a fenti libavcodec bekezdésben megtalálható) vbitrate=XXX - bitráta megadása kbit-ben <4-16000> vagy bitben <16001-24000000> vhq - legjobb minőség (?) keyint=XXX - keyframe-k közötti időintervallum |
||
-lameopts |
Ha MP3-ba kódolsz, itt adhatod meg a paramétereket, pl :-lameopts q=3 -lameopts br=192:cbr Leghasznosabb opciók: (a teljes lista a manpage-ban található !) help - törpítség cbr - CBR-es MP3 kiválasztása (az alapértelmezett a VBR) br=XXX - bitráta megadása kbit-ben <0-1024> (csak CBR-nél!) q=XXXX - minőség (0-legjobb, 9-leggyorsabb) (csak VBR-nél!) |
A MEncoder használata a legkönnyebb dolog a Földön.
A DVD 2-es fejezetének enkódolása :
mencoder -dvd 2 -o title2.avi
Ugyanez libavcodec-kel, MJPEG tömörítéssel :
mencoder -dvd 2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -ffourcc mjpg
A DVD 2-es fejezetének enkódolása, átméretezéssel :
mencoder -dvd 2 -x 640 -y 480 -sws 2 -o title2.avi
Enkódolás HTTP-ről :
mencoder http://mplayer.hq/example.avi -o example.avi
Enkódolás standard bemenetről :
rar p test-SVCD.rar | mencoder -divx4opts br=800 -ofps 24 -pass 1 -- -
Több VOB file enkódolása :
cat *.vob | mencoder <options> -
Enkódolás tuner-ről (a tuner opciók a TV input fejezetben találhatóak) :
mencoder -tv on:driver=v4l:width=640:height=480 <options>
Az összes opció listájához lásd a MEncoder manpage-t !