Creazione di file MP4 in standard ISO MPEG-4 con audio AAC

Stanno uscendo adesso i primi lettori DVD in grado di riprodurre i file MP4. A differenza di quanto pensavo, supportano sia gli AVI con audio MP3 che con audio AC3, mentre il cosiddetto "MPEG4 ufficiale" non è stato preso in grande considerazione. Qualche giorno fa APPLE ha annunciato il suo nuovo player portatile Ipod e un portale internet su cui acquistare musica online. Il formato audio scelto è l'AAC che, essendo supportato dall'Ipod, ha ancora possibilità di decollare. Ma finché l'industria non si appoggerà su uno standard definitivo per la riproduzione MPEG-4 sui lettori da tavolo, il formato MP4 rimarrà più oggetto di sperimentazioni che vero strumento di lavoro. Al contrario, il formato MPEG-4 video è disponibile in DivX5, XviD, 3ivX, mpegable and QuickTime. AAC ancora non lo è. Comunque, gli strumenti che illustro qui gestiscono anche il normale MP3, quindi non siete limitati ad uno specifico formato.

L'organizzazione MPEG4IP ha lavorato molto tempo in ottica di software libero multipiattaforma per l'implementazione degli strumenti MPEG-4. Essi dispongono di strumenti per creare flussi MP4, codificare video aderenti allo standard MPEG-4, codificare audio AAC, riprodurre file MP4 e molto altro. Le implementazioni libere di codificatori AAC sono reperibili su Audiocoding.com. Anche questi strumenti sono "open source", tuttavia la qualità potrebbe migliorare. Attualmente, il codificatore AAC della PsyTEL è ritenuto quello che offre la migliore qualità.

