Stampa

Audio Italiano su film Inglese MKV

Home TheatreCapita spesso di scaricare un film in Italiano, con la qualità dell'audio ottima, magari codificato in 5.1 canali perfetto per il nuovo home theatre, e di ritrovarsi con un video di scarsa qualità. Scaricandolo invece in lingua originale il video è perfetto. Emerge quasi automaticamente la volontà di vedere e sentire bene allo stesso tempo. Per questo ora andrò a spiegare come mixare le due cose, creando un file di tipo MKV.

Il formato MKV

Il formato matroska (la cui estensione è mkv) è una sorta di contenitore, al cui interno possono essere presenti diversi elementi: traccie video, tracce audio, sottotitoli, file per la suddivisione in capitoli.

Questo particolare contenitore, dunque, ci permette di avere un file con più lingue audio al suo interno (o più sottotitoli), oppure ancora diverse tracce video, rimanendo però un unico file.

Cosa faremo

Partiamo da questa situazione:

  • file AVI in lingua Italiana codificata in 5.1 ma con scarsa qualità video
  • file MP4 in lingua Inglese stereo, con buona qualità video
  • sottotitoli in formato SRT in Inglese e Svedese

Il nostro obbiettivo è quello di avere un unico file, chiamato film.mkv al cui interno possiamo trovare due lingue (Italiano e Inglese) ed eventualmente i sottotitoli in Inglese.

Il film che ho usato per le prove è One For The Money, che consiglio a tutti Risatona .

Requisiti

Per questo progetto dobbiamo installare

  • FFMPEG
  • Audacity
  • MkvToolNix

Gli ultimi due sono dentro il repository ufficiali di Ubuntu, mentre FFMPEG è stato rimosso dai repo ufficiali da Ubuntu 14.04. Per installare tutto quanto, i comandi necessari sono:

sudo add-apt-repository ppa:jon-severinsson/ffmpeg

sudo apt-get update

sudo apt-get install ffmpeg mkvtoolnix-gui audacity

Estrarre gli audio e il video

Posizionarsi nella cartella dove sono presenti entrambi i film (per comodità sono stati rinominati in italiano.avi e inglese.mp4).

Il seguente comando ci permette di vedere i dettagli di un file.

ffmpeg -i italiano.avi

Notiamo che un file è diviso in due flussi (stream): l'audio e il video. Allora andiamo a isolare uno dei flussi con il comando

ffmpeg -i italiano.avi -map 0:1 -acodec copy audio_ita.ac3

ffmpeg -i inglese.mp4 -map 0:1 -acodec copy audio_eng.aac

ffmpeg -i inglese.mp4 -map 0:0 -vdocec copy video.mp4

Come vedete l'opzione -map ci permette di selezionare il flusso corretto da estrarre. Questo vi potrebbe servire nel caso in cui, ad esempio, uno dei file abbia già più lingue (per esempio Inglese e Giapponese).

Allineare le tracce audio

Fin qui, niente di difficile. Adesso arriva il bello!

Fino ad ora abbiamo presuposto che semplicemente inserendo l'audio nel video, la cosa funzionasse e basta. Peccato che potrebbero esserci delle differenze di lunghezza tra i due filmati. Nella migliore delle ipotesi i due audio sono perfettamente identici (ad eccezione della lingua ovviamente) ma sono traslati di qualche millisecondo (o addirittura qualche minuto).

Per capirlo, bisogna inserire entrambi i file in audacity. Premetto che manipolare un file audio della durata di un ora e mezza circa, è pesante. Ma è il miglior modo per avere un risultato ottimale. Attenzione però: bisogna avere parecchio spazio libero: Audacity crea dei file temporanei enormi, specie per durate di questo genere: per 500MB di un file audio, ha occupato circa 10GB con file temporanei!! Se non avete spazio nella vostra root, cambiate la cartella temporanea di Audacity all'interno della vostra home. La configurazione si trova in Modifica -> Preferenze -> Cartelle.

Ora bisogna trovare nel film un suono secco, o improvviso (io ho usato uno sparo, in una scena dove non c'era musica, oppure si può usare un urlo, o simili). Trovarlo sia nella lingua inglese, che in quella italiana, e capire quanta differenza di tempo c'è tra i due file.

Selezionate dall'inizio del suono nella traccia inglese, all'inizio del suono nella traccia italiana. Quindi guardate i timecode in basso. Con una semplice calcolatrice calcolate la differenza tra l'inizio e la fine, e il gioco è fatto.

Solo se la differenza è superiore ai 2 secondi consiglio di tagliare (o allungare) la traccia italiana in modo che coincidano.

Tagliare o allungare la traccia (solo se la differenza è superiore a 2 secondi)

In quel caso, modificate sempre la traccia che NON era insieme al video in origine. Adesso avete due possibilità:

  • l'audio italiano è DOPO l'audio inglese --> taglia l'audio all'inizio in modo che coincidano
  • l'audio italiano è PRIMA dell'audio inglese --> inserisci un silenzio all'inizio.

Per inserire il silenzio basta posizionare il cursore all'inizio, selezionare le 6 tracce italiane andare su Genera -> Silenzio e inserire la durata (che deve essere uguale alla differenza)

Nel caso in cui, invece, doveste tagliare, posizionare il cursore circa all'inizio. Ora andando in basso, selezionare il timecode di inizio e portarlo esattamente a 0:0:0.000 con tutte le cifre, mentre la fine della selezione deve essere la differenza di tempo tra una lingua e l'altra (quella calcolata prima). Una volta selezionato, tagliare la traccia con il pulsante Taglia.

Unire i file e creare un MKV

In Inglese questa operazione si chiama mux. (work in progress)

Fonti

Estrarre audio AC3 in 5.1 con ffmpeg

MKV in Wikipedia

Aggiungi commento


Codice di sicurezza
Aggiorna