DVD-Video to MP3

Van 2 zseniális film: KOYAANISQATSI és POWAQQATSI (meg a harmadik, a NAQOYKATSI, de azt nem annyira szeretem). Originál DVD-n (meg a K. zenéje CD-n). Kérte a gyerek, hogy kéne a zene (Philip Glass) a telefonjára. Úgy tűnik sikerült a lehető legbonyolultabb módszert kitalálni (legalábis mióta készen van, találtam egyszerűbbnek tűnőt), de ha már, akkor ideírom.

Szükséges eszközök: vobcopy / liba52 / lame/oggenc/flac/... - esetleg néhány más (sox)

vobcopy -M -f -l -o - | # longest video in one file to STDOUT
extract_a52 - | # get AC3 from the VOB
a52dec -o wav - | # decode to WAV
lame - output.mp3 # and encode it

Konkrétan ezen a két lemezen van az elején / végén némi fölösleges szünet, valamint szintén nem szükséges (nem a zenéhez tartozó) oroszlánüvöltés, így közben sox segítségével azt még kidobtam.

sox - akarmi.wav trim I:NN:EN EN:NY:IT

# úgy tűnik nem vagyok képes átmeneti fájl nélkül megcsinálni, de ez dobta el a fölösleget

Ha valaki elmagyarázná, hogy STDIN STDOUT használatával hogy tudnám a sox-ot erre (*) rábeszélni, az jó lenne, mert jó pár szintaxist kipróbáltam, de nem igazán sikerült, így csináltam egy átmeneti fájlt a megvágott wav-nak.

Valamint a keresgélés közben ráakadtam a vStrip-re (eredetileg azzal nyertem ki, az amúgy az általam jobban preferált dvdbackup segítségével létrehozott könyvtárstruktúrából az AC3 audio sávot). Meg játszadoztam a transcode-dal is, de csak az AC3 sáv kinyerésére akartam használni. Mióta megcsináltam, megtaláltam a talán legegyszerűbb módját a dolognak, az lsdvd és a transcode segítségével pl. ogg-ba menteni az anyagot:

- lsdvd # innen kiszedem, hogy melyik Title kell, majd
- transcode -i /dev/dvd -x dvd -T 1,-1 -a 0 -y ogg -m complete_audio.ogg

(*) STDIN wav, STDOUT-on szintén wav-ot szeretnék, de mellesleg trimmeljen egyet (Tudom, a kimenetre nem jó a wav, mert kéne fejlécet írnia, de az a baj, hogy RAW-formával se sikerült eltalálnom a megfelelő szintaxist.)

Hozzászólások

Valami gáz van a szövegedben, elszáll a betűtípus.

/dev/stdin, /dev/stdout. Ha nem szereti, akkor lehet named pipe-pal jatszani: mkfifo pipweneve, ilyenkor ket ablakbol kell csinalni, es a pipe-ra raengedni azt a progit, ami nem szereti a stdin-t. Ha kell, lehet ket pipe is, ilyenkor 3 ablak/tab kell :-)
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Ha ez a sox-ra válasz, nem ez a baj. Az inputon jön egy wav, a kimenet jó lenne ha wav, vagy legalább neki megfelelő raw:

.... | sox -t wav - -t raw - trim X Y | ....

formában próbáltam meg a wav - mp3 átalakítási útvonal elején csonkolni. De nem szerette ha a kimenet wav, nem szerette ha raw, nem szerette, ha csak a kimenőt adtam meg , és í. t.

Csak alternatívának, ahogy én szoktam DVD-ből kikapni audiót:

mplayer dvd://3 -vc dummy -vo null -ao pcm:file=audio.wav

# vagy ha VOB fájlokban és mappában van a DVD, akkor

mplayer dvd://5 -dvd-device MYFOLDER -vc dummy -vo null -ao pcm:file=audio.wav

# majd

lame -V4 audio.wav out.mp3

# vagy egyéb ogg converter, abból van egy rakás.

Tipp (nem mindig mukodik): -ao pcm:fast:file=audio.wav

Ekkor nem realtime rendereli ki a hangot, hanem amennyi futja az eroforrasokbol. ffmpeg alapu kodekeknel asszem nem jatszik, flv-nel tudom, hogy neha nyugos.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal