# [HOW-TO] Comprimere DVDs usando mencoder/mplayer

## quantumwire

### AGGIORNAMENTI ###

Aggiunta generazione file per sottotitoli - Mon Apr 16 22:27:49 CEST 2007

### PREMESSE ###

Questo e' un HOWTO relativo alla compressione del materiale audio-video presente nei DVDs.

(Siano essi DVDs PAL  o NTSC [720x480 a 30 fotogrammi al secondo])

Il metodo fornito non deve essere utilizzato in alcun modo per comprimere DVDs protetti

da leggi che ne vietino la duplicazione e/o qualsiasi forma di compressione non preventivamente

autorizzata dai dententori del rispettivo copyright.

Il metodo fornito non e' breve ma la qualita' che si puo' raggiungere e' molto elevata.

(Vero se e' pure elevata la qualita' del matriale audio-video presente sugli stessi DVDs)

Il formato audio-video del prodotto finale e' l'AVI e la compatibilita' con Windows Media Player e' garantita.

(Per la compatibilita' puo risultare necessario installare sotto Windows il Combined 

Community Codec Pack)

### INTRODUZIONE ###

Iniziamo con l'affarmare che il materiale audio-video presente nei nostri DVDs puo' essere di svariata natura e qualita'.

Per capire questo primo punto fondamentale bisogna avere ben chiaro in mente quanto segue:

Esiste la macchina da presa del regista (operazione di filmaggio).

Qui comunemente troviamo filmati registrati a:

24 fotogrammi al secondo (cineprese progressive),

50 campi al secondo (cineprese PAL),

60 campi al secondo (cineprese NTSC).

Con il termine materiale-sorgente indicheremo sempre la natura dei filmati prima di

essere trasferiti sui DVDs.

Esiste il processo di trasferimento del filmato su DVD.

Qualsiasi esso sia, sui DVDs vengono sempre e solo memorizzati fotogrammi.

Esistono due tipi di DVDs in commercio:

DVDs PAL: risoluzione 720x576, 25 fogrammi al secondo.

Ecco la riga di output di mplayer che identifica questo tipo di DVD:

```
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  8900.0 kbps (1112.5 kbyte/s)
```

DVDs NTSC: risoluzione 720x480, 30 fogrammi al secondo.

Ecco la riga di output di mplayer che identifica questo tipo di DVD:

```
VIDEO:  MPEG2  720x480  (aspect 2)  29.970 fps  6800.0 kbps (850.0 kbyte/s)
```

Nota: se volete capire perche' la frequenza dei frame e' pari a 29.970 fotogrammi

al secondo (30000/1001 fps) e non 30, vi basti sapere che cio' dipende dalla

compatibilita' adottata da parte del materiale-sorgente a colori nei confronti

delle TV NTSC in bianco e nero.

Come sempre Google ed il manuale di mplayer ci aiutano:

```
"Strictly speaking, all those numbers are approximations. Black and white NTSC

video was exactly 60 fields per second, but 60000/1001 was later chosen to accomodate

color data while remaining compatible with contemporary black and white televisions.

Digital NTSC video (such as on a DVD) is also 60000/1001 fields per second."
```

Con il termine materiale-sorgente-dvd indicheremo sempre la natura dei filmati

una volta trasferiti sui DVDs.

Nota: le precedenti due righe di output di mplayer non identificano il materiale-sorgente-dvd

ma semplicemente il tipo di DVD.

Esiste la macchina da visione dell'utente.

Qui comunemente troviamo televisori a:

50 campi al secondo (televisori PAL),

60 campi al secondo (televisori NTSC),

"praticamente qualsiasi numero di fotogrammi" al secondo (monitor LCD).

### CAP. 1: Fotogrammi, campi e fenomeno di interlacciamento ###

Ora dobbiamo approfondire un attimo che cosa intendiamo per fotogramma e campo.

Un fotogramma non e' niente meno che una fotografia... esattamente come quella che scattiamo quando

utilizziamo la nostra macchina fotografica (sia essa digitale o meno) ad una festa di compleanno.

Immaginiamo ora di scattare un fotogramma a tre bandierine e poi di tagliarlo in 6 striscioline orizzontali

tutte della stessa grandezza... fatto? Bene!

Immaginiamo anche di numerare queste striscioline da 1 a 6 dall'alto verso il basso... fatto anche uesto?

Benissimo!

```
Figura 1

1 ---------****---------

2 ---------****---------

3 ---------****---------

4 --****----------****--  Abbiamo fotografato tre bandierine su questo fotogramma!

5 --****----------****--

6 --****----------****--

```

Immaginiamo ora di separare lentamente verso sinistra le sole stricioline "dispari" (la 1, la 3 e la 5) mentre

verso destra le sole striscioline pari (la 2, la 4 e la 6).

```
Figura 2

1 ---------****---------

                                ---------****--------- 2

3 ---------****---------                                    Ora abbiamo due "mezze immagini" ovvero due campi!

                                --****----------****-- 4  Essi sono stati scattati nello stesso istante di tempo!

5 --****----------****--

                                --****----------****-- 6

```

Definiamo il "mezzo fotogramma" costituito dalle sole striscioline dispari come campo dispari o campo top.

Definiamo il "mezzo fotogramma" costituito dalle sole striscioline pari come  campo pari o campo bottom.

Ora e' evidente che eseguendo l'operazione inversa, ovvero riunendo il campo top al campo bottom, otteniamo

lo stesso fotogramma di partenza.... ci siete ancora? Spero di si perche' adesso arriva il nocciolo della questione!

Torniamo ora alla stessa festa di compleanno (vogliamo fotografare nuovamente le tre bandierine) ma stavolta

con una "diversa" macchina fotografica la quale invece di scattare un fotogramma all'istante t1, abbia bisogno di

scattare prima il campo top al tempo t1 e poi il campo bottom al tempo t2 dove t2 e' successivo a t1 per mezzo

secondo.

Deve essere chiaro che questa "diversa" macchina fotografica, per produrre una "fotografia intera" o fotogramma,

ha bisogno di scattare due "mezze fotografie" ovvero i due campi top e bottom in tempi diversi!

Supponendo che la nostra "diversa" macchina fotografica sia immobile durante l'intero arco di tempo t1-t2 e che il

solo oggetto a muoversi (verso destra) siano le tre bandierine, cio' che otteniamo e':

```
Figura 3

1 ---------****---------

                                -----------****------- 2

3 ---------****---------

                                ----****----------**** 4  Ecco le due "mezze fotografie" o campi!

5 --****----------****--

                                ----****----------**** 6

 <campo top preso in t1>       <campo bottom preso in t2>

```

```
Figura 4

1 ---------****---------

2 -----------****-------

3 ---------****---------  Ecco come appaiono ora le tre bandierine dopo aver ricostruito

4 ----****----------****  il fotogramma con questa diversa macchina fotografica!

5 --****----------****--

6 ----****----------****

```

Il fenomeno evidenziato in Figura 4 e' noto con il nome di interlacciamento e nasce quando due campi top e 

bottom relativi ad immagini distinte vengono messi assieme nel formare un fotogramma.

