Newsgroup: it.comp.software.divx
Titolo: Mencoder

Avendo Virtual Dub Mod in avaria e, tra le altre cose, volendo imparare
un po' ad utilizzare mencoder che sembra essere veramente potente, sto
cercando di fare la copia di alcuni DVD che ho per esercizio (i DVD di
partenza sono un programma della BBC del 1963).
Con la riga di comando:
mencoder -dvd-device g: dvd://4 -o DW_4.avi -oac pcm -ovc copy -alang en
-mc 0
piazzo sul sistema un file che come contenitore è AVI, ma che ha
caratteristiche descritte qui sotto da AVINaptic:
[ Info sul file ]
Nome: DW_4.avi
Data: 13/01/2008 12:40:32
Dimensione: 1,712,810,408 bytes (1633.463 MB)
[ Info generiche ]
Durata: 00:35:39 (2138.96 s)
Tipo di contenitore: AVI OpenDML indexes multi-chunks (*)
Streams totali: 2
Tipo stream n. 0: video
Tipo stream n. 1: audio
Audio streams: 1
ISFT: MEncoder dev-SVN-r19406-3.4.4
JUNK: [= MPlayer junk data! =]
[ Dati rilevanti ]
Risoluzione: 720 x 576
Larghezza: multipla di 16
Altezza: multipla di 32
[ Traccia video ]
FourCC: */*
Risoluzione: 720 x 576
Frame aspect ratio: 5:4 = 1.25
Pixel aspect ratio: 1:1 = 1
Display aspect ratio: 5:4 = 1.25
Framerate: 25 fps
Frames totali: 53474 (33413)
Stream size: 1,300,621,324 bytes
Bitrate: 4864.499846 kbps
Qf: 0.469184
Key frames: 0
Null frames: 0
Min key int: 53475
Max key int: 53475
Key int medio: #undef#
Ritardo: 0 ms
[ Traccia audio ]
Audio tag: 0x1 (PCM)
Bitrate (contenitore): 1536 kbps CBR
Canali (contenitore): 2
Frequenza (contenitore): 48000 Hz
Chunks: 4278
Stream size: 410,683,392 bytes
Ritardo: 0 ms
[ Profile compliancy ]
Profilo da testare: MTK PAL 6000
Risoluzione: Ok
Framerate: Ok
Rapporto generato da AVInaptic (27-10-2007) in data 13 gen 2008, h
13:30:02
Ora passo alla codifica in Xvid a quantizer fisso = 2 e audio mp3 128
kbps CBR con la riga di comando:
mencoder "DW_4.avi" -o "DW_4C.avi" -ovc xvid -xvidencopts fixed_quant=2
-oac mp3lame -lameopts cbr:br=128:mode=1 -mc 0
Fin qui, niente di spaventoso. Tutto normale. Il file in uscita è:
[ Info sul file ]
Nome: DW_4C.avi
Data: 13/01/2008 13:11:54
Dimensione: 532,068,900 bytes (507.42 MB)
[ Info generiche ]
Durata: 00:35:39 (2138.92 s)
Tipo di contenitore: AVI OpenDML
Streams totali: 2
Tipo stream n. 0: video
Tipo stream n. 1: audio
Audio streams: 1
ISFT: MEncoder dev-SVN-r19406-3.4.4
JUNK: [= MPlayer junk data! =]
[ Dati rilevanti ]
Risoluzione: 720 x 576
Larghezza: multipla di 16
Altezza: multipla di 32
[ Traccia video ]
FourCC: XVID/XVID
Risoluzione: 720 x 576
Frame aspect ratio: 5:4 = 1.25
Pixel aspect ratio: 1:1 = 1
Display aspect ratio: 5:4 = 1.25
Vprp aspect ratio: 4:3 = 1.333333
Framerate: 25 fps
Frames totali: 53473
Stream size: 494,393,251 bytes
Bitrate: 1849.132276 kbps
Qf: 0.178349
Key frames: 289 (0; 26; 276; 526; 776; ... 53285)
Null frames: 1 (1)
Min key int: 2
Max key int: 250
Key int medio: 185.027681
Ritardo: 0 ms
[ Traccia audio ]
Audio tag: 0x55 (MP3)
Bitrate (contenitore): 128 kbps CBR
Canali (contenitore): 2
Frequenza (contenitore): 48000 Hz
Chunks: 89121
Stream size: 34,222,464 bytes
Preload: 504 ms
Max A/V diff: 520 ms
Tipo: MPEG-1 Layer III
Chunk-aligned: Sì
Emphasis: none
Mode: joint stereo
Ritardo: 39.9375 ms
[ Info sulla codifica MPEG4 ]
User data: XviD0039
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
[ Profile compliancy ]
Profilo da testare: MTK PAL 6000
Risoluzione: Ok
Framerate: Ok
Avvertenza: Se vuoi un rapporto più completo e preciso clicca su
"Analisi DRF"
Rapporto generato da AVInaptic (27-10-2007) in data 13 gen 2008, h
13:33:00
A questo punto mi sono accorto che il file in uscita era interlacciato e
volevo inserire un filtro di deinterlacciamento. Tramite il programma di
Frank Sinapsi Mjpeg2Divx (che non riesco ad utilizzare per motivi che
non ho capito) ho notato che la miglior cosa sarebbe stata
deinterlacciare con il filtro "linear blend". Ho cercato un po' in giro
su internet le varie possibilità e un sito proponeva semplicemente di
inserire "-deinterlace" nella riga di comando, mentre un altro proponeva
la stringa "-vf pp=lb" in cui lb stava appunto per linear blend. Quindi
ho usato la riga di comando:
mencoder "DW_4.avi" -o "DW_4-vf.avi" -ovc xvid -xvidencopts
fixed_quant=2 -vf pp=lb -oac mp3lame -lameopts cbr:br=128:mode=1 -mc 0
per ricodificare il file di partenza. La cosa che mi ha lasciato un po'
dubbioso è (a parte il fatto di capire se ho scritto una cosa giusta
nella codifica che comunque da un bel risultato) che i due file vengono
fuori di dimensioni decisamente diverse.
[ Info sul file ]
Nome: DW_4-vf.avi
Data: 13/01/2008 13:38:42
Dimensione: 366,919,510 bytes (349.922 MB)
[ Info generiche ]
Durata: 00:35:39 (2138.92 s)
Tipo di contenitore: AVI OpenDML
Streams totali: 2
Tipo stream n. 0: video
Tipo stream n. 1: audio
Audio streams: 1
ISFT: MEncoder dev-SVN-r19406-3.4.4
JUNK: [= MPlayer junk data! =]
[ Dati rilevanti ]
Risoluzione: 720 x 576
Larghezza: multipla di 16
Altezza: multipla di 32
[ Traccia video ]
FourCC: XVID/XVID
Risoluzione: 720 x 576
Frame aspect ratio: 5:4 = 1.25
Pixel aspect ratio: 1:1 = 1
Display aspect ratio: 5:4 = 1.25
Vprp aspect ratio: 4:3 = 1.333333
Framerate: 25 fps
Frames totali: 53473
Stream size: 329,243,959 bytes
Bitrate: 1231.440012 kbps
Qf: 0.118773
Key frames: 291 (0; 26; 276; 526; 776; ... 53285)
Null frames: 1 (1)
Min key int: 1
Max key int: 250
Key int medio: 183.756013
Ritardo: 0 ms
[ Traccia audio ]
Audio tag: 0x55 (MP3)
Bitrate (contenitore): 128 kbps CBR
Canali (contenitore): 2
Frequenza (contenitore): 48000 Hz
Chunks: 89121
Stream size: 34,222,464 bytes
Preload: 504 ms
Max A/V diff: 520 ms
Tipo: MPEG-1 Layer III
Chunk-aligned: Sì
Emphasis: none
Mode: joint stereo
Ritardo: 39.9375 ms
[ Info sulla codifica MPEG4 ]
User data: XviD0039
QPel: No
GMC: No
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
[ Profile compliancy ]
Profilo da testare: MTK PAL 6000
Risoluzione: Ok
Framerate: Ok
Avvertenza: Se vuoi un rapporto più completo e preciso clicca su
"Analisi DRF"
Rapporto generato da AVInaptic (27-10-2007) in data 13 gen 2008, h
13:39:38
Ad una prima occhiata mi sembra che vada tutto bene, però mi chiedevo se
qualcuno di voi potesse confermarmi la cosa.
-- 
Saluti, Kap - 
www.lordkap.it
 - AVINaptic: 
http://fsinapsi.altervista.org
FAQ del newsgroup: 
http://giubbe.altervista.org
Martyrs cannot be silenced. - Commander Riker - Star Trek TNG

 Null frames: 1 (1)
gli autori di mencoder ritengono preferibile introdurre null frames
per i duplicati, a livello di contenitore. Probabilmente pensano che
sia meno dispendioso.
In realta' un codec come xvid si comporta benone con i duplicati,
nel senso che se ne accorge e genera un N-VOP di pochi bit.
Secondo me e' quindi preferibile, in casi come il tuo, aggiungere
il filtro "harddup" alla fine della catena di filtri. In questo
modo mencoder passa il duplicato esplicitamente all'encoder (nel
tuo caso xvid) e quindi l'intero filmato e' codificato
esplicitamente nello stream (questo in genere da' meno problemi
in casi di rimaneggiamenti futuri del filmato).
Quindi potresti modificare il comando come segue:
mencoder "DW_4.avi" -o "DW_4-vf.avi" -ovc xvid -xvidencopts
fixed_quant=2 -vf pp=lb,harddup -oac mp3lame -lameopts cbr:br=128:mode=1
-mc 0
inoltre considera anche quest'altro tipo di deinterlacer:
mencoder "DW_4.avi" -o "DW_4-vf.avi" -ovc xvid -xvidencopts
fixed_quant=2 -vf pp=l5,harddup -oac mp3lame -lameopts cbr:br=128:mode=1
-mc 0
cioe' "l5" al posto di "lb"
l5="FIR lowpass deinterlacer" potrebbe funzionare un po' meglio
di lb in molti casi.
Comunque ce ne sono molti altri, non sarebbe male se tu li provassi
un po' tutti al volo usando mplayer a riga di comando;
e' facile :-)
Se non lo hai ancora fatto ti conviene aggiornare mencoder dalla
pagina ufficiale
ciao
-- 
Home page di Frank: 
http://fsinapsi.altervista.org
Home page di Giubbe e FAQ: 
http://giubbe.altervista.org

 pagina ufficiale
A questo non avevo pensato, ma ho paura che poi debba cambiare le
opzioni per il rip, perché mi pare non si comportasse nello stesso modo.
Comunque proverò.
-- 
Saluti, Kap - 
www.lordkap.it
 - AVINaptic: 
http://fsinapsi.altervista.org
FAQ del newsgroup: 
http://giubbe.altervista.org
Le menti volgari scambiano sempre ciò che è eccezionale per una cosa
importante. - William Ralph Inge

 opzioni per il rip, perché mi pare non si comportasse nello stesso modo.
le opzioni che hai usato dovrebbero essere le stesse nelle varie versioni.
La differenza e' che la versione piu' recente ha librerie piu'
"fresche" :-) (con miglioramenti vari)
Se prendi la mano con mplayer a riga di comando, e' molto veloce
verificare immediatamente a video il risultato delle combinazioni
di filtri... (mi riferisco all'uso da shell tipiche da linux come
"bash", dal prompt ms-dos non saprei...)
Per avere una lista di filtri puoi usare i due comandi:
mplayer -vf help
mplayer -pphelp
Per la documentazione ti rimando alla man page piu' aggiornata, che
trovi anche in formato html


 quello.
per completezza, volevo aggiungere un altro particolare:
oltre a quanto ho scritto in precedenza (componenti DCT orizzontali
anomale dovute alle seghettature) va considerato che i filtri di
interlacciamento del tipo pp=lb fanno perdere un po' dell'informazione
originale (durante il "blending" dei segmenti rilevati come
"movimentati"), quindi in una certa misura la magiore comprimibilita'
dipende anche da questo.
Ah, mi sono dimenticato anche di dirti che vale la pena provare le
GUI di mencoder, tipo "Automen" di Andres :-)
Magari riesci a fare con quello cio' che ti serve, risparmiando
tempo


 mplayer -pphelp
Sto scandagliando queste due opzioni che sembrano interessanti.
-- 
Saluti, Kap - 
www.lordkap.it
 - AVINaptic: 
http://fsinapsi.altervista.org
FAQ del newsgroup: 
http://giubbe.altervista.org
Un ragazzo sarà sempre un ragazzo, e così pure un sacco d'uomini di
mezza età. - Kin Hubbard

 Magari riesci a fare con quello cio' che ti serve, risparmiando tempo
Thanks!
-- 
Saluti, Kap - 
www.lordkap.it
 - AVINaptic: 
http://fsinapsi.altervista.org
FAQ del newsgroup: 
http://giubbe.altervista.org
My girlfriend always laughs during sex - no matter what she's reading.