I flussi mpeg2

Caratteristiche dei filmati e come ottenerli da files .avi e immagini


I filmati sono composti da flussi in cui sono inserite componenti video, audio, sottotitoli nonchè le informazioni per sincronizzare il tutto.

Un DVD-Video ha la parte di immagini codificata in MPEG2 mentre per quanto riguarda l'audio possiamo scegliere tra RAW o Dolby AC3. Scartato il primo per evidenti problemi di spazio ci resta un’unica scelta.

FFmpeg ci permette di convertire pressoché qualsiasi formato audio/video nella coppia MPEG2/AC3 usando questa semplice riga di comando


ffmpeg -i %1.avi -target dvd %1.mpg

Considerando che il file in entrata è codificato in formato DV (quello utilizzato dalle videocamere digitali a cassetta), il risultato consiste in un flusso descritto da FFmpeg in questo modo:


FFmpeg version SVN-r9079, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl ...
  built on May 20 2007 22:40:19, gcc: 4.2.0
Input #0, avi, from 'foto-gabriele.avi':
  Duration: 00:00:12.0, start: 0.000000, bitrate: 29840 kb/s
  Stream #0.0: Video: dvvideo, yuv420p, 720x576, 25.00 fps(r)
  Stream #0.1: Audio: pcm_s16le, 32000 Hz, stereo, 1024 kb/s
Assuming PAL for target.
Output #0, dvd, to 'foto-gabriele.mpg':
  Stream #0.0: Video: mpeg2video, yuv420p, 720x576, q=2-31, 6000 kb/s, 25.00 fps(c)
  Stream #0.1: Audio: ac3, 48000 Hz, stereo, 448 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
video:9006kB audio:658kB global headers:0kB muxing overhead 2.049522%

Non ci viene detto che l'aspect-ratio è 4:3 e che il video entrato interallacciato è stato reso non interallacciato. Queste cose, che per il momento non ci interessano si possono scoprire utilizzando un tool come GSPOT [10].

Il risultato è apparentemente perfetto, riproducibile dai vari player per PC e dalle unità stand-alone in grado di riprodurre file singoli.

Utilizzabile praticamente ovunque tranne nel mio vecchio SONY del 2001 e... in DvdAuthor!

Quest'ultimo infatti si lamenta della mancanza di alcuni marcatori che servono a gestire l'accesso diretto alle varie porzioni del filmato.

L'unico programma che riesce ad inserire tali marcatori è MPLEX facente parte degli Mjpeg tools e fornito nella distribuzione binaria di DvdAuthor per windows.

Mplex, come il nome lascia intuire, combina assieme vari flussi audio/video (alla bisogna anche più di uno per tipo) e produce un file mpeg. Quindi dobbiamo convertire separatamente l'audio e il video e poi unirli di nuovo insieme in questo modo:


ffmpeg -i %1.avi -target dvd -f ac3 %1.ac3
ffmpeg -i %1.avi -target dvd -f mpeg2video %1.m2v
mplex -f 8 -o %1.mpg %1.ac3 %1.m2v
del %1.ac3
del %1.m2v

Il file .mpg così ottenuto viene gestito correttamente anche da DvdAuthor...

Se possediamo un file già convertito e dobbiamo solo aggiungere i marcatori possiamo utilizzare lo stesso script sostituendo il codec audio e/o video con "copy".

Ad esempio consideriamo un file registrato dal digitale terrestre che ha la parte video già codificata MPEG2 e la parte audio in MPEG1-Layer2.

Ora, benchè i vari player siano tutti in grado di riprodurre audio “mp2” in quanto standard per i videoCD possono non farlo quando il video è codificato in MPEG2 perchè quel tipo di compressione audio non è prevista come standard per i DVD e quindi il filmato risulta muto.

Quindi mentre il video lo possiamo trattare con il codec “copy” (cioè lo teniamo così come lo abbiamo ricevuto) per l’audio facciamo la conversione e poi riuniamo il tutto.


ffmpeg -i %1.mpg -target dvd -f ac3 %1.ac3
ffmpeg -i %1.avi -vcodec copy -f mpeg2video %1.m2v
mplex -f 8 -o %1_dvd.mpg %1.ac3 %1.m2v
del %1.ac3
del %1.m2v

Un'altra necessità è il trasformare una immagine statica in un filmato. Può servirci per realizzare dei titoli ed i menu.

La base di partenza è una immagine di 720x576 pixel che però deve essere ottenuta da una risoluzione di 768x576 in quanto sarà poi riscalata a questa risoluzione dal televisore.

Infatti le immagini digitali dei quadri PAL hanno pixel di forma rettangolare e non quadrata come siamo normalmente abituati a vedere sui PC. Non sarà più così nell'alta definizione dove i pixel sono quadrati.

Con questi comandi si ottiene un video della durata di due secondi:


set name=trapoco
ffmpeg -loop_input -i %name%.jpg -t 2 -vcodec mpeg2video -f mpeg2video -r 25 -b 5M %name%.m2v
f:\programmi\dvdauthor\mplex -f 8 -o %name%.mpg f:\programmi\dvdauthor\silence.ac3 %name%.m2v
del %name%.m2v

Si noti come sia stata aggiunta una traccia audio (inudibile) perchè i vari lettori potrebbero lamentarsi di fronte a video senza audio associato (e viceversa).

Potete scaricare il file "silenzioso" qui.

Inizio pagina
 
Precedente
Sommario
Successivo