Tale fenomeno e' chiaramente "brutto da vedere" e deve quindi essere corretto durante la fase di compressione

audio-video del materiale-sorgente-dvd.

Ricordiamo che sui DVDs vengono sempre e solo "masterizzati" fotogrammi e non singoli campi. Nel caso dunque

di una cinepresa PAL (50 campi al secondo) l'unione dei primi due campi costituira' il primo frame interlacciato (come

del resto tutti gli altri a seguire!) di un eventuale DVD PAL! Ogni singolo frame masterizzato su DVD (nel solo caso

di materiale-sorgente PAL o NTSC) presentera' dunque il "difetto" evidenziato in Figura 4... notate bene... difetto

molto fastidioso se la visione del DVD la fate sul vostro laptop (schermo LCD!!!)... difetto molto meno fastidioso se

invece il film ve lo guardate sulla vostra TV di casa (in quest'ultimo caso e' poi pure sbagliato chiamarlo difetto perche'

le TV funzionano a mezzi campi e non a fotogrammi!!!).

Si noti che, 50/2 e' proprio uguale a 25 (idem per 60/2 uguale a 30) ovvero il numero di fogrammi al secondo con

il quale un DVD PAL viene letto dal rispettivo lettore DVD... lettore che poi avra' il compito di estrarre nuovamente,

da ogni fotogramma, la coppia di campi top e bottom da dare in pasto al vostro televisore PAL... a 50 campi al secondo!!!

Hey!!! Sia chiaro che non c'e' trucco ne' inganno: dire che vi state guardando un film a 50 "mezze fografie" al secondo

e' del tutto equivalente a dire che ve lo state guardando a 25 "fotografie intere" al secondo... su questo spero siamo

tutti d'accoro vero??!!

Approfondiremo ora un po' meglio quest'ultimo punto molto importante. 

### CAP. 2: Come filmo "vorrei" poi rivedere; la tecnica Telecine ###

Ebbene si ragazzi... come filmo vorrei proprio poi rivedere!!!

Come abbiamo accennato nell'introduzione, esistono tre tipi di materiale-sorgente:

materiale ripreso a 24 frame al secondo (cineprese progressive),

materiale ripreso a 50 campi al secondo (cineprese PAL),

materiale ripreso a 60 campi al secondo (cineprese NTSC).

Risulta ora chiaro che le cineprese PAL producono materiale-sorgente esclusivamente per i televisori PAL, come

le cineprese NTSC ne producono esclusivamente per i televisori NTSC. Non fa dunque una grinza filmare a 50 o 60

campi al secondo e poi rivedere il filmato sul proprio schermo della TV alla stessa medesima frequenza!

cinepresa PAL -----> televisore PAL

cinepresa NTSC ---> televisore NTSC

In questi due casi dunque, la visione del filmato non presenta alcuna alterazione!

Nota: Osserviamo che il fatto di dover "accendere" in modo alternato prima tutte le linee pari dello schermo e poi

tutte le linee dispari e poi di nuovo tutte le linee pari etc... 50 o 60 volte al secondo, da parte dei televisori PAL e

NTSC rispettivamente, e' da considerarsi come una loro caratteristica tecnica punto e basta.

Come conseguenza le rispettive cineprese sono nate (molto prima dei PC, DVDs etc...) per produrre

materiale-sorgente utilizzabile direttamente dai rispettivi televisori.

Supponiamo ora di voler vedere un materiale-sorgente progressivo a 24 fotogrammi al secondo su un televisore

PAL; come facciamo?

cinepresa progressiva ---> DVD PAL ---> televisore PAL

Beh... molto semplice, idealmente dobbiamo prendere ogni singolo fotogramma e dividerlo nei due campi top e

bottom. In questo modo otteniamo 48 campi e di conseguenza vedremo il filmato sul televisore PAL leggermente

accelerato! Di quanto? Del 4% perche' in 100 campi proiettati in 2 secondi dal televisore PAL ci stanno i 96 campi

ottenuti dallo splittamento dei 48 fotogrammi (relativi ai 2 secondi del materiale sorgente) + altri 4 campi... ed il

tutto sempre in 2 secondi! 

In altre parole i 2 secondi del materiale progressivo sorgente vengono visti in 1.92 secondi sul televisore PAL.

Ecco quindi un caso in cui "come filmo non rivedo"!

Ma c'e' di peggio perche' essendo il filmato leggermente accelerato, la traccia audio subira' un aumento di tono

pari a mezzo tono!... E se questo va anche bene se vi state guardando Shrek2, cosi tanto bene non va nel caso

di rappresentazioni musicali etc...

Supponiamo ora di voler vedere lo stesso filmato progressivo a 24 fotogrammi al secondo su un televisore

NTSC; come facciamo?

cinepresa progressiva ---> DVD NTSC ---> televisore NTSC

Bene, in questo caso e' possibile rivedere il filmato sul televisore NTSC alla stessa identica velocita' con cui e' stato

ripreso! La particolare tecnica utilizzata per ottenere questo risultato e' nota come 

Telecine.

Il concetto di base del "Telecinamento" e' molto semplice: bisogna far fittare o estendere i 24 fotogrammi per secondo

del materiale-sorgente progressivo nei 30 fotogrammi per secondo (60 campi al secondo) caratteristici della TV NTSC.

Il tutto si risolve con un'opportuna aggiunta di 2 fotogrammi interlacciati ogni 3 fotogrammi progressivi.

Come possiamo aver notato, negli ultimi due casi abbiamo usato un DVD!

In particolare modo nel primo caso (DVD PAL) il materiale-sorgente-dvd e' progressivo mentre nel secondo caso

e' telecinato. Cio' significa che l'operazione di telecine non viene eseguita via hardware dal lettore DVD in quanto

e' gia' stata eseguita sul materiale-sorgente progressivo iniziale prima della sua masterizzazione sul DVD NTSC.

### CAP. 3: materiale-sorgente e materiale-sorgente-dvd ###

Come detto nell'introduzione, qulsiasi sia il tipo di materiale-sorgente, sui DVDs (PAL o NTSC) tutto viene masterizzato

in fotogrammi ovvero, in un certo senso, tutto e' progressivo (Sara' il lettore DVD a ricostruire il corretto segnale per il

televisore in termini di campo top e campo bottom).

Se il materiale-sorgente e' progressivo, esso puo essere masterizzato come tale:

materiale-sorgente progressivo ---> DVD PAL

