Pagina 1 di 1

Mencoder

Inviato: dom 28 dic 2008, 17:25
da pino
Ho installato da poco mplayer prelevato da slacky. Per giocare, ho provato a ridurre un dvd in mpeg4 con questo comando, che ho copiato di sana pianta da un esempio trovato non so dove:
"mencoder -o fileoutput -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame /dev/dvd"
La cosa ha in parte funzionato. I problemi sono due, primo l'avi risultante è di un giga e due,
il secondo , più grave, che mi sono ritrovato con l'audio in inglese e senza possibilità di entrare nel menù del film.
Dov'è l'errore ?
Ciao Grazie
Pino-

Re: Mencoder

Inviato: dom 28 dic 2008, 18:00
da 414N
Per prima cosa devi sapere quale titolo codificare.
Un modo per farlo è usare lsdvd che riporta, una volta lanciato, il titolo più lungo presente sul DVD (che quindi, presumibilmente, conterrà il film vero e proprio).
Altrimenti, procedendo a tentativi, te la puoi cavare con mplayer così:

Codice: Seleziona tutto

mplayer dvd://N
dove N corrisponde al titolo da sperimentare. Di solito il titolo contenente il film è il primo, ma potrebbe non essere così. Se il DVD è all'interno di una directory su disco rigido o di un'immagine ISO, per farlo andare devi usare:

Codice: Seleziona tutto

mplayer dvd://N -dvd-device /path/assoluto/della/directory/o/dell'immagine/ISO
dove N è sempre il titolo.
Appena lanci mplayer nella riproduzione di un titolo, dovrebbero comparirti scritte simili a questa:

Codice: Seleziona tutto

Playing dvd://1.
     OPEN: There are 17 titles on this DVD.
     OPEN: There are 40 chapters in this DVD title.
     OPEN: There are 1 angles in this DVD title.
     OPEN: audio stream: 0 format: ac3 (5.1) language: en aid: 128.
     OPEN: audio stream: 1 format: ac3 (stereo) language: en aid: 129.
     OPEN: audio stream: 2 format: ac3 (5.1) language: it aid: 130.
     OPEN: number of audio channels on disk: 3.
     OPEN: subtitle ( sid ): 0 language: en
     OPEN: subtitle ( sid ): 1 language: ar
     OPEN: subtitle ( sid ): 2 language: el
     OPEN: subtitle ( sid ): 3 language: iw
     OPEN: subtitle ( sid ): 4 language: is
     OPEN: subtitle ( sid ): 5 language: it
     OPEN: subtitle ( sid ): 6 language: it
     OPEN: subtitle ( sid ): 7 language: it
     OPEN: number of subtitles on disk: 8
  DEMUXER: MPEG-PS file format detected.
...
A te interessa sapere il codice della traccia audio in italiano. Nell'esempio che ti ho riportato, la riga di interesse è questa:

Codice: Seleziona tutto

OPEN: audio stream: 2 format: ac3 (5.1) language: it aid: 130.
Una volta capito quale traccia audio codificare (nel caso in esame è la 130), puoi codificare il tutto così:

Codice: Seleziona tutto

mencoder -o output.avi -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -aid 130 dvd://1
Se non ricordo male, mi sembra che mencoder non supporti l'opzione -dvd-device che invece mplayer supporta, percui, nel caso volessi lavorare su un DVD al di fuori del percorso standard (/dev/dvd), dovresti farne un dump su file.
Questo lo puoi fare tramite mplayer così:

Codice: Seleziona tutto

mplayer dvd://N -dvd-device /path/assoluto/della/directory/o/dell'immagine/ISO -dumpstream
Il dump viene salvato (dopo un bel po' di tempo) all'interno della directory corrente con nome stream.dump.
Il fatto che ti venga un avi da 1,2 GB è normale. Non hai posto limiti al bitrate video e quindi mencoder ne ha usato quanto voleva.
Per limitarlo, per esempio, a 800 Kb/s:

Codice: Seleziona tutto

mencoder -o output.avi -ovc lavc -lavcopts vcodec=mpeg4,vbitrate=800000 -oac mp3lame -aid 130 dvd://1
Spero di essere stato esaustivo :D
EDIT:
mi sono scordato di citare l'opzione -ffourcc di mencoder. Serve a forzare un certo FOURCC all'interno del filmato di modo che certi lettori stupidi (chi ha detto Windows Media Player? :-' ) non si spaventino prima di provare a leggerlo.
Esempio pratico:

Codice: Seleziona tutto

mencoder -o output.avi -ovc lavc -lavcopts vcodec=mpeg4,vbitrate=800000 -oac mp3lame -aid 130 -ffourcc DIVX dvd://1
In questo modo dovresti ottenere un AVI compatibile con la maggior parte di software (poco furbi) e lettori casalinghi.

Re: Mencoder

Inviato: dom 28 dic 2008, 19:24
da pino
]Spero di essere stato esaustivo[/quote]

Altro che
Ciao Grazie

Re: Mencoder

Inviato: dom 28 dic 2008, 20:56
da Trotto@81
@ 414N Mencoder sfrutta i processori multicore?

Re: Mencoder

Inviato: lun 29 dic 2008, 0:48
da neongen
Trotto@81 ha scritto:@ 414N Mencoder sfrutta i processori multicore?
se il supporto è stato abilitato compilando i codec si
aggiungi l'opzione threads=N con n>=2, alle opzioni del codec.

Re: Mencoder

Inviato: lun 29 dic 2008, 9:03
da Trotto@81
neongen ha scritto:
Trotto@81 ha scritto:@ 414N Mencoder sfrutta i processori multicore?
se il supporto è stato abilitato compilando i codec si
aggiungi l'opzione threads=N con n>=2, alle opzioni del codec.
Puoi spiegarti meglio?
Se io ho un codecs che non supporta i multithreads mencoder sfrutta uan sola cpu?

Re: Mencoder

Inviato: lun 29 dic 2008, 11:32
da neongen
mencoder -o output.avi -ovc lavc -lavcopts vcodec=mpeg4,vbitrate=800000,threads=2 -oac mp3lame -aid 130 dvd://1
Trotto@81 ha scritto: Se io ho un codecs che non supporta i multithreads mencoder sfrutta uan sola cpu?
esatto

Re: Mencoder

Inviato: lun 29 dic 2008, 11:37
da 414N
Dal man di mplayer, riguardo le opzioni della libreria avcodec (opzione lavcopts):

Codice: Seleziona tutto

threads=<1−8>
        Numero massimo di threads da usare (default: 1). Può avere un leggero effetto negativo sulla sti-
        ma del movimento.
Dato che la libreria avcodec la compili o con ffmpeg o con mplayer, credo tu debba passare uno di questi argomenti al configure di ffmpeg:

Codice: Seleziona tutto

--enable-beosthreads     use BeOS threads [default=no]
--enable-os2threads      use OS/2 threads [default=no]
--enable-pthreads        use pthreads [default=no]
--enable-w32threads      use Win32 threads [default=no]
Ovviamente non punterei sull'ultimo :D
Il configure di mplayer dovrebbe rilevare da solo se usare i thread o meno.

Re: Mencoder

Inviato: lun 29 dic 2008, 13:33
da Trotto@81
Quindi dipende solo da mencoder!!
Ottima come cosa, si risparmia un sacco di tempo sicuramente.