GLM - 17/1/2021 - 8:22


Classifica dei relatori GLM 2014 (per numero di lezioni svolte)

  1. [9] Samuele Cacchiarelli
  2. [6] Andrea Bianchini
  3. [6] Gianluca Gabrielli
  4. [1] Matteo Ciccioli
  5. [1] Fabio Pagnotta
  6. [1] Alessandro Zampa
  7. [1] Emanuele
  8. [1] Roberto Marozzi
  9. [1] Giampiero Rubini

Vuoi diventare relatore GLM? presenta anche tu una lezione su un argomento che più ti piace relativo a Linux o al mondo dell'OpenSource


Archivio news

server glm
Il nostro Server

bella gnocca freebsd
FreeBSD It's Here!

Doppio audio e doppi sottotitoli

Programmi richiesti: MPlayer, Transcode (e dvd:rip)

Se avete già capito come funziona Mplayer/Mencoder troverete Transcode molto più semplice da utilizzare. E' anch'esso un programma "a riga di comando" e per questo molto potente e versatile proprio come Mencoder ma a mio avviso, più chiaro da utilizzare. A suo favore, inoltre, c'è il fatto che esiste già un front-end grafico che ne semplifica notevolmente il suo utilizzo, rendendo l'operazione di conversione da DVD a DivX veramente semplice ed automatica. dvd:rip, questo è il nome del programma, ha d'altra parte, notevoli limitazioni, una fra tutte è che non consente, al momento di effettuare le operazioni di encoding senza aver prima scaricato (o rippato) l'intero contenuto nel dvd sul vostro hard-disk (tale problema ovviamente non si pone se si utilizza transcode direttamente da riga di comando).
In questo articolo mostrerò come grazie all'utilizzo congiunto di transcode (o dvdrip) e mencoder sia possibile creare un divx con più audio e più sottotitoli e come sia poi possibile rivedere il proprio filmato divx scegliendo la lingua e l'eventuale sottotitolo da visualizzare.


E' inutile ricordarvi che la copia di un dvd è ILLEGALE se non si è proprietari dello stesso o se fatta ai fini di una sua distribuzione a terzi; occhio perciò a quello che fate :) e sia ben inteso che tale specie di manuale non vuole essere affatto di incentivazione al perseguimento di finalità illegali.


Anche in questo caso non mi soffermerò a spiegare l'utilizzo specifico del programma utilizzato, ma mostrerò con esempi pratici come ottenere il risultato che ho anticipato. Chi volesse saperne di più sull'utilizzo di transcode, può fare rotta direttamente a questo indirizzo, dove potrà trovare documentazione ed esempi.

Munitevi dunque di programma e relativo manuale ($~man~transcode) e procediamo:

Operazioni preliminari

Per prima cosa occorre conoscere le seguenti informazioni:

Per individuare in quale titolo di trova il film è possibile utilizzare il comando:

$ tcprobe -i /dev/dvd

l'output di tale comando mostrerà quanti titoli sono presenti e di quanti capitoli sono composti i vari titoli.
Riprendendo dall'esempio precedente, il titolo che ci interessa sarà il num.9.

A questo punto vediamo quanti audio e quanti sottotitoli sono presenti in tale titolo con il comando:

$ tcprobe -i /dev/dvd -T 9,1

-T 9,1 con questa opzione indichiamo il titolo ("9") ed il capitolo ("1") da cui vogliamo estrarre le informazioni.
otterremo come output qualcosa simile a quanto segue:

[....]import frame size: -g 720x576 [720x576] aspect ratio: 16:9 (*)
frame rate: -f 25.000 [25.000] frc=3 PTS=1048.9000, frame_time=40 ms, bitrate=8000 kbps
audio track: -a 0 [it] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] PTS=1048.8120, bitrate=448 kbps
audio track: -a 1 [en] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] PTS=1048.8120, bitrate=448 kbps
audio track: -a 2 [it] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] PTS=1048.8440, bitrate=224 kbps
audio track: -a 3 [en] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] PTS=1048.8440, bitrate=192 kbps
[....]

In cui possiamo vedere che vi sono esattamente 4 canali audio (2 in italiano e " in inglese) qual'è la dimensione originale del frame e quale il suo aspetto (16:9 ovvero 1.78:1)

Codifica primo passaggio

Tale operazione può essere fatta direttamente e con facilità utilizzando dvd:rip, ma occorrerà disporre di notevole spazio sul hard-disk. dvd:rip infatti permette di effettuare tutte le operazioni di RESIZING, CROPPING e deinterlacciamento viste nella prima parte di questo articolo, con estrema facilità, mostrando direttamente una preview del risultato che andremo ad ottenere.

Chi invece preferisce fare tutto a mano ;) dia direttamente il comando di transcode con le opzioni appropriate.

SUGGERIMENTO:

Se volete unire la facilità d'uso di dvd:rip con la versatilità di transcode da riga di comando, potete seguire questa procedura per ottenere con facilità il comando esatto da utilizzare:

Avviate dvd:rip.
Fategli leggere le informazioni preliminari sul dvd.
Quindi selezionate e rippate sul vostro hard-disk soltanto un capitolo.
Foto1

Fate i dovuti aggiustamenti richiesti dal programma e cliccate pure su "transcode" per fargli iniziare il processo di encoding.
Foto2, Foto3

Annullate pure l'operazione ed andate a cercare tra i log del programma, la riga contenente il comando transcode. Nel nostro caso, Foto4 la riga che contiene il comando transcode è la seguente:

Sun Oct 6 05:18:07 2002 Executing command: transcode -i /spare/dvdrip/kpax/vob/009-C003 -a 3 -w 696,250,100 -b 96,0,0 -V -f 25 -Y 46,0,42,0 -B 27,10,8 -x vob -o /spare/dvdrip/kpax/avi/009/kpax-009-C003.avi -y xvidcvs

Estrapoliamo dalla riga il comando transcode con tutte le sue opzioni

transcode -i /spare/dvdrip/kpax/vob/009-C003 -a 3 -w 696,250,100 -b 96,0,0 -V -f 25 -Y 46,0,42,0 -B 27,10,8 -x vob -o /spare/dvdrip/kpax/avi/009/kpax-009-C003.avi -y xvidcvs

NOTA: tutto il comando deve stare su una riga

e modifichiamolo nel seguente modo:

Mettiamo al posto di

-i /spare/dvdrip/kpax/vob/009-C003

direttamente il device che corrisponde al nostro lettore dvd (/dev/dvd/) e l'indicazione del titolo e dei capitoli da considerare ovvero:

-i /dev/dvd -T 9,-1

dove -T 9,-1
indica il 9° titolo e tutti i capitoli in esso presenti ("-1")

e mettiamo al posto di

-o /spare/dvdrip/kpax/avi/009/kpax-009-C003.avi

il nome che vogliamo dare al file avi che stiamo creando.

-o kpax.avi

Aggiungiamo poi, se non presente, l'opzione "-R" seguita da "1" se vogliamo suddividere questa operazione in 2 passaggi al fine di ottimizzare al meglio il risultato. In tale caso occorrerà poi ripetere, al termine dell'operazione, lo stesso comando modificando
"-R1" in "-R2".

Ecco alla fine il comando che avremo ottenuto senza dover fare alcun calcolo "manuale"

transcode -i /dev/dvd -T 9,-1 -v -a 0 -w 1400,250,100
-b 128,0,0 -V -f 25 -Y 46,0,42,0 -B 27,10,8 -x dvd
-o kpax.avi -y xvidcvs -R1

Precede: Codifica a 2
o 3 passaggi

Segue: .... e doppi sottotitoli secondo passaggio