(in fase di compressione ce lo becchiamo un 4% piu' veloce)

materiale-sorgente progressivo ---> DVD NTSC

(in fase di compressione recuperiamo la velocita' originale con l'opzione "-ofps 24000/1001")oppure essere 

masterizato gia' telecinato:

materiale-sorgente progressivo ---> telecine ---> DVD NTSC

(in fase di compressione recuperiamo i fotogrammi originali applicando i filtri di tecine-inverso "pullup,softskip")

Se il materiale-sorgente e' non progressivo esso deve venire interlacciato:

materiale-sorgente PAL ---> interlacing ---> DVD PAL

(in fase di compressione creiamo i campi mancanti applicando il filtro di deinterlacciamento "pp=")

materiale-sorgente NTSC ---> interlacing ---> DVD NTSC

(in fase di compressione creiamo i campi mancanti applicando il filtro di deinterlacciamento "pp=")ovvero ogni coppia 

di campi top e bottom vengono uniti nel creare un fotogramma durante la fase di masterizzazione.

Per chiudere in bellezza questo capitolo si noti che in realta' sui DVDs possiamo trovare:

o materiale-sorgente-dvd tutto progressivo (tipico su DVDs PAL e NTSC),

o materiale-sorgente-dvd tutto interlacciato (tipico su DVDs PAL e NTSC),

o materiale-sorgente-dvd tutto telecinato (solo DVD NTSC),

o materiale-sorgente-dvd un po progressivo ed un po telecinato (solo DVD NTSC),

o materiale-sorgente-dvd un po progressivo ed un po interlacciato (tipico su DVD PAL e NTSC).Abbastanza... non vi 

pare???

### CAP. 4: Ecco la mia ricetta per la compressione ###

Premesse:lanciate tutti i comandi che seguiranno in una directory vuota e con molto spazio a disposizione,

tutto cio' che in un comando e' racchiuso tra parentesi tonde "()" e' da intendersi come "eventualmente presente"

nel senso che dipendente strettamente dalla natura del materiale-sorgente-dvd.

Questa ricetta e' divisa in due fasi:

fase 1: recupero di tutte le informazioni necessarie per la fase 2,

fase 2: compressione del materiale-sorgente-dvd.

Iniziamo ovviamente dalla FASE 1.

Il primo passo consiste nell'estrazione del materiale-sorgente-dvd. Esso e' rappresentato dai cossidetti file.vob i

quali devono essere decriptati etc... ma non preoccupatevi, lo fa in modo automatico mplayer. Osservate che un

file.vob contiene tutte le eventuali tracce audio e video piu tutti gli eventuali sottotitoli. Quando dico tutti vuole

dire che potranno essere presenti piu tracce audio in diversi formati e lingue, piu tracce video (ovvero lo stesso

filmato puo' essere stato girato contemporaneamente con diverse angolazioni) ed in fine piu' sottotitoli in lingue

diverse.

Dimenticavo... fate un po' di spazio al file MOVIE.vob perche' potra' tranquillamente raggiungere i 5 GB.

```
mplayer dvd://1 -dumpstream -dumpfile MOVIE.vob
```

Ok... ora abbiamo il file MOVIE.vob relativo alla prima traccia presente nel DVD che generalmente rappresenta il film

vero e proprio.

Il secondo passo consiste nel capire con quale materiale-sorgente-dvd (MOVIE.vob) abbiamo a che fare.

```
mplayer -nosound -vo null -benchmark MOVIE.vob
```

Il precedente comando leggera' l'intero MOVIE.vob alla massima velocita' possibile ed il suo output potra' essere:

nessun messaggio di cambio di frequenza.

In questo caso siamo in presenza di un materiale-sorgente-dvd o tutto telecinato o tutto interlacciato.

Per capirlo dobbiamo runnare "mplayer MOVIE.vob" e cercare una parte del film dove c'e' un po' di movimento (tasti

"freccia su", "freccia giu", "pagina su" e "pagina giu" per spostarci piu' o meno velocemente all'interno del film).

Una volta trovata la parte con un po' di action mettiamo mplayer in pausa "p" ed osserviamo una decina di

fotogrammi successivi premendo ogni volta il tasto "punto": se ogni fotogramma risulta interlacciato allora il file

MOVIE.vob e' tutto interlacciato (filtro "pp=" in fase di codifica) mentre se solo qualcuno lo e' allora il

materiale-sorgente-dvd e' tutto telecinato (filtri "pullup,softskip" in fase di codifica).

un solo messaggio di questo tipo:

"demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate."

In questo caso siamo evidentemente in presenza di un materiale-sorgente progressivo masterizzato non telecinato

su un DVD NTSC. Infatti mplayer, che leggerebbe il DVD NTSC a 30 fotogrammi per secondo, si accorge che in

realta' il materiale sorgente-dvd e' a 24 fotogrammi per secondo (esattamente come il materiale-sorgente!) e quindi

applica il filtro di "rallentamento" (opzione "-ofps 24000/1001" in fase di codifica).

piu' messaggi alternati in questo modo:

"demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate."

"demux_mpg: 30000/1001 fps progressive NTSC content detected, switching framerate."

"demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate."

etc...

In questo caso o siamo in presenza di un materale-sorgente-dvd un po' progressivo ed un po' telecinato

(contemporanea presenza delle opzioni "-ofps 24000/1001" e "pullup,softskip" in fase di compressione) oppure

siamo in presenza di un materiale-sorgente-dvd un po' progressivo ed un po' interlacciato (quest'ultimo caso puo'

essere trattato o come tutto interlacciato o come tutto progressivo... sta a voi ma il risultato non potra' essere ottimo)

Nota: durante la fase di benchmark mplayer dira' esattamente in che punto del film c'e' stato il cambio in frequenza.

Lo fara' riportando il tempo trascorso in secondi dall'inizio del film. Runnate quindi nuovamente "mplayer MOVIE.vob"

ed andate a vedere se la parte a 30 fotogrammi al secondo si tratta di interlacciamento o telecine.

Bene ragazzi/e... capire con quale materiale-sorgente-dvd abbiamo a che fare e' sicuramente il punto piu' importante

di tutta questa storia. Per questo motivo vi invito ad usare Google per capire quali sono le 

differenze tra un video

telecinato (solo qualche fotogramma risulta essere interlacciato ogni due o tre non interlacciati) ed un video interlacciato

(tutti i fotogrammi sono interlacciati... tipico dei DVD con "Monty Pythons" o il bellissimo "The Muppet Show").

Il terzo passo consiste nell'identificare la lingua voluta (opzione "-aid" in fase di compressione) e l'eventuale 

presenza di

sottotitoli (opzione "-sid" in fase di compressione) in quello che sara' il vostro prodotto finale ovvero il vostro film 

preferito

compresso in formato AVI.

Runnate quindi mplayer in modalita' "verbose" (molto output):

```
mplayer -v MOVIE.vob
```

e fermatelo dopi pochi secondi con la lettera "q".

A questo punto caercate tra il suo precedente output e troverete qualcosa di simile a questo (Harry Potter, The Prizoner of 

Azkaban):

```
### Reading disc structure, please wait...                                    ###

### There are 6 titles on this DVD.                                           ###

### There are 35 chapters in this DVD title.                                  ###

### There are 1 angles in this DVD title.                                     ###

###                                                                           ###

### [open] audio stream: 0 audio format: ac3 (5.1) language: en aid: 128      ### (-aid 128) Mplayer option

### [open] audio stream: 1 audio format: ac3 (5.1) language: it aid: 129      ### (-aid 129)   LANGUAGES

### [open] audio stream: 2 audio format: ac3 (5.1) language: iw aid: 130      ### (-aid 130)

### [open] number of audio channels on disk: 3.                               ###

### [open] subtitle ( sid ): 0 language: en                                   ### (-sid 0)

### [open] subtitle ( sid ): 1 language: it                                   ### (-sid 1)   Mplayer option

### [open] subtitle ( sid ): 2 language: iw                                   ### (-sid 2)     SUBTITLES

### [open] subtitle ( sid ): 3 language: it                                   ### (-sid 3)

### [open] subtitle ( sid ): 4 language: it                                   ### (-sid 4)
```

Il quarto passo consiste nell'identificare l'area di cropping. Tale step e' utilissimo perche' ci permette di 

eliminare le omnipresenti

"bande nere" dal nostro prodotto finale.

Ricordate ora una cosa: bene accettare i valori che ci fornira' mplayer altrimenti e' meglio che andate a leggervi il suo 

manuale

in quanto la faccenda e' tutt'altro che semplice. Se proprio volete "tunare" l'area di cropping allora non utilizzate mai 

numeri

dispari ne' per lo shif (orizzontale e verticale) ne' per le dimensioni (altezza e lunghezza) del rettangolo di crop. 

Nel caso poi siate

in presenza di materiale-sorgente-dvd interlacciato dovete sempre andare per multipli di 4.

```
mplayer -vf cropdetect MOVIE.vob
```

Nota: i valori forniti da mplayer risulteranno corretti non appena trovera' una scena abbastanza luminosa!

Vietato dunque prendere i valori che si ottengono in presenza di scene molto scure come quelle iniziali o finali

dedicate allo scorrimento dei titoli (il valore corretto verra' utilizzato nella fase di compressione utilizzando il filtro

"crop=").

Quello che vedrete sara' dunque un qualcosa simile a questo:

```
### crop area: X: 0..719  Y: 74..501  (-vf crop=720:416:0:80)13.7% 10 0 76% ###

### crop area: X: 0..719  Y: 74..501  (-vf crop=720:416:0:80)13.5% 10 0 76% ###

### crop area: X: 0..719  Y: 74..501  (-vf crop=720:416:0:80)13.5% 10 0 76% ###

### crop area: X: 0..719  Y: 74..501  (-vf crop=720:416:0:80)13.7% 10 0 75% ###

### crop area: X: 0..719  Y: 74..501  (-vf crop=720:416:0:80)13.6% 10 0 74% ###
```

dove i valori per l'area di crop non cambiaranno piu' nel tempo.

Potete controllare che l'area di crop identificata da mplayer sia corretta con uno dei seguenti comandi:

```
mplayer -vf rectangle=720:416:0:80 MOVIE.vob
```

```
mplayer -vf crop=720:416:0:80 MOVIE.vob
```

... carina no questa feature???

Il quinto passo consiste nell'aggiustare il volume audio a proprio piacimento, nello scegliere la frequenza di 

campionamento

video voluta e nel decidere se voler avere un file separato che contenenga uno o piu' sottotitoli del vostro film... che 

"guri" quelli

di mplayer!!!

Nota: il comando che segue prevede gia' una frequeza di campionamento per la parte audio di

ottima qualita' (opzione "vbr=2:q=2").

In particolare modo verra' usato un algoritmo a frequenza di campionamento audio variabile... ovviamente

sentitevi liberi di smanettarci sopra come volete, il manuale di mplayer e' li per quello e mooooolto altro

ancora!

```
mencoder (-ofps 24000/1001 -aid 128) -ss 00:02:00 -endpos 00:03:00 -ovc frameno -o frameno.avi \

-oac mp3lame -lameopts vbr=2:q=2:vol=6 MOVIE.vob
```

Quello che dovete fare ora (prima di decidere la frequenza di campionamento video) e' ascoltare un pezzetto dell traccia

audio per capire se il livello di volume e' sufficientemente elevato.

Beh... nulla di piu' semplice:

```
mplayer frameno.avi
```

Infatti il problema di fondo e' che molti DVDs presentano dei livelli di volume molto bassi. In questo caso, se il risultato 

non vi aggrada,

aumentate o diminuite il valore del parametro "vol=6" e rilanciare il precedente comando di compressione audio.

Quando avrete trovato il valore corretto per il parametro "vol="... beh... sicuramente e' giunta l'ora di decidere quale 

bitrate utilizzare

per il vostro prodotto finale. Rimuovete dunque le due opzioni "-ss 0:120" e "-endpos 60" e rilanciate nuovamente il comando 

precedente

in modo da ottenere i valori corretti per il video bitrate. Infatti se avete usato quelle due opzioni avrete rippato e 

codificato solo 60 secondi

della traccia audio a partire dal secondo minuto di inizio del film.

Ok, senza le opzioni "-ss" e "-endpos" il precedente comando terminera' con un messaggio del genere:

```
### Recommended video bitrate for 650MB CD: 636      ###

### Recommended video bitrate for 700MB CD: 821      ###

### Recommended video bitrate for 800MB CD: 870      ###

### Recommended video bitrate for 2 x 650MB CD: 1321 ###

### Recommended video bitrate for 2 x 700MB CD: 1624 ###

### Recommended video bitrate for 2 x 800MB CD: 1847 ###
```

Non mi dilunghero' piu' di un secondo sulla scelta del valore del video bitrate

da utilizzare, la qualita' che si ottiene con una dimensione del file compresso finale (audio + video) di 1.4 GByte ("2 x 

700MB") e' decisamente

ottima. In questo modo su un normale DVD potrete masterizzare fino a 3 film di ottima fattura. Segnatevi dunque la frequenza 

desiderata...

siamo quasi alla fine!

Se ora volete anche estrarre uno o piu' sottotitoli e memorizzarli "a parte"... seguitemi oppure andate direttamente al 

sesto passo!

Ci siete ancora???... Grandi!!!

Ebbene si ragazzi/e... mplayer ci da anche la possibilita' di accompagnare il nostro prodotto finale (file compresso audio + 

video) con una

ulteriore coppia di file dati che servono per contenere uno o piu' sottotitoli. In questo modo potrete dunque rivedervi il 

vostro film preferito

senza alcun sottotitolo oppure con quello in francese, in inglese etc... bello no???!!!

Infatti se al sesto passo o nella FASE 2 usaste l'opzione "-sid" il sottotitolo da voi selezionato (unico!) 

diventerebbe parte integrante

dell'immagine e quindi videocompresso!... Ve lo "beccherete" sullo schermo ogni volta che andrete a rivedervi il vostro 

film! No way!

Volete dunque estrarre il sottotitolo in italiano ("-sid 1") dal file MOVIE.vob ed inserirlo sotto l'indice 0 del 

file sottotitoli.idx???

```
mencoder -vobsubout sottotitoli -vobsuboutindex 0 -sid 1 -ovc frameno -o frameno.avi -nosound MOVIE.vob
```

... e magari volete pure quello in inglese ("-sid 0")!!!

```
mencoder -vobsubout sottotitoli -vobsuboutindex 1 -sid 0 -ovc frameno -o frameno.avi -nosound MOVIE.vob
```

A posto cosi??? OK!!! Tanto avete capito come si fa per aggiungerene ancora... basta incrementare "-vobsuboutindex " di una 

unita'

e selezionare il sottotitolo successivo con "-sid".

Alla fine vi troverete dunque con due file che dovrete conservare con cura:

sottotitoli.idx che contiene i nuovi indici dei sottotitoli da voi estratti;

sottotitoli.sub che contiene effettivamente i sottotitoli in forma binaria.Evidentemente le frequenze di 

campionamento video che vengono comunque riportate sulla vostra shell non vanno prese in

considerazione in qanto fanno riferimento al caso in cui non vogliate includere nessuna traccia audio nel vostro prodotto 

finale

(l'opzione "-nosound " e' qui infatti utilizzata solo per accelerare la lettura del file MOVIE.vob e relativa 

generazione dei file

sottotitoli.idx e sottotitoli.sub)

Siccome una corretta generazione del file sottotitoli.idx prevedrebbe l'utilizzo di un particolare file presente nel 

dvd che

contiene il vostro materiale sorgente, dobbiamo leggermente modificare il file in questione aggiungendo la segunete linea

di testo all'inizio dello stesso:

```
custom colors: ON, tridx: 1000, colors: 000000, 000000, ffffff, 000000
```

la quale indichera' a mplayer con quali colori renderizzare i sottotitoli in fase di riproduzione (in questo caso 

sottotitoli bianchi con bordo nero).