In termini di riproduzione ci sono state alcune migliorie da quando ho scritto la prima versione di questa guida. Ci sono riproduttori nuovi in grado di leggere file MP4, tra i quali si evidenzia QuickTime, ma anche il player DivX (con alcuni limiti, esso supporta solo i file DivX e non supporta l'audio AAC), il mpegable Player e, non ultimo, sia  mpegable che 3ivX hanno rilasciato i loro "Codecs" che consentono di riprodurre file MP4 con audio AAC nel vostro player preferito. L'unica limitazione nella riproduzione AAC è che non esistono ancora soluzioni per riprodurre in 5.1 canali.

Avete bisogno del seguente software per questa guida:

PsyTEL AACEnc
AACMachine, BeSweet  e BeSplit
MP4UI o MPEG4IP tools
3ivX codec o mpegable DS decoder

Vi prego di notare che gli strumenti MPEG4IP sono compilazioni autonome e non sono state rilasciate dal gruppo MPEG4IP. Pertanto, vanno ritenute versioni eseguibili a scopo di studio/test.

Passo 0: Installazione

Un suggerimento... mettete BeSweet, AACMachine e BeSplit nella stessa cartella.

Passo 1: Codifica video

Prima di tutto occorre creare un file AVI senza audio. Ho provato XviD e DivX5, ma possono essere anche usati altri codec MPEG-4. Notate che lo strumento di creazione di file MP4 richiede che sostituiate l'identificatore (codec identifier) se non state utilizzando i codec indicati sopra. In tal caso, utilizzate AVIC per aprire il vostro file AVI e impostate fourCC come segue:

Passo 2: Codifica audio

La AACMachine vi permette la transcodifica diretta da AC3 ad AAC e supporta anche il formato 5.1, per cui perché utilizzare altro? Se preferite utilizzare l'MP3, dovrete già averlo preparato quando seguite le indicazioni che vi ho dato sopra. Oppure seguite la AC3 to MP3 guide (=Guida per convertire AC3 in MP3). Se avete Nero potreste usare BeSweet / HeadAC3he per decodificare l'AC3 in un WAV, quindi codificare il WAV in AAC tramite il plugin AAC di Nero, che dovrebbe essere di qualità migliore (gli sviluppatori del codificatore AAC usato nella AACMachine della Psytels ora lavorano per Nero - cioè per la Ahead Software, n.d.t.).

Passo 3: Multiplexaggio

MP4UI è la versione grafica di mpeg4creator del gruppo MPEG4IP, ma purtroppo non è stato aggiornato per un po', per cui potrebbe essere più affidabile l'uso della versione a riga di comando inclusa negli strumenti MP4. All'avvio, cliccate sul pulsante "Open" (=Apri) e il nome del vostro file MP4. Accertatevi di usare un nome non già esistente. Il programma vi dirà che il file non esiste e chiederà se crearlo: Rispondete con YES.

Ora avete un file MP4 vuoto:

Cliccate su "Add" (=aggiungi). Selezionate il file contenente audio AAC o MP3 desiderato. Quindi eventuali altri, se ne avete.

Infine, cliccate ancora "Add" e aggiungete il vostro file video. Se MP4UI si rifiuta, molto probabilmente avete dimenticato di cambiare il codice in fourCC.

Notate che è importante aggiungere l'audio PRIMA del video, altrimenti il file elaborato non sarà riprodotto correttamente.



Ecco un esempio di file MP4 completato:

Quando proverete a cliccare su un'altra linguetta o tentate di uscire, il programma vi chiederà di ottimizzare il file MP4: rispondete di nuovo "YES".

E questo è tutto per il multiplexaggio. Se preferite, potete anche usare la versioen a riga di comando di tutti gli strumenti MPEG4IP. Il metodo è descritto qui di seguito. Se avete invece usato MP4UI, avete finito.

Multiplexaggio manuale

Al momento disponiamo solo di una versione a riga di comando per quest'operazione. Il nome del programma è mp4creator (mp4creator60.exe). Aprite un "Prompt dei Comandi" (Avvio - Esegui - Prompt di MS-DOS(Win9x/ME) o Prompt Comandi (WinNT, W2K & WinXP)) e digitate mp4creator60 per avere la lista delle opzioni.

Vi suggerisco di inserire il programma e tutti i file di input nella stessa cartella, in modo che le vostre righe di comando siano più corte. Prima di tutto inserite il video in un flusso MP4:

mp4creator60 -c=ap2.avi -H -rate=23.976 temp.mp4

questo inserirà il file video ap2.avi, che ha un framerate di 23.976fps in un file chiamato temp.mp4. Quindi aggiungete il flusso audio:

mp4creator60 -c=audio.aac -H -I -rate=23.976 -optimize temp.mp4

A questo punto, il file temp.mp4 conterrà sia l'audio che il video.

Passo 4: Riproduzione

Se avete installato 3ivX o mpegable DS decoder potete riprodurre i file direttamente in Windows Media Player (notate che con questo programma non si può andare avanti veloce / indietro veloce). Dovete solo cliccare il file MP4 e scegliere con cosa aprirlo. Scegliete Windows Media Player (o il vostro preferito) dalla lista e cliccate su OK. Se preferite che sia sempre lo stesso programma ad aprire i file MP4, non dimenticate di mettere la spunta su "Usa sempre questo programma".

In alternativa, il mpegable Player può gestire file MP4, DivX Playa 2 (compreso nei pacchetti DivX5) pure lo fa (ma senza supporto AAC), QuickTime 6.2, Philips' Platform 4 player e il player EnvivioTV della Envivio possono leggere file MP4 (compreso l'audio AAC). Attenzione al fatto che, quando usate il player QuickTime, dovete consentire a mp4creator di cambiare l'header (=intestazione) ADTS MPEG-2 del file AAC in MPEG-4.

Pensieri

Questi file MP4 saranno eventualmente riproducibili su apparecchi da tavolo? Dovrebbero, in quanto l'implementazione del gruppo MPEG4IP è un sostanziale riferimento in materia, ma solo il tempo potrà dirlo. Inoltre, al momento non esistono programmi di editing (taglio, ecc.), pertanto dovrete svolgere queste operazioni per conto vostro PRIMA di procedere al multiplexaggio. Vi suggerirei di suddividere i file video con VirtualDub, quindi dividere l'audio con strumenti come BeSplit nella stessa posizione in cui suddividete il file video, quindi multiplexare i file audio e video già divisi.

Non ultimo, ho avuto alcune informazioni importanti su come procedere da queste pagine: http://www.wsu.edu/~benp/trailers.htm, Hydrogenaudio e sul mio forum. Grazie anche a DeXT che ha fornito i file binari compilati delle utility MPEG4IP.

Documento aggiornato il 7 Maggio2003.

Tradotto "on the fly" da Mark il 9 Maggio 2003.