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. A QuickTime X-ben már nincs meg ez a korlátozás.
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ájl nevek 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.