Se volete una descrizione di quei campi vi invito a fare una ricerca su google... scoprirete cosi' molte altre cose carine 

che si possono

fare modificandone i loro valori.

Il sesto passo consiste nel creare una prima "rudimentale" ANTEPRIMA.avi dei primi 60 secondi del vostro film 

preferito... ma non solo!

Mplayer calcolera' pure, in modo automatico, il corretto fattore di scala che noi applicheremo nella fase di compressione 

utilizzando

il filtro "scale=" (necessario perche' "cropperemo" pure l'immagine... quarto passo ricordate?)

```
mencoder (-ofps 24000/1001 -sid 1) -oac copy -vf (pullup,softskip,)crop=720:416:0:80(,pp=lb) -ovc lavc -lavcopts \

vcodec=mpeg4:vbitrate=1624:autoaspect -endpos 60 -o ANTEPRIMA.avi MOVIE.vob
```

Nota1: la parte audio verra' direttamente copiata dal file framento.avi. Oltre a questo e' utile ricordare che nel 

mio particolare caso,

essendo in presenza di un DVD NTSC con materiale-sorgente-dvd progressivo, ho dovuto utilizzare l'opzione "-ofps 24000/1001" 

e

non il filtro di deinterlacciamento "pp=lb" o di telecine-inverso "pullup,softskip"... ok e' vero, ho introdotto pure i 

