Possiedo un Decoder Digitale Terrestre della Dicra, modello DT008PVR, che supporta la registrazione su chiavetta USB – o hard-disk esterno USB – in formato MPEG-2 / MP2.
I DVD hanno un altro formato e, solitamente, me li archivio per comodità in formato MPEG4/mp3 o MPEG4/AC3.
Dato che la chiavetta risulta più comoda dei DVD (sopra ci stanno fino ad 8 film, ma non è una faccenda di capienza, mi piace metterci sopra quello che poi voglio vedere, senza dover armeggiare con pacchi di dischi) ho cercato un modo per convertire in modo decoroso da AVI a MPG.
Inizialmente ho tribolato abbastanza, perchè spesso e volentieri perdevo la sincronizzazione dell’audio o comunque quest’ultimo risultava molto scadente rispetto all’originale.
Facendo prove su prove, ho trovato un comando che, in linea di massima, mi converte piuttosto fedelmente gli AVI:
ffmpeg -threads 2 -i "input_file.avi" -target vcd -vcodec mpeg2video -isync -sameq "output_file.mpg"
E’ richiesta chiaramente la presenza di ffmpeg.
Avevo provato anche con mencoder, ma i risultati erano pessimi; con quest’ultimo mi trovo meglio per manipolare direttamente gli AVI, ad esempio quando devo sistemare un film che ha più lingue, sottotitolato o che ha uno sfasamento dell’audio.
Per risolvere il problema dell’audio – perdita della sincronizzazione audio – io procedo in questo modo:
- Riproduco il video con mplayer e abilito, premendo “o”, la visualizzazione del timer.
- Mi sposto con il tasto freccia (destra) in avanti, per cercare una posizione dove sia presente un evento che genera un suono ben preciso e secco, come ad esempio può essere uno sparo, un’esplosione, qualcosa di simile.
- In base a quando sento il suono e vedo il verificarsi del corrispondente evento, stabilisco i secondi di sfasamento; chiaramente possono essere “positivi” o “negativi”, a seconda se l’audio è rispettivamente avanti o indietro.
- A questo punto faccio ripetere la riproduzione del video, partendo poco prima dell’evento individuato (mi segno il timer, a che punto è) e vado a forzare un anticipo o un ritardo nella riproduzione audio/video con il parametro -delay di mencoder. Ad esempio, se l’evento si verifica dopo 10min e il ritardo sembra essere di circa 5 secondi, provo due comandi di questo tipo:
mplayer -ss 0:10:00 -delay +5.0 Video.avi
mplayer -ss 0:10:00 -delay -5.0 Video.avi
A questo punto, in base al comando che più si avvicina alla situazione sincronizzata, ripeto l’operazione – se necessario – migliorando il valore (ex: -5.3). Individuato il valore, ecco che procedo alla conversione – o meglio, a sincronizzare l’audio – con un comando come questo:
mencoder Video.avi -noskip -forceidx -ovc copy -oac copy -ffourcc DX50 -of avi -audio-delay +5.3 -o Working_Directory/Video.avi
Notare che il “-5.3” è stato trasformato in “+5.3” (dopo il parametro -audio-delay); in pratica bisogna mettere il contrario di ciò che si è individuato con mplayer.
Uso sempre mencoder anche per sistemare il volume dell’audio. Mi capita spesso che alcuni film abbiano l’audio piuttosto basso; in linea di massima mi basta una cosa di questo tipo:
mencoder input_file.avi -noskip -forceidx -ovc copy -oac copy -ffourcc DX50 -of avi -af volnorm=2:0.2 -o output_file.avi
se è solo questione di sistemarlo leggermente “normalizzandolo”, mentre mi devo affidare a questo:
mencoder input_file.avi -noskip -forceidx -ovc copy -oac mp3lame -lameopts vol=2 -ffourcc DX50 -of avi -af volnorm=2:0.2 -o output_file.avi
quando la situazione è più grave e si sente veramente poco (a volte arrivo anche a “vol=3” o “vol=4”, oltre si ha distorsione in genere).
I comandi sopra sono frutto di anni di tribolazioni, sono abbastanza fiducioso che possano aiutare.