Több oka is van annak, hogy kívánatos lehet QuickTime-kompatibilis fájlok készítése.
Azt szertnéd, hogy minden gép le tudja játszani a kódolásod bármelyik fő platformon (Windows, Mac OS X, Unices …).
A QuickTime több hardveres és szoftveres gyorsítást ki tud használni Mac OS X-en, mint a platform-független lejátszók, mint például az MPlayer vagy a VLC. Ez azt jelenti, hogy a kódolásaid jó eséllyel szebben mennek majd egy régi G4-alapú gépen.
A QuickTime 7 támogatja a következő generációs H.264 codec-et, ami sokkal jobb képminőséget biztosít, mint az előző codec generációk (MPEG-2, MPEG-4 …).
A QuickTime 7 támogatja a H.264 videót és az AAC audiót, de nem támogatja ezek AVI konténer formátumba történő keverését. Mindamellett használhatod a MEncodert a videó és az audió kódolásához, és utána egy külső programmal, mint pl. az mp4creator (az MPEG4IP suite része) újrakevered a videó és audió sávokat egy MP4 konténerbe.
A QuickTime H.264 támogatása korlátolt, így néhány fejlett funkció nem lesz elérhető. Ha olyan funkciókkal kódolod el a videódat, amiket a QuickTime 7 nem támogat, a QuickTime-alapú lejátszók egy csodás fehér képet fognak mutatni neked a várt videó helyett.
B-frame-k: A QuickTime 7 maximum 1 B-frame-t támogat, pl. -x264encopts bframes=1. Ez azt jelenti, hogy a b_pyramid-nek és a weight_b-nek nem lesz hatása, mivel 1-nél több bframe kell nekik.
Makroblokkok: A QuickTime 7 nem támogatja a 8x8 DCT makroblokkokat. Ez az opció (8x8dct) ki van kapcsolva alapértelmezésben, ezért győződj meg, hogy még véletlenül sem engedélyezed. Ez azt is jelenti, hogy a i8x8-nak nem lesz hatása, mivel ahhoz a 8x8dct szükséges.
Méret arány: A QuickTime 7 nem támogatja a SAR (sample aspect ratio) információkat az MPEG-4 fájlokban; feltételezi, hogy a SAR=1. Olvasd el a méretezés részt a tüneti kezeléshez.
Tegyük fel, hogy rip-pelni szeretnéd a "Narnia krónikái" frissen vásárolt másolatát. A DVD-d régió 1-es, ami azt jelenti, hogy NTSC. Az alábbi példa működik PAL-ra is, feltéve, hogy elhagyod a -ofps 24000/1001-et és kicsit más crop és scale méreteket adsz meg.
Miután lefuttattad az mplayer dvd://1-et, kövesd a Mit kezdjünk a telecine-nel és az átlapolással NTSC DVD-ken részben leírtakat, és rájössz, hogy ez egy 24000/1001 fps-es progresszív videó. Ez kicsit leegyszerűsíti a folyamatot, mivel nem kell inverz telecine szűrőt használnod, mint a pullup vagy deinterlacing szűrőt, mint a yadif.
Ezután le kell vágnod a fekete sávokat a videó tetején és alján, ahogy az ebben az előző részben le van írva.
A következő lépés szívszaggató. A QuickTime 7 nem támogatja azon MPEG-4 videókat, melyekben a sample aspect ratio 1-től különböző, így vagy fel kell méretezned (ami rengeteg lemezterületet elvisz) vagy le kell méretezned (ami miatt elveszik a forrás pár részlete) a videót négyzetes pixelekre. Bárhogy is csinálod, ez nagyon nem jó, de nem kerülheted ki, ha QuickTime 7 által lejátszható videót akarsz. A MEncoder végre tudja hajtani a megfelelő fel- illetve leméretezést megfelelően a -vf scale=-10:-1 vagy a -vf scale=-1:-10 megadásával. Ez a videódat a vágott magasságnak megfelelő szélességűre méretezi, 16 legközelebbi többszörösére kerekítve az optimális tömörítéshez. Emlékezz rá, hogy ha vágsz, először vágnod kell, utána méretezni:
-vf crop=720:352:0:62,scale=-10:-1
Mivel egy másik konténerbe keversz, mindig ajánlott a harddup opció használata annak biztosítására, hogy a duplikált kockák a kimeneti videóban is duplikálva lesznek. Ezen opció nélkül a MEncoder egyszerűen csak egy jelet tesz a videó folyamba a képkocka duplikálásának helyére és innentől a kliens szoftveren műlik, hogy kétszer mutatja-e az adott kockát. Sajnos ez a "szoft duplikálás" nem éli túl az újrakeverést, így az audió lassan elveszíti a szinkront a videóval.
A végleges szűrőlánc így néz ki:
-vf crop=720:352:0:62,scale=-10:-1,harddup
Mint mindig, a bitráta megválasztása a forrás technikai tulajdonságaitól függ, ahogy az itt le van írva, valamint az egyéni ízlésedttől is. Ebben a filmben sok akció van nagy részletességgel, de a H.264 videó sokkal kisebb bitrátán is jobban néz ki, mint az XviD vagy más MPEG-4 codec-ek. Hosszas kísérletezés után ezen leírás szerzője úgy döntött, hogy 900kbps-en kódolja el ezt a filmet és úgy hiszi, hogy nagyon jól néz ki. Csökkentheted a bitrátát, ha több helyet kell megspórolnod vagy növelheted, ha javítanod kell a minőséget.
Készen állsz a videó elkódolására. Mivel érdekel a minőség, természetesen
két-lépéses kódolást futtatsz le. Hogy megspóroljunk némi kódolási időt,
megadhatod a turbo opciót az első lépésben; ez lecsökkenti
a subq-t és a frameref-et 1-re. Némi
lemezterület megspórolása érdekében használhatod az
ss opciót a videó első pár másodpercének levágásához.
(Úgy tűnik, hogy a konkrét film 32 másodpercnyi stáblistát és logót
tartalmaz.) A bframes lehet 0 vagy 1.
A többi opció a Kódolás az
x264
codec-kel részben
és a man oldalon van leírva.
mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \ -x264encopts pass=1:turbo:bitrate=900:bframes=1:\ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ -vf crop=720:352:0:62,scale=-10:-1,harddup \ -oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \ -ofps 24000/1001
Ha több processzoros géped van, ne hagy ki a kódolás drasztikus módon történő
gyorsításának a lehetőségét, melyet az
x264
több-processzoros módja
nyújt a threads=auto x264encopts-ban
történő megadásával a parancssorban.
A második lépés ugyan ez, kivéve, hogy meg kell adni a kimeneti fájlt és a pass=2-őt.
mencoder dvd://1 -o narnia.avi -ss 32 -ovc x264 \ -x264encopts pass=2:turbo:bitrate=900:frameref=5:bframes=1:\ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ -vf crop=720:352:0:62,scale=-10:-1,harddup \ -oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \ -ofps 24000/1001
Az eredmény AVI tökéletesen lejátszható az MPlayer-rel, de természetesen a QuickTime nem játsza le, mivel nem támogatja az AVI-ba kevert H.264-et. Ezért a következő lépés a videó MP4 konténerbe történő keverése.
Több mód is van az AVI MP4-be történő újrakeverésére. Használhatod az mp4creator-t, ami az MPEG4IP suite része.
Először az AVI-ból különálló audió és videó folyamokat kell készíteni az MPlayerrel.
mplayer narnia.avi -dumpaudio -dumpfile narnia.aac mplayer narnia.avi -dumpvideo -dumpfile narnia.h264
A fájlnevek fontosak; az mp4creator
.aac
kiterjesztésű AAC audió folyamot és
.h264
kiterjesztésű H.264 videó folyamot vár.
Ezután használd az mp4creator-t egy új MP4 fájl létrehozásához az audió és videó folyamból.
mp4creator -create=narnia.aac narnia.mp4 mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4
A kódolási lépéstől eltérően itt a framerátát decimálisként (23.976) kell megadni, nem törtként (24000/1001).
Ennek a narnia.mp4
fájlnak már bármilyen
QuickTime 7 alkalmazással lejátszhatónak kell
lennie, mint például a QuickTime Player vagy
az iTunes. Ha a videót böngészőben szeretnéd
megnézni a QuickTime plugin-nel, utasítanod kell
a QuickTime plugin-t, hogy kezdje meg a lejátszást,
miközben még tart a letöltés. Az mp4creator
bele tudja tenni a videóba az ehhez szükséges utasító sávokat:
mp4creator -hint=1 narnia.mp4 mp4creator -hint=2 narnia.mp4 mp4creator -optimize narnia.mp4
Ellenőrizheted a végső eredményt, hogy meggyőződj róla, hogy az utasító sávok rendben elkészültek:
mp4creator -list narnia.mp4
Látnod kell a sávok listáját: 1 audió, 1 videó és 2 hint sáv.
Track Type Info 1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz 2 video H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps 3 hint Payload mpeg4-generic for track 1 4 hint Payload H264 for track 2
Ha tag-eket akarsz hozzáfűzni a videódhoz, amiket az iTunes megjelnít, használhatod az AtomicParsley-t.
AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite
A --metaEnema opció eltávolít minden meglévő metadata-t (mp4creator beszúrja a saját nevét az "encoding tool" tag-be), a --freefree pedig visszaszerzi a törölt metadata által elfoglalt helyet. A --stik opció beállítja a videó típusát (mint pl. Movie vagy TV Show), aminek a segítségével az iTunes csoportosítani tudja a fájlokat. A --overWrite opció felülírja az eredeti fájlt; ennélkül az AtomicParsley egy új, automatikusan elnevezett fájlt hoz létre ugyan abban a könyvtárban és érintetlenül hagyja az eredeti fájlt.