sottotitoli in italiano

visto che per l'audio ho preferito l'inglese! Notate pure l'opzione "autoaspect"... e' lei che dice ad mencoder di calcolare 

il corretto fattore

di scala.

Nota2: forse qualcuno di voi si sara' chiesto perche' non sia possibile utilizzare l'opzione "autoaspect" anche 

durante la fase di

compressione finale. La risposta e' molto semplice: si puo' fare... e questo risparmierebbe esattamente questo passaggio di 

calcolo del

fattore di scala... ma il nostro prodotto finale sarebbe visualizzato in modo corretto solo da mplayer e non da windows 

media player & company!

Tempo massimo 1 minuto su un Pentium IV 2.8 GHz e via con la visione dell'anteprima... mi raccomando, sempre occhio 

all'output di mplayer!

```
mplayer ANTEPRIMA.avi
```

Wow... gia' bellissima questa anteprima!!!

Ora guardate anche l'output di mplayer... troverete qualcosa come questo:

```
### VDec: vo config request - 720 x 416 (preferred csp: Planar YV12) ###

### VDec: using Planar YV12 as output csp (no 0)                     ###

### Movie-Aspect is 2.46:1 - prescaling to correct movie aspect.     ###

### VO: [xv] 720x416 => 1024x416 Planar YV12                         ###
```

Eccolo li! Dobbiamo utilizzare il filtro scale in questo modo: "scale=1024:416".

Spero bene che abbiate preso nota su un foglietto di tutte le informazione che vi servono per la prossima ed ultima fase di 

compressione

finale... giusto?

Ricapitolando, quello che ci serve e':

Individuare la natura del materiale-sorgente-dvd (secondo passo)

Dovremo quindi utilizzare una opportuna combinazione di "-ofps 24000/1001", "pp=lb" e "pullup,softskip". Notiamo che di 

algoritmi per

il deinterlacciamento ne esistono abbastanza ed ognuno ha i suoi pro e contro... date un bel "mplayer -pphelp | grep deint" 

e vedrete.

Scegliere la lingua ed eventuali sottotitoli (terzo passo)

Semplicissimo... opzioni "-aid" e "-sid".

Identificare l'area di cropping (quarto passo)

Semplicissimo... filtro "crop=".

Adattare il volume audio, scelta del bitrate video ed eventuali sottotitoli (quinto passo)

Semplicissimo... parametri "vol=" e "vbitrate=".

Ottenere il fattore di scala (sesto passo)

Semplicissimo... filtro "scale=".

Ed eccoci finalmente arrivati alla FASE 2.

Dando per scontato che tutte le informazioni necessarie alla compressione finale del materiale-sorgente-dvd siano nelle 

vostre

mani... procediamo con la rimozione degli unici due file che dovreste avere nella vostra directory:

```
rm -i *
```

... eh eh, meglio che usiate "-i" con "rm *" cosi almeno vi chiedera' di confermare la cancellazione dei files... chissa' in 

che shell

lo lancerete dopo una maratona del genere   :Very Happy:  ... non cancellate dunque gli eventuali file dei sottotitoli (quinto 

passo - FASE 1).

Avete eliminato tutto ovvero i due file "ANTEPRIMA.avi" e "frameno.avi"??? Ok, Ottimo!

Allora, pronti... attenti........ VIA!:

```
mencoder (-ofps 24000/1001 -aid 128 -sid 1) -oac mp3lame -lameopts vbr=2:q=2:vol=6 \

-vf (pullup,softskip,)crop=720:416:0:80,(pp=lb,)scale=1024:416,hqdn3d=2:1:2 -ovc lavc \

-lavcopts vcodec=mpeg4:vbitrate=1662:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:keyint=50:vpass=1 \

-mc 1 -o MOVIE.avi MOVIE.vob && \

mencoder (-ofps 24000/1001 -aid 128 -sid 1) -oac mp3lame -lameopts vbr=2:q=2:vol=6 \

-vf (pullup,softskip,)crop=720:416:0:80,(pp=lb,)scale=1024:416,hqdn3d=2:1:2 -ovc lavc \

-lavcopts vcodec=mpeg4:vbitrate=1662:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:keyint=50:vpass=2 \

-mc 1 -o MOVIE.avi MOVIE.vob
```

Si si!!! Deve stare tutto su una linea di una vostra shell... niente paura... ormai sapete tutto... solo qualche commento 

finale.

Come forse avrete notato quella linea di comando esegue in sequenza due fasi di compressione... esse sono separate dall' 

operatore di and

