A MEncoder használatának alapjai
A MEncoder összes használható kapcsolójához és
a példákhoz kérlek nézd meg a man oldalt. Mindennapi példákért és a számos
kódolási paraméter bővebb leírásáért olvasd el a
kódolási tippeket, amiket
számos levelezési lista szálból gyűjtöttünk össze az MPlayer-users-ről.
Kereshetsz az
archívumban,
vagy a nagyon régi dolgok után
itt,
a rengeteg beszélgetés között, melyek a MEncoderrel
történő kódolást több szempontból vizsgálják és kiemelik a problémákat vele
kapcsolatban.
Codec és konténer formátum kiválasztása
A kódoláshoz az audió és videó codec-ek a és
opciókkal adható meg.
Gépeld be ezt a példát:
mencoder -ovc help
a gépeden lévő MEncoder által támogatott
videó codec-ek kilistázásához.
A következő választások érhetőek el:
Audió codec-ek:
Audió codec neveLeírásmp3lamekódol VBR, ABR vagy CBR MP3-at LAME-mellavca libavcodec egyik audió codec-jét használjafaacFAAC AAC audió kódolótoolameMPEG Audio Layer 2 kódolótwolametooLAME alapú MPEG Audio Layer 2 kódolópcmtömörítetlen PCM audiócopynem kódol újra, csak másolja a tömörített kockákat
Videó codec-ek:
Videó codec neveLeíráslavca libavcodec egyik videó codec-jét használjaxvidXvid, MPEG-4 Advanced Simple Profile (ASP) codecx264x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 codecnuvnuppel video, néhány realtime alkalmazás használjarawtömörítetlen videó képkockákcopynem kódol újra, csak másolja a tömörített kockákatframenoa 3-lépéses kódolásban használatos (nem javasolt)
A kimeneti konténer formátumokat a kapcsolóval
választhatod ki.
Írd be:
mencoder -of help
a gépeden lévő MEncoder által támogatott konténerek
kilistázásához.
A következő választások érhetőek el:
Konténer formátumok:
Konténer formátum neveLeíráslavfa libavformat által
támogatott valamelyik konténeraviAudio-Video InterleavedmpegMPEG-1 és MPEG-2 PSrawvideonyers videó folyam (nincs keverés - csak egy videó folyam)rawaudionyers audió folyam (nincs keverés - csak egy audió folyam)
Az AVI konténer a MEncoder natív
konténer formátuma, ami azt jelenti, hogy ezt kezeli a legjobban
és hogy a MEncoder ehhez lett tervezve.
Amint fentebb megemlítettük, más konténer formátumok is
használhatóak, de problémákba ütközhetsz a használatuk során.
libavformat konténerek:
Ha a libavformat-ot választottad
a kimeneti fájl keveréséhez (a használatával),
a megfelelő konténer formátum a kimeneti fájl kiterjesztése alapján kerül
megállapításra.
Egy meghatározott konténer formátumot a
libavformat
kapcsolójával írhatsz elő.
libavformat konténer neveLeírásmpgMPEG-1 és MPEG-2 PSasfAdvanced Streaming FormataviAudio-Video InterleavedwavWaveform AudioswfMacromedia FlashflvMacromedia Flash videormRealMediaauSUN AUnutNUT nyílt konténer (kísérleti és még nem a specifikációnak megfelelő)movQuickTimemp4MPEG-4 formátumdvSony Digital Video konténermkvMatroska nyílt audió/videó konténer
Amint láthatod, a libavformat
elég sok konténer formátumba engedélyezi a keverést a
MEncoder-nek.
Sajnos mivel a MEncoder nem úgy lett tervezve
a kezdetektől, hogy az AVI-tól különböző konténer formátumokat is támogassa,
izgulhatsz a kimeneti fájl miatt.
Kérjük ellenőrizd, hogy az audió/videó szinkron rendben van-e és hogy a
fájl lejátszható-e más lejátszókkal is az
MPlayer-en kívül.
kódolás Macromedia Flash formátumba
Egy Macromedia Flash videó létrehozása, mely lejátszható web böngészőben
a Macromedia Flash plugin-nel:
mencoder bemenet.avi -o kimenet.flv -of lavf \
-oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
Bemeneti fájl vagy eszköz kiválasztása
A MEncoder tud kódolni fájlokból vagy akár
direkt DVD vagy VCD lemezekről is.
A fájlból való kódoláshoz egyszerűen csak add meg a fájl nevét a parancssorban,
vagy a részszám vagy
sávszám eszközt a
DVD részről vagy VCD sávról történő kódoláshoz.
Ha egy DVD-t már átmásoltál a merevlemezedre (használhatod pl. a
dvdbackup ezsközt, mely a legtöbb rendszeren megvan),
és a másolatot akarod elkódolni, akkor is használnod kell a
szintaxist, a -szal együtt,
amit a lemásolt DVD gyökérkönyvtárának elérési útja követ.
A és
kapcsolókkal felülbírálhatóak a direkt lemezolvasásnál használt eszközök
elérési útjái is, ha az alapértelmezett
/dev/dvd és /dev/cdrom nem
működnek a rendszereden.
Ha DVD-ről kódolsz, gyakran kívánatos, hogy a kódolni kívánt fejezetet vagy
fejezetek tartományát is megadd.
Ehhez használhatod a kapcsolót.
Például a 1-4
csak az 1-4 fejezeteket fogja elkódolni a DVD-ről.
Ez különösen hasznos, ha egy 1400 MB-os kódolást csinálsz két CD-re, mivel
meggyőződhetsz róla, hogy a vágás pontosan fejezet határnál lesz és nem
egy jelenet közepén.
Ha van támogatott TV felvevő kártyád, tudsz kódolni a TV-in eszközről is.
Használd a csatornaszám eszközt
fájlnévként és a kapcoslót a mentési beállítások
megadásához.
A DVB hasonlóképpen működik.
Két menetes MPEG-4 ("DivX") kódolás
A név abból a tényből ered, hogy ez a módszer a fájlt
kétszer kódolja át. Az első kódolás (szinkronizációs
lépés) létrehoz pár ideiglenes, néhány megabájtos fájlt
(*.log), ezeket ne töröld le még (az AVI-t
letörölheted vagy egyszerűen létre sem hozod, a videó
/dev/null -ba irányításával). A második lépésben,
a két menetes kimenet fájl lesz létrehozva, az ideiglenes fájlok
bitrátájának felhasználásával. Az eredmény fájlnak sokkal jobb lesz a
képminősége. Ha most hallasz erről először, nézz meg pár a neten
elérhető leírást.
audió sáv másolása
Egy DVD második sávjának két menetes kódolása MPEG-4 ("DivX") AVI-ba az
audió sáv másolásával.
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-oac copy -o kimenet.aviaudió sáv kódolása
Egy DVD második sávjának két menetes kódolása MPEG-4 ("DivX") AVI-ba az
audió sáv MP3-ba alakításával.
Vigyázz ezzela módszerrel, mivel bizonyos esetekben audió/videó
deszinkronizációhoz vezethet.
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
-oac mp3lame -lameopts vbr=3 -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-oac mp3lame -lameopts vbr=3 -o kimenet.aviKódolás Sony PSP videó formátumba
A MEncoder támogatja a Sony PSP videó formátumába
történő kódolást, de a PSP szoftverének változatától függően különböző
korlátok vannak.
Nyugodt lehetsz, ha a következő korlátokat figyelembe veszed:
Bitráta: nem lépheti át az 1500kbps-t,
bár az utóbbi verziók elég jól támogatnak bármilyen bitrátát, feltéve, hogy
a fejlécben nem túl nagy érték van megadva.
Méretek: a PSP videó szélességének és
magasságának 16-tal oszthatónak kell lennie és az eredmény szélesség * magasság
értékének <= 64000 kell lennie.
Bizonyos körülmények között lehetséges a nagyobb felbontás PSP-vel történő
lejátszása is.
Audió: a mintavételezési frekvenciának 24kHz-nek
kell lennie az MPEG-4 videóknál és 48kHz-nek a H.264-nél.
kódolás PSP-be
mencoder -ofps 30000/1001 -af resample=24000 -vf harddup -of lavf \
-oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac \
-lavfopts format=psp \
bemenet.video -o kimenet.psp
Figyelj rá, hogy beállíthatod a videó címét a
kapcsolóval.
Kódolás MPEG formátumba
A MEncoder tud készíteni MPEG (MPEG-PS)
formátumú kimeneti fájlokat.
Általában, ha MPEG-1 vagy MPEG-2 videót használsz, az azért van, mert
egy korlátozott formátumhoz kódolsz, mint pl. az SVCD, a VCD vagy a DVD.
Ezen formátumok speciális igényei a
VCD és DVD készítési leírásban
megtalálhatóak.
A MEncoder kimeneti fájl formátumának megváltoztatásához
használd a kapcsolót.
Példa:
mencoder bemenet.avi -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
-oac copy egyéb_kapcsolók -o kimenet.mpg
Egy MPEG-1-es fájl létrehozása, mely alkalmas minimális multimédia
támogatással rendelkező rendszereken, például alapértelmezett Windows
telepítéseken történő lejátszásra is:
mencoder bemenet.avi -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
-o kimenet.mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
-lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
Ugyan ez a libavformat MPEG muxer-ének használatával:
mencoder input.avi -o VCD.mpg -ofps 25 -vf scale=352:288,harddup -of lavf \
-lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
-lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
Tanács:
Ha valamilyen okból kifolyólag a videó minőség a második lépésben nem
kielégítő, ajánlott újrafuttatnod a videó kódolásod egy másik cél
bitrátával, feltéve, hogy elmentetted az előző lépés statisztikát
tartalmazó fájlját.
Ez azért lehetséges, mert a statisztika fájl elsődleges célja minden
egyes képkocka komplexitásának feljegyzése, ami nem függ erőteljesen
a bitrátától. Azonban vedd figyelembe, hogy akkor kapod a legjobb
minőséget, ha a lépések cél bitrátája nem különbözik nagy mértékben.
Filmek átméretezése
Gyakran szükséged lehet a videó képméretének átméretezésére. Ennek több
oka lehet: fájl méretének csökkentése, hálózati sávszélesség, stb. A
legtöbb ember akkor is végez átméretezést, amikor DVD-ket vagy SVCD-ket
konvertál DivX AVI-ba. Ha át szeretnél méretezni, olvasd el a
képméret arányok megtartásáról szóló részt.
A méretezési eljárást a scale videó szűrő végzi:
.
A minősége beállítható a kapcsolóval.
Ha ez nincs megadva, akkor a MEncoder a 2: bicubic-et használja.
Használat:
mencoder bemenet.mpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
-vf scale=640:480 -o kimenet.aviStream másolásMEncoder kétféleképpen tudja kezelni a folyamokat:
kódolni vagy másolni
tudja őket. Ez a rész a másolásról szól.
Videó stream ( kapcsoló):
szép dolgokat lehet vele csinálni :) Például FLI vagy VIVO vagy
MPEG-1 videót tenni (nem konvertálni!) AVI fájlba! Természetesen csak az
MPlayer tudja lejátszani az ilyen fájlokat :) Ennek
valószínűleg gyakorlati haszna nincs. Ésszerűbben: a videó stream másolása
hasznos lehet például ha csak az audió stream-et kell kódolni (például
tömörítetlen PCM-et MP3-ba).
Audió stream ( kapcsoló):
őszintén szólva... Bele lehet mixelni egy külső audió fájlt (MP3, WAV) a
kimeneti stream-be. Használd a
kapcsolót
ehhez.
A használatával végrehajtott egyik konténer
formátumból másikba történő másoláshoz szükséges lehet a
kapcsoló, hogy megmaradjon az eredeti fájl
audió formátum tag-je.
Például ha egy NSV fájl AAC audióval AVI konténerbe alakítasz át, az
audió formátum tag hibás lesz és meg kell változtatni. Az audió formátum
tag-ek listáját megtalálod a codecs.conf fájlban.
Példa:
mencoder bemenet.nsv -oac copy -fafmttag 0x706D \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o kimenet.aviKódolás több bemeneti képfájlból (JPEG, PNG, TGA, stb.)
A MEncoder képes egy vagy több JPEG, PNG, TGA
vagy más képfájlból film létrehozására. Egy egyszerű framecopy-val MJPEG
(Motion JPEG), MPNG (Motion PNG) vagy MTGA (Motion TGA) fájlokat tud létrehozni.
A folyamat leírása:
A MEncoderdekódolja a
bemeneti képe(ke)t a libjpeg-gel
(ha PNG-ket dekódol, akkor a libpng-vel).
Ezután a MEncoder a dekódolt képeket a
kiválasztott videó tömörítőnek adja át (DivX4, Xvid, FFmpeg msmpeg4, stb.).
Példák
A kapcsoló magyarázata a man oldalon található.
Egy MPEG-4-es fájl létrehozása az aktuális könyvtárból található összes
JPEG fájlból:
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o kimenet.avi
Egy MPEG-4 fájl létrehozása néhány JPEG fájlból az aktuális könyvtárban:
mencoder mf://frame001.jpg,frame002.jpg -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o kimenet.avi
Egy MPEG-4 fájl létrehozása JPEG fájlok explicit listájából (az aktuális könyvtárban
lévő lista.txt tartalmazza a forrásként felhasználandó fájlokat, soronként egyet):
mencoder mf://@lista.txt -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o kimenet.avi
Különböző típusú képeket is használhatsz, függetlenül a használt módszertől
— egyedi fájlnevek, helyettesítő karakterek vagy fájl lista — feltéve
természetesen, hogy a képméretek azonosak.
Így például a cím kép lehet egy PNG fájl, majd a bemutató
készülhet JPEG fényképekből.
Egy Motion JPEG (MJPEG) fájl készítése az aktuális könyvtár összes
JPEG fájlából:
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o kimenet.avi
Egy tömörítetlen fájl létrehozása az aktuális könyvtár összes PNG fájlából:
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o kimenet.avi
A szélességnek 4 egész többszörösének kell lennie, ez a RAW RGB AVI
formátum megszorítása.
Egy Motion PNG (MPNG) fájl létrehozása az aktuális könyvtár PNG
fájlaiból:
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o kimenet.avi
Egy Motion TGA (MTGA) fájl létrehozása az aktuális könyvtár összes
TGA fájlából:
mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o kimenet.aviDVD felirat elmentése VOBsub fájlba
A MEncoder képes a feliratok kiszedésére
a DVD-kből és elmentésére VOBsub formátumú fájlokba. Ezek két fájlból
állnak, .idx és .sub kiterjesztéssel,
és általában egy .rar archívba vannak becsomagolva.
Az MPlayer le tudja ezeket játszani a
és a kapcsolókkal.
Meg kell adnod a kimeneti fájlok fájlnevét (az .idx vagy
.sub kiterjesztés nélkül) a
kapcsolóval és az ezen felirathoz tartozó
indexet a kimeneti fájlokban a -szel.
Ha a bemenet nem DVD, akkor a kapcsolót kell
használnod ahhoz, hogy megadd, hogy .ifo fájl
szükséges a kimeneti .idx elkészítéséhez.
Ha a bemenet nem DVD és nincs .ifo fájlod,
a kapcsolót kell használnod, hogy megadd,
milyen nyelv id-t kell beletenni az .idx fájlba.
Mindkét esetben az éppen futó felirat hozzáíródik a .idx
és .sub fájlokhoz, amennyiben azok már léteznek. Így
ezeket le kell törölnöd, mielőtt nekiállnál.
Két felirat másolása egy DVD-ről két menetes kódolás közben
rm subtitles.idxsubtitles.sub
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
-vobsubout subtitles -vobsuboutindex 0 -sid 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-vobsubout subtitles -vobsuboutindex 1 -sid 5Francia felirat másolása egy MPEG fájlból
rm subtitles.idxsubtitles.sub
mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles -vobsuboutindex 0 \
-vobsuboutid fr -sid 1 -nosound -ovc copy
Képarány megtartása
A DVD-s és az SVCD-s (pl. MPEG-1/2) fájlokban van egy képméret arány érték, ami
leírja, hogy a lejátszónak hogyan kell méreteznie a videó stream-et, így az
embereknek nem lesz tojás fejük (pl.: 480x480 + 4:3 = 640x480). Ennek ellenére AVI-ba
(DivX) történő kódoláskor figyelembe kell venned, hogy az AVI fejléc nem tárolja ezt
az értéket. A film átméretezése undorító és időigényes, kell, hogy legyen egy jobb
megoldás!
Van is.
Az MPEG-4-nek van egy egyedülálló sajátossága: a videó stream tartalmazhatja
a szükséges képarányt. Igen, úgy mint az MPEG-1/2 (DVD, SVCD) és a H.263 fájlok.
Sajnos azonban kevés videó lejtászó van az MPlayeren
kívül, ami támogatná ezt az attribútumot.
Ez a tulajdonság csak a
libavcodecmpeg4 codec-jével használható. Tartsd észben: habár
az MPlayer hibátlanul lejátsza a létrehozott
fájlt, a többi lejátszó lehet, hogy rossz képarányt fog használni.
Ajánlott levágni a fekete sávokat a film képe felett és alatt.
Lásd a man oldalt a cropdetect és a
crop szűrők használatához.
Használat
mencoder sample-svcd.mpg -vf crop=714:548:0:14 -oac copy -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o kimenet.avi