DVD rippelése – mplayer & mencoder
Ebben a leírásban bemutatom, hogyan lehet egy DVD-t rippelni (H.264/x264/MPEG-4 AVC formátumba), több hangsávval (Vorbis), felirattal (vobsub) egy Matroska konténerbe mplayer és mencoder segítségével.
A szükséges programok a multiverse tárolóban találhatóak.
Telepítsük a szükséges programokat:
sudo apt-get install mplayer mencoder normalize-audio vorbis-tools mkvtoolnix mkvtoolnix-gui gpac x264
Film másolása
Ha sikeresen feltelepültek a programok, akkor kezdhetjük a rippelést:
mplayer dvd://8 -v -dumpstream -dumpfile title.vob
Én a Háború a földön című film lemezéről fogom berippelni a „John Travolta sminktesztje” c. extrát (Ennél a lemeznél a 3. sávban van a film, az első sáv reklám, a 2. sáv a jogvédelmi duma, a többi előzetes, valamint extra).
A dvd://8 a lemezen levő 8. filmet (title) jelenti. Ha nem tudod, hogy melyik film az amit be szeretnél rippelni, akkor a
mplayer dvd://1
paranccsal elindítja a lejátszást, így megnézheted, hogy az a film e amit akarsz.
Felirat
Ehhez a kisfilmhez egy magyar felirat tartozik (a hangsáv angol)
Ezen a lemezen egy szem magyar felirat található.
Rippeljük le a magyar feliratot ha van:
mencoder dvd://8 -nosound -ovc frameno -o /dev/null -slang hu -vobsubout title
A dvd://8 jelenti azt, hogy a lemezen található 3. film felirata kell,
a -slang hu azt, hogy magyar nyelvű felirat.
Ha az eredeti AC3-as hangot szeretnéd meghagyni, akkor a következő lépéseket hagyd ki.
Konvertáljuk PCM formátumúra a hangot:
mplayer title.vob -ao pcm:file=audio1.wav -vc dummy -aid 128 -vo null
A title.vib az a fajlnev, amilyen néven a filmet (legelején) berippeltük,
az audio1.wav a kimenet,
a -aid 128 a legelső hangsáv.
Ha több hangsávot akarsz rippelni, akkor az -aid paraméterrel adhatod meg melyiket, pl. a második hangsávhoz a -aid 129-et kell megadni (és persze a fájlnév is legyen más, pl. audio2.wav)
Normalizáljuk a hangsávokat ha szükséges (a normalizálás azt jelenti, hogy relatíve ugyanolyan hangosan fognak szólni)
normalize-audio audio1.wav
Ha több hangsávot rippeltünk, akkor mindegyikkel tegyük meg ezt
Majd konvertáljuk Ogg Vorbis formátumba a hangsávokat
oggenc -q5 audio1.wav
A -q5 paraméter a minőséget adja meg. A q5 kb. 160 kbit/s-es átlagminőséget határoz meg.
Eredeti AC3 megtartása:
mplayer title.vob -aid 128 -dumpaudio -dumpfile title.ac3
Ahol az -aid 128 a hangsáv, a title.ac3 meg a fájlnév.
Video konvertálás
A videót two-pass módszerrel tömörítem és PAL formátumú. Ha NTSC videód van, akkor itt találsz információt a kódolásról.
Vágjuk le a fekete sávokat a film aljáról és tetejéről (ha van)
mplayer title.vob -vf cropdetect
Jelen esetben ilyen probléma nincsen. Ha le szeretnénk vágni a fekete sávokat, akkor a kimenetnél nézzük meg a következő sorokat (nem muszáj végig lejátszani a filmet, azt meg lehet szakítani ctrl+c-vel)
[CROP] Crop area: X: 9..712 Y: 1..575 (-vf crop=688:560:18:10).0
[CROP] Crop area: X: 9..712 Y: 1..575 (-vf crop=688:560:18:10).0
[CROP] Crop area: X: 9..712 Y: 1..575 (-vf crop=688:560:18:10).0
[CROP] Crop area: X: 9..712 Y: 1..575 (-vf crop=688:560:18:10).0
[CROP] Crop area: X: 9..712 Y: 1..575 (-vf crop=688:560:18:10).0
Ebből a -vf crop=688:560:18:10 érdekes, ezt jegyezzük fel, később meg kell adnunk majd.
Először számoljuk ki, hogy mekkora bitrátával szeretnénk a filmet tömöríteni. Az mplayer weboldalán van egy jó leírás a felbontásról és a bitrátáról.
A következő képlettel számolhatjuk ki, hogy mekkora bitrátát használjunk:
bitrate = (célméret MiBájtban - hangsávok mérete MiBájtban) * 1024 * 1024 / hossz másodpercben * 8 / 1000
Tehát pl. egy kétórás filmet egy 700 MiBájtos CD-re, amiból 60 MiBájt a hangsáv: (702 – 60)*1024*1024/(120*60)*8/1000 = 740kbps
Hozzunk létre egy fájlt, miben a kódolás paramétereit állítjuk be
editor videnc
Itt egy példa:
# elso menet
mencoder -v title.vob\
-ovc x264 -x264encopts subq=4:bframes=3:b_pyramid:weight_b:turbo=1:pass=1:psnr:bitrate=1000\
-oac copy\
-of rawvideo\
-o title.264
# masodik menet
mencoder -v title.vob\
-ovc x264 -x264encopts subq=6:4x4mv:8x8dct:me=3:frameref=5:bframes=3:b_pyramid:weight_b:pass=2:psnr:bitrate=1000\
-oac copy\
-of rawvideo\
-o title.264
Ha le szeretnénk vágni a felső-alsó fekete sávokat, akkor a korábban megkapott opciót is írjuk bele:
…
-o title.264\
-vf crop=688:560:18:10,harddup
Mind a két menethez írjuk bele. A legutolsó paraméter (az -o title.264) után egy visszatört legyen, majd irjuk be a feljebb megkapott értéket (-vf crop=688:560:18:10) majd egy vessző, és a harddup szócska.
A bitrate=1000 opció határozza meg a bitrátát. A fent említett filmnél 834 kbit/sec-es bitráta esetén fér el egy CD-re.
Több magos CPU/több CPU esetén a -x264encopts mögé írjuk még be a threads=auto paramétert.
Ügyeljünk arra, hogy a – (kötőjel) jellel kezdődő soroknál, először egy szóköz van!
Az opciókról bővebben az mplayer oldalán lehet olvasni, itt.
Indítsuk el a konvertálást
sh ./videnc
Egy 100 perces film konvertálása egy Turion64 X2 1,6 GHz-es CPU-s gépen kb. 5-7 órát vesz igénybe, így a legideálisabb éjszaka végezni a konvertálást.
Ha kész a konvertálás, az x264 fájlt, helyezzük egy mp4 konténerbe
MP4Box -add title.264 title.mp4
Összerakás
Ha kész van minden konvertálás, akkor már csak össze kell rakni a hangot, a feliratot és a videót. Ezt az „MKV files creator” nevű programmal tehetjük meg. Indítsuk el az mmg paranccsal, vagy keressük meg menüből.
Az Input files részbe csak fogjuk meg, és húzzuk bele a következő fájlokat:
- title.mp4
- audio1.ogg vagy audio.ac3
- audio2.ogg (ha van)
- title.idx
Az output filenames résznél tallózzuk be, hogy hová és milyen néven szeretnénk menteni a fájlt. Ha szükséges adjuk meg a felirat és hangsávok nyelvét (ehhez a Tracks részen kattintsunk az adott sávra)
Az összerakáshoz kattintsunk a Start muxing gombra.
Kész is a konvertálás.