che in bash diventa "&&". Cio significa che la seconda fase di compressione prendera' luogo se e solo se la prima e' 

terminata con successo.

Le due fasi di compressione sono praticamente identiche tranne per la presenza di un "vpass=1" nella prima e di un "vpass=2" 

nella seconda.

Tale tecnica di compressione viene dunque chiamata " a due passi"... sostanzialmente il primo passo serve per ottenere 

informazioni

di natura statistica dal materiale-sorgente-dvd. Tali informazioni verranno cosi scritte da mencoder nel file di log 

"divx2pass.log" ed utilizzate

sempre da mencoder durante il secondo passaggio. In questo modo, sapendo gia' cosa si sta trovando nelle mani, mencoder 

sara' molto piu'

"bravo" nel fare il suo lavoro la seconda volta.

Tutte le altre opzioni che trovate scritte in quella linea di comando, oltre quelle a noi note, rappresentano parametri di 

ottimizzazione

per la valanga di algoritmi utilizzati nella compressione. Per una loro descrizione vi rimando assolutamente al manuale di 

mplayer dove ne

troverete pure delle altre.... e ben documentate!

Personalmente a me quelle bastano! Provare per credere!

Ok, credo di aver detto tutto... anzi mi manca un'ultima cosa: l'ordine con cui appaiono i filtri dopo l'opzione "-vf" (cha 

sta per video filters)

non e' casuale. Essi costituiscono di fatto una vera e propria catena e per questo motivo esistono alcune regole da dover 

rispettare durante

una loro composizione.

Non e' dunque un caso che l'eventuale filtro di deinterlacciamento si trovi dopo il crop e prima dello scale... come pure i 

due eventuali filtri

per il telecine inverso si trovino in testa alla catena (il pullup deve sempre essere seguito dal softskip! Parola di 

manuale!).

Utilizzando questa ricetta, un film da 90 minuti viene compresso sul mio Pentium IV 2.8 GHz nel giro di 7-8 ore... tempo 

reperimento informazioni escluso.

Per vedere il vostro MOVIE.avi con i sottotitoli in italiano (nel caso aveste generato i relativi files 

sottotitoli.idx e sottotitoli.sub) lanciate mplayer cosi:

```
mplayer -vobsub sottotitoli -vobsubid 0 MOVIE.avi
```

Have a lot of fun guys!!!

### NOTEAPIEDIPAGINA ###

Suggerimenti, ampliamenti, abbellimenti, approfondimenti sono ben accetti.

Ciao ciao.

----------

## mambro

Moltro interessante, complimenti   :Wink: 

----------

## Onip

Inserito direttamente nei Preferiti.

Grazie e Complimenti!!

----------

## lucapost

 :Shocked:   :Shocked:   :Shocked: 

Ne sai veramente a pacchi, complimenti.

----------

## lucapost

Sto provando questa "ricetta", ho un problema.

Arrivo al SECONDO PASSO, lancio e stoppo:

```

lucapost@jarod /mnt/documents/1 $ mplayer -nosound -vo null -benchmark MOVIE.vob

MPlayer dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2007 MPlayer Team

CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-50 (Family: 15, Model: 72, Stepping: 2)

3DNow supported but disabled

3DNowExt supported but disabled

CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1

Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing MOVIE.vob.

MPEG-PS file format detected.

VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  8000.0 kbps (1000.0 kbyte/s)

==========================================================================

Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough

VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)

VDec: using Mpeg PES as output csp (no 0)

Movie-Aspect is undefined - no prescaling applied.

VO: [null] 720x576 => 720x576 Mpeg PES 

Selected video codec: [mpegpes] vfm: mpegpes (MPEG-PES output (.mpg or DXR3/IVTV/DVB card))

==========================================================================

Audio: no sound

Starting playback...

VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)

VDec: using Mpeg PES as output csp (no 0)

Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.

VO: [null] 720x576 => 1024x576 Mpeg PES 

V: 192.1 4798/4798  0%  0%  0.0% 0 0 

Exiting... (Quit)

```

da qui dovrei capire che il dvd Ã¨ tutto telecinato o tutto interlacciato, cioÃ¨ non c'Ã¨ nessun cambio di frequenza, sono quindi nel primo dei tre casi.

A questo punto lancio mplayer:

```
lucapost@jarod /mnt/documents/1 $ mplayer MOVIE.vob

MPlayer dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2007 MPlayer Team

CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-50 (Family: 15, Model: 72, Stepping: 2)

3DNow supported but disabled

3DNowExt supported but disabled

CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1

Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing MOVIE.vob.

MPEG-PS file format detected.

VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  8000.0 kbps (1000.0 kbyte/s)

==========================================================================

Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough

VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)

Could not find matching colorspace - retrying with -vf scale...

Opening video filter: [scale]

The selected video_out device is incompatible with this codec.

Try appending the scale filter to your filter list,

e.g. -vf spp,scale instead of -vf spp.

VDecoder init failed :(

Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b

Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))

==========================================================================

==========================================================================

Opening audio decoder: [liba52] AC3 decoding with liba52

Using SSE optimized IMDCT transform

Using MMX optimized resampler

AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio: 48000->192000)

Selected audio codec: [a52] afm: liba52 (AC3-liba52)

==========================================================================

AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)

Starting playback...

VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)

Could not find matching colorspace - retrying with -vf scale...

Opening video filter: [scale]

VDec: using Planar YV12 as output csp (no 0)

Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.

[swscaler @ 0xc3c550]SwScaler: using unscaled yuv420p -> bgr24 special converter

VO: [gl2] 720x576 => 1024x576 BGR 24-bit 

[gl2] You have OpenGL >= 1.2 capable drivers, GOOD (16bpp and BGR is ok!)

[gl2] antialiasing off

[gl2] bilinear linear

A:2792.0 V:2792.0 A-V:  0.001 ct:  0.185 975/975  9% 18%  2.0% 0 0 

A:2792.3 V:2792.0 A-V:  0.277 ct:  0.186 976/976  9% 18%  4.1% 0 0 

A:2792.6 V:2792.1 A-V:  0.569 ct:  0.186 977/977  9% 18%  4.2% 0 0 

A:2793.0 V:2792.1 A-V:  0.868 ct:  0.185 978/978  9% 18%  4.6% 0 0 

A:2793.3 V:2792.2 A-V:  1.185 ct:  0.187 979/979  9% 18%  6.7% 0 0 

A:2793.7 V:2792.2 A-V:  1.471 ct:  0.186 980/980  9% 18%  6.8% 0 0 

A:2794.0 V:2792.2 A-V:  1.800 ct:  0.189 981/981  9% 18%  6.9% 0 0 

A:2794.4 V:2792.3 A-V:  2.073 ct:  0.188 982/982  9% 18%  7.0% 0 0 

A:2794.7 V:2792.3 A-V:  2.402 ct:  0.190 983/983  9% 18%  7.1% 0 0 

A:2795.0 V:2792.4 A-V:  2.669 ct:  0.188 984/984  9% 18%  8.6% 0 0 

A:2795.4 V:2792.4 A-V:  2.984 ct:  0.188 985/985  9% 18%  8.6% 0 0 

A:2795.7 V:2792.4 A-V:  3.269 ct:  0.187 986/986  9% 18%  8.7% 0 0 

A:2796.1 V:2792.5 A-V:  3.586 ct:  0.187 987/987  9% 18%  8.8% 0 0 

  =====  PAUSE  =====
```

