Questa non vuole essere una guida completa, è soltanto imho il miglior modo per creare un divx partendo da un dvd usando mencoder, commenterò soltanto le funzioni principali, indispensabili alla buona riuscita, chi volesse più informazione può consultare questi siti:
http://xoomer.virgilio.it/marvigog/g...ipping_cmdline
http://digilander.libero.it/w1llcoyote/
http://digilander.libero.it/w1llcoyote/ex2.html
http://www.infocom.it/dvd2ogm/#compressione-video
(Ho preso praticamente tutto dagli ultimi due links)
1 - Inserire il dvd nel lettore
2 - mencoder -o -ovc copy -oac copy -aid 129 -dvd 1
Estrae e decodifica il dvd nel file test.avi, annotarsi la durata del film in secondi, nel mio caso sono 5814, le opzioni degne di nota sono:
-aid 129 Serve a selezionare la lingua, il numero varia per ogni dvd quindi bisogna cercare quello giusto, al suo posto si può usare anche -alang it ma solo per i dvd con una sola traccia in italiano (e comunque non funziona sempre).
-dvd 1 Dice a mencoder di estrarre il primo title, in genere il film è quello, ma non sempre, anche qua bisogna provare.
3 - mencoder -ovc frameno -oac pcm -o frameno.avi test.avi
Serve a creare il file frameno.avi contenente l'audio, serve a mencoder per operazioni future
4 - mplayer -vc dummy -vo null -hardframedrop -ao pcm -aofile test.wav test.avi
Estrae l'audio in wav dal file avi.
5 - oggenc -q3 -o test.ogg test.wav
Converte l'audio in ogg, -q3 è la qualità, 3 imho va bene, si può aumentare ma aumenterebbero anche le dimansioni finali e ne risentirebbe la qualità del video, annotarsi la dimensione del file audio generato, nel mio caso 62.6 Mb
6 - mplayer -vop cropdetect test.avi
Serve a calcolare le "vere" dimensioni del filmato, tagliando le bande nere ai lati, quando parte il filmato bisogna attendere una scena "chiara" se la scena è scura mencoder potrebbe sbagliare, si otterrà un output simile a questo:
crop area: X: 2..719 Y: 9..564 (-vop crop=718:554:2:10)15% 0,8% 0 0 49%
A noi interessano: 718, 554, 2, 10 annotarseli
7 - bitrate=(dimensionefinale x 1048576)-(dimensioneaudio x 1048576)x8/1.0115/temposec/1000
Serve a calcolare il bitrate del video, nel mio caso (700 x 1048576)-(62.6 x 1048576) x 8 / 1.0115 / 5814 /1000 = 909
Ho scelto 700 perchè è la dimensione del cd dove masterizzerò il divx, 909 è il risultato approssimato per difetto.
8 - calcbpp.pl risoluzione 16/9 bitrate 25
Tramite lo script calcbpp.pl (che allego) si calcola da dimensione ottimale in pixel del nostro divx.
Risoluzione: quella ottenuta da "mplayer -vop cropdetect test.avi", nel mio caso 718x554
16/9 In genere i dvd sono in 16/9 ma potrebbero anche essere in 4/3.
bitrate: quello calcolato con l'equazione al punto 7
25: Numero di frame al secondo del filmato, sinceramente non so dire di più, i dvd credo siano sempre con 25 Frame/s, ma altri tipi di filmati potrebbero avere un framerate diverso.
L'output sarà simile a questo:
calcbpp.pl 718x554 16/9 909 25
Prescaled picture: 1021x554, AR 1.84
720x384, diff 7, new AR 1.88, AR error 1.69% scale=720:384 bpp: 0.132
704x384, diff -2, new AR 1.83, AR error 0.54% scale=704:384 bpp: 0.134
688x368, diff 5, new AR 1.87, AR error 1.41% scale=688:368 bpp: 0.144
672x368, diff -3, new AR 1.83, AR error 0.94% scale=672:368 bpp: 0.147
656x352, diff 4, new AR 1.86, AR error 1.09% scale=656:352 bpp: 0.157
640x352, diff -5, new AR 1.82, AR error 1.38% scale=640:352 bpp: 0.161
624x336, diff 3, new AR 1.86, AR error 0.75% scale=624:336 bpp: 0.173
608x336, diff -6, new AR 1.81, AR error 1.86% scale=608:336 bpp: 0.178
592x320, diff 1, new AR 1.85, AR error 0.37% scale=592:320 bpp: 0.192
576x320, diff -8, new AR 1.80, AR error 2.40% scale=576:320 bpp: 0.197
560x304, diff 0, new AR 1.84, AR error 0.06% scale=560:304 bpp: 0.214
544x288, diff 7, new AR 1.89, AR error 2.42% scale=544:288 bpp: 0.232
528x288, diff -2, new AR 1.83, AR error 0.54% scale=528:288 bpp: 0.239
512x272, diff 6, new AR 1.88, AR error 2.08% scale=512:272 bpp: 0.261
496x272, diff -3, new AR 1.82, AR error 1.08% scale=496:272 bpp: 0.270
480x256, diff 4, new AR 1.88, AR error 1.69% scale=480:256 bpp: 0.296
464x256, diff -4, new AR 1.81, AR error 1.70% scale=464:256 bpp: 0.306
448x240, diff 3, new AR 1.87, AR error 1.25% scale=448:240 bpp: 0.338
432x240, diff -6, new AR 1.80, AR error 2.40% scale=432:240 bpp: 0.351
416x224, diff 2, new AR 1.86, AR error 0.75% scale=416:224 bpp: 0.390
400x224, diff -7, new AR 1.79, AR error 3.22% scale=400:224 bpp: 0.406
384x208, diff 0, new AR 1.85, AR error 0.16% scale=384:208 bpp: 0.455
368x192, diff 8, new AR 1.92, AR error 3.83% scale=368:192 bpp: 0.515
352x192, diff -1, new AR 1.83, AR error 0.54% scale=352:192 bpp: 0.538
336x176, diff 6, new AR 1.91, AR error 3.45% scale=336:176 bpp: 0.615
320x176, diff -2, new AR 1.82, AR error 1.38% scale=320:176 bpp: 0.646
Bisogna controllare l'ultimo valore di ogni riga e si sceglierà quello più simile a 0.24 , nel mio caso:
528x288, diff -2, new AR 1.83, AR error 0.54% scale=528:288 bpp: 0.239
La risoluzione del mio filmato sarà 528x288
9 - mencoder -v -o /dev/null -oac copy -ovc lavc -vop scale=528:288,crop=718:554:2:10 -lavcopts vcodec=mpeg4:vbitrate=909:vhq:vqscale=2:vqmin=2:v4 mv:vpass=1 -sws 2 test.avi
Primo passaggio, creerà il file divx2pass.log contenente informazioni per il secondo passaggio:
-vop scale=528:288 la risoluzione ottenuta con calcbpp.pl al punto 8
crop=718:554:2:10 I valori ottenuti con "mplayer -vop cropdetect test.avi" al punto 6
vbitrate=909 Il bitrate del video ottenuto con l'equazione al punto 7
10 - mencoder -v -o test.divx -oac copy -ovc lavc -vop scale=528:288,crop=718:554:2:10 -lavcopts vcodec=mpeg4:vbitrate=909:vhq:vqmin=2:v4mv:vpass=2 -sws 2 test.avi
Secondo passaggio, genera i file nostro divx contenente l'audio non compresso
11 - ogmmerge -o titolo.ogm -A test.divx test.ogg
Genera il nostro file contenente il video e l'audio compressi, lasciare l'estensione ogm altrimenti mplayer si impalla.
Sicuramente questo metodo si può migliorare, sono ben accetti consigli da chi ne sa più di me.
Un mio amico che usa winzozz ha sbavato quando ha visto un divx che ho creato con questo metodo, ora mi tocca andargli ad installare Gentoo
Marco Ugolini