qui perÃ² non arrivo a capire con che tipo di sorgente ho a che fare, c'Ã¨ qualche modo piÃ¹ diretto per capire se il sorgento Ã¨ telecinato od interlacciato?

Grazie.

----------

## quantumwire

 *lucapost wrote:*   

> Sto provando questa "ricetta", ho un problema.
> 
> Arrivo al SECONDO PASSO, lancio e stoppo...

 

In realta' qui non devi stoppare nulla perche' i cambi di frequenza possono avvenire in

qualsiasi punto del film... e se avvengono, te ne accorgi guardando tutto l'output del

comando allo step 2.

Evidentemente tu hai un DVD PAL:

 *Quote:*   

> VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)

 

... ed ora mi sono accorto solo ora che manca un'informazione allo step 2 ovvero se non

c'e' nessun messaggio di cambio di frequenza allora il materiale-sorgente-dvd puo' essere:

* tutto telecinato

* tutto interlacciato

* tutto progressivo

Se sei nell'ultimo caso (quello da me dimenticato) allora in riproduzione te lo becchi quel

famoso 4% piu' veloce rispetto a come e' stato filmato (vedi HowTo).

Per capire in che caso sei capitato, basta che ti guardi un pezzettino di film (possibilmente

dov'e c'e' un po di azione tipo dove uno dei personaggi, ad esempio, sta muovendo le mani

o qualcos'altro un po' velocemente etc...) "frame per frame".

Devi dunque cercare una scena un po' movimentata e premere sulla tua tastira ripetutamente

il tasto "." il quale ti permette di vedere il film un frame per volta.

E' cosi che ti accorgi quale materiale-sorgente-dvd hai di fronte:

* vedi ogni tanto un frame interlacciato? --> tutto telecinato

* vedi tutti i frame interlacciati? --> tutto interlacciato

* vedi tutti i frame non interlacciati? --> tutto progressivo

Dubbi chiariti?

PS: Non puoi evitare di guardare almeno un pezzettino di film "frame by frame" per capire con

quale materiale-sorgente-dvd hai a cha fare in quanto mplayer non ti sa dire se il fotogramma

che ti sta mettendo ora sul monitor e' interlacciato o meno.

----------

## MeMyselfAndI

Il post e' veramente ben fatto, ma non credo tu abbia pensato che quello che hai postato e' una pratica considerata, almeno per il momento, illegale.

Secondo le leggi di questo forum, che ti ricordo risiede in America ed e' quindi soggetto alle leggi americane, un post del genere andrebbe chiudo e cancellato; anzi non dovrebbe nemmeno essere stato scritto.

Scusa se ti rompo le scatole ma purtroppo finche' non cambieranno le leggi (qualcosa sembra si stia muovendo) ti consiglio di parlare con un admin prima di vederti il post chiuso o cancellato!

Ciao!

----------

## quantumwire

 *MeMyselfAndI wrote:*   

> Il post e' veramente ben fatto, ma non credo tu abbia pensato che quello che hai postato e' una pratica considerata, almeno per il momento, illegale.

 

- copyright aggiunto nelle premesse

Contattero' gli autori e lasciero' loro decidere quale destino attribuire a questo post.

Ciao!

----------

## lucapost

ma...comunque per un'occhio inesperto come il mio riconoscere il tipo di materiale sorgente è un'impresa difficile!

i miei dvd sembrano tutti uguali, anche "frame to frame".

speriamo che qualcuno si inventi un modo per riconoscere il tipo di materiale sorgente...

Ciao e grazie, Luca.

ps: non alzate in troppi le mani!

----------

## quantumwire

Autori contattati.

----------

## quantumwire

 *lucapost wrote:*   

> ma...comunque per un'occhio inesperto come il mio riconoscere il tipo di materiale sorgente ï¿½ un'impresa difficile!
> 
> i miei dvd sembrano tutti uguali, anche "frame to frame"...

 

Allora molto probabilmente sono progressivi.

I frame interlacciati sono riconoscibilissimi in quanto il fotogramma appare evidentemente "seghettato"

piu' o meno sui bordi di ogni singolo oggetto presente nel fotogramma stesso.

La prima immagine sulla sinistra dovrebbe aiutarti parecchio a capire di quale effetto visivo stiamo parlando.

Se non vedi nulla di tutto cio' allora e' tutto non interlacciato.

----------

## lucapost

 *quantumwire wrote:*   

> Allora molto probabilmente sono progressivi.
> 
> 

 

Supponiamo che siano tutti progressivi, quindi, non devo metterci nessuna opzione di quelle tra parentesi in fase di compressione?

----------

## quantumwire

 *lucapost wrote:*   

>  *quantumwire wrote:*   Allora molto probabilmente sono progressivi.
> 
>  
> 
> Supponiamo che siano tutti progressivi, quindi, non devo metterci nessuna opzione di quelle tra parentesi in fase di compressione?

 

Esatto.

PS: Ho dovuto toglierlo, lo ritroverai sul wiki.it appena posso.

----------

## lucapost

e dove chiedo altri chiarimenti?...casomai ti contatto in pm...

----------

## lucapost

Come si suol dire: MINCHIAZZA LA VACCAZZA!!! 

8 ore per comprimere un DVD da 108 minuti, ma la qualità su 1380m è molto buona anche se ogni tanto si vedono delle righe orrizzontali che non so da cosa derivano.

8 ore cmq mi sembra un pò tantino...

----------

## quantumwire

 *lucapost wrote:*   

> Come si suol dire: MINCHIAZZA LA VACCAZZA!!! 
> 
> 8 ore per comprimere un DVD da 108 minuti, ma la qualitï¿½ su 1380m ï¿½ molto buona anche se ogni tanto si vedono delle righe orrizzontali che non so da cosa derivano.
> 
> 8 ore cmq mi sembra un pï¿½ tantino...

 

Righe orizzontali non ce ne devono essere se nel film non ci sono.

Postami l'intero comando che hai usato.

8 ore... certo... mplayer fa tutto due volte in fin dei conti; durante la prima impara e durante la seconda scrive.

----------

## lucapost

ecco a voi il comando:

```
mencoder -aid 129 -oac mp3lame -lameopts vbr=2:q=2:vol=7 -vf crop=720:436:0:74,scale=1024:436,hqdn3d=2:1:2 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1647:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:keyint=50:vpass=1 -mc 1 -o MOVIE.avi MOVIE.vob && mencoder -aid 129 -oac mp3lame -lameopts vbr=2:q=2:vol=7 -vf crop=720:436:0:74,scale=1024:436,hqdn3d=2:1:2 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1647:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:keyint=50:vpass=2 -mc 1 -o MOVIE.avi MOVIE.vob ; sudo halt
```

----------

## quantumwire

 *lucapost wrote:*   

> ecco a voi il comando:...

 

Non fa una piega mi pare quindi le righe che tu vedi non so da cosa dipendono... a meno che non siano presenti pure nel film   :Very Happy: 

Se invece sono righe introdotte dagli algoritmi di compressione e/o da come ti sei compilato gentoo credo tu debba fare un po'

di ricerchine sul gentoo forum e su google.

Controlla pure che il file vob gia' di suo non contenga quelle righe tanto per cominciare...

PS: Io di righe non ne ho mai avute ed uso questa ricetta da 2 anni almeno per un totale di una 50 di film (ovviamente film girati

da mia nonna visto che ha sempre avuto la passione del regista!)

----------

## lavish

Sono stati chiariti gli eventuali problemi legali relativi alla guida con i mod internazionali, i quali ci hanno dato il via libera a rimettere l'howto online   :Very Happy: 

----------

## lucapost

...e bravi moderatori!    :Wink: 

----------

## lucapost

 *lucapost wrote:*   

> ecco a voi il comando:
> 
> ```
> mencoder -aid 129 -oac mp3lame -lameopts vbr=2:q=2:vol=7 -vf crop=720:436:0:74,scale=1024:436,hqdn3d=2:1:2 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1647:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:keyint=50:vpass=1 -mc 1 -o MOVIE.avi MOVIE.vob && mencoder -aid 129 -oac mp3lame -lameopts vbr=2:q=2:vol=7 -vf crop=720:436:0:74,scale=1024:436,hqdn3d=2:1:2 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1647:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:keyint=50:vpass=2 -mc 1 -o MOVIE.avi MOVIE.vob ; sudo halt
> ```
> ...

 

Quasi tutti  i backup dei dvd che ho fatto, li ho lanciati con esattamente questo comando (cambia il crop ed il vbitrate.. ), solo che il mio nuovo lettore LG (non del pc, ma quello collegato al televisore) proprio non arriva a leggere l'.avi generato.

Mi sa che questa tecnica di compressione non è compatibile con il mio lettore, e semplice rimediare in questo verso?

 Mi dispiacerebbe cambiare radicalmente metodo visto che il risulato che si ottiene è molto buono...

----------

## lucapost

forse ho trovato il problema: sembra che il mio lettore dvd supporti il formato divx con una risoluzione massima di 800x600 (è quello che ho letto nel manuale d'istruzioni).

Qualcuno ha qualche buon consiglio per superare questo inghippo? 

...non penso che la soluzione ottimale sia semplicemente abbassare il filtro "scale=" anche mantenendo le proporzioni    :Confused:  , penso infatti che ci vorrebbe qualcosa che mi modifichi a puntino il "vbitrate="...

EDT:

ps: questa guida è fatta veramente bene

----------

## quantumwire

 *lucapost wrote:*   

> Mi dispiacerebbe cambiare radicalmente metodo visto che il risulato che si ottiene ï¿½ molto buono...

 

Non ho mai fatto quello che stai provando a fare tu... se ci riesci, posta posta posta in coda che mi interessa!

----------

## lucapost

 *quantumwire wrote:*   

> 
> 
> Non ho mai fatto quello che stai provando a fare tu... se ci riesci, posta posta posta in coda che mi interessa!

 

Quello che sono riuscito ad ottenere è la compatibilità dei rip eseguiti con mencoder con il mio lettore divx da tavolo!!!

Non si trattava di un problema di risoluzione ma l'opzione da aggiungere per ottenere ciò è "-ffourcc DX50".

manuale on-line di mplayer wrote:

 *Quote:*   

> D:	
> 
> Perché riproduttori di terze parti non riescono a riprodurre filmati MPEG-4 codificati da MEncoder con versione superiore alla 1.0pre7?
> 
> R:	
> ...

 

Voilà!!!

----------

## quantumwire

Ottimo!

----------

## xdarma

My 2¢ sull'uso di mencoder con lavc/mpeg4:

- se avete computer smp potete accelerare la codifica con l'opzione "threads=n" di -lavcopts, dove "n" è il numero di cpu/core che intendete utilizzare;

- nella codifica a più passaggi, il sonoro viene scritto solo con l'ultimo passo, per tutti i precedenti uso "-oac copy" e non specifico parametri per l'audio nelle lavcopts. Si risparmiano pochissimi fps ma sempre meglio di niente;

- contrariamente a transcode, mencoder supporta più di 2 passaggi: se siete in cerca della massima qualità potete "spremere" qualcosa in più. Tanto per fare un esempio questo è il risultato di una prova su un DVD a caso,  con impostato "vbitrate=1000", le opzioni usate erano  "mbd=2:v4mv:trell:vme=4:cmp=3:subcmp=3:mbcmp=3".

```

               bitrate    time     size

single pass  | 1183kbps | 0m26s | 1724kbytes

two pass     |  978kbps | 0m49s | 1473kbytes

three pass   | 1008kbps | 1m15s | 1509kbytes

three pass   | 1018kbps | 1m53s | 1519kbytes - con aggiunta di "last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:vqcomp=0.6"

four pass    | 1002kbps | 1m38s | 1502kbytes

four pass    | 1005kbps | 2m26s | 1504kbytes - con aggiunta di "last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:vqcomp=0.6"

five pass    | 1003kbps | 2m02s | 1503kbytes

six pass     | 1002kbps | 2m22s | 1502kbytes
```

Personalmente ne ho dedotto che:

- al quarto passaggio sostanzialmente sei arrivato dove puoi arrivare;

- conviene fare un passaggio in più, piuttosto che usare opzioni troppo complesse.

Supponiamo di voler fare la codifica del solito MOVIE.vob in 4 passaggi, i comandi grossomodo diventano qualcosa del genere:

pass 1

```
mencoder -o /dev/null -of avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:keyint=24:mbd=2:v4mv:trell:vme=4:cmp=3:subcmp=3:mbcmp=3:threads=2:vpass=1 MOVIE.vob
```

pass 2

```
mencoder -o /dev/null -of avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:keyint=24:mbd=2:v4mv:trell:vme=4:cmp=3:subcmp=3:mbcmp=3:threads=2:vpass=3 MOVIE.vob
```

pass 3

```
mencoder -o /dev/null -of avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:keyint=24:mbd=2:v4mv:trell:vme=4:cmp=3:subcmp=3:mbcmp=3:threads=2:vpass=3 MOVIE.vob
```

pass 4

```
mencoder -o MOVIE.avi -of avi -oac mp3lame -lameopts vbr=2:q=2 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:keyint=24:mbd=2:v4mv:trell:vme=4:cmp=3:subcmp=3:mbcmp=3:threads=2:vpass=3 -ffourcc XVID MOVIE.vob
```

Nei passi 2,3 e 4 è sempre impostata "vpass=3" ma non è un errore, deve essere così.

I passi 2 e 3 sono identici, quindi se vi bastano 3 passaggi basta eliminare uno dei due.

Se non vi bastano 4 passaggi aggiungetene altri di uguali al 2 o 3 prima dell'ultimo, ma se il materiale di partenza è scadente c'è poco da fare.

Ovviamente IMO  :-)

----------

