Créer des fichiers MP4 selon la norme ISO MPEG-4 avec le son AAC

Comme vous l’avez sûrement déjà entendu, 2002 sera peut-être l’année lors de laquelle des lecteurs individuels capables de lire des fichiers DivX verront le jour.  En fait, ils concerneront plutôt les fichiers répondant à la norme ISO MPEG-4 tels que les DivX 5.x ou XviD (et toutes les autres versions qui s’y ajouteront… Apple et son Quicktime 6 par exemple). Le codec audio officiel pour le MPEG-4 est le AAC : Advanced Audio Coding (encodage audio avancé).  Comme pour le MPEG-4 video, il est fortement protégé par brevets (licence d’utilisation) et il est à peu près impossible d’obtenir un encodeur gratuit. Par contre, à l’exemple du MP3 et du MPEG-4 video, il existe de nombreux projets éducatifs disponibles gratuitement pour lesquels il est possible de trouver sur Internet des exécutables pré-compilés.

L’organisation MPEG4IP travaille depuis quelque temps sur une version gratuite d’outils MPEG-4 fonctionnant sur diverses plates-formes.  Ces outils permettent notamment la création de fichiers MP4, l’encodage video en MPEG-4, l’encodage audio en AAC, la lecture de fichiers MP4 et plusieurs autres possibilités.  Des versions gratuites d’encodeurs et de décodeurs AAC se trouvent sur la page Audiocoding.com. Ces outils sont de type open-source mais la qualité reste encore à être améliorée. Actuellement, l’encodeur AAC PsyTEL est considéré comme celui donnant les meilleurs résultats.

En ce moment, je considère donc la procédure décrite ici plutôt comme un aperçu des choses à venir et je suggère que seules les personnes désirant consacrer (et probablement perdre…) du temps à essayer de nouvelles méthodes tentent de créer des fichiers MP4.  PsyTEL possède un outil d’encodage MPEG-4 qui leur est propre et qui permet d’encoder l’audio en AAC, la video en MPEG-4 ISO et la création du fichier MP4, le tout à travers une belle interface (GUI) mais à ce que je sache, il se peut qu’il ne soit pas distribué gratuitement donc il ne sera pas abordé dans ce guide. Il est bien sûr à prévoir que lorsque les lecteurs et autres matériels MPEG-4 seront disponibles la panoplie d’outils d’encodage augmentera. Et si vous êtes un habitué du format Ogg Media depuis le début vous savez déjà qu’il ne suffit pas de grand chose pour qu’un format prenne une place. Quand j’ai écrit le premier guide OGM la séparation des fichiers était particulièrement difficile, l’édition impossible et le multi-canaux n’était pas supporté. Voyez où nous en sommes aujourd’hui….

Vous aurez besoin des logiciels suivants pour ce guide :

PsyTEL AACEnc
AACMachine, BeSweet et BeSplit
MP4UI ou MPEG4IP tools
codec 3ivX ou décodeur DS mpegable

Prenez note que les outils MPEG4IP proviennent de compilations indépendantes et n’ont pas été publiés par MPEG4IP. Ces exécutables sont destinés à un usage éducatif uniquement.

Etape 0 : Installation

Un petit conseil… placez BeSweet et AACM dans le même répertoire.

Etape 1: Encodage vidéo

Premièrement vous devez créer un fichier AVI dénué de son. J'ai testé avec XviD et DivX5, mais d'autres codecs MPEG-4 peuvent être utilisés. Notez que les outils de création MP4 requièrent que vous changiez l'identifiant de codec si vous n'utilisez pas les codecs mentionnés plus haut. Dans ce cas, utilisez AVIC pour ouvrir votre fichier AVI et paramétrez le fourCC comme suit :

Etape 2: Encodage audio

AACMachine permet une transformation AC3 en AAC et supporte même les AAC en format 5.1 donc pourquoi utiliser quoi que ce soit d’autre ? Si vous préférez en rester au MP3, vous devriez déjà avoir un fichier approprié en suivant le guide cité ci-dessus. Ou suivez simplement le guide AC3 vers MP3. Si vous possédez Nero vous voudrez peut-être utiliser BeSweet / HeadAC3he pour décoder l'AC3 en WAV, et encoder le WAV en AAC en utilisant le plugin AAC de Nero qui devrait être de meilleure qualité (les développeurs de l'encodeur AAC utilisé dans AACMachine (psytel's aac_enc) travaillent maintenant pour Nero).

Etape 3: Multiplexage

MP4UI est une version graphique du programme MPEG4IP mpeg4creator, mais il n'a pas été mis à jour depuis un moment donc c'est peut-être plus sûr d'utiliser la version en ligne de commande des outils MP4. Au démarrage pressez la bouton Open et entrez le nom de votre fichier MP4. Verifiez que vous prennez un nom qui n'existe pas encore. Le programme vous dira que ce fichier n'existe pas et vous demandera si vous voulez en créer un. Répondez Yes.

À ce point vous aurez un fichier MP4 vide :

Maintenant pressez le bouton Add. Sélectionnez en premier votre fichier AAC ou MP3. Puis ajoutez les fichiers audio additionnels si vous en avez.

Enfin, pressez Add encore une fois pour ajouter votre fichier vidéo. Si MP4UI refuse votre fichier vous avez sûrement oublié de changer le code fourCC.

Notez qu'il est important d'ajouter l'audio avant la vidéo, autrement le fichier sera écrit mais ne sera pas relu correctement.

Voici un example d'un fichier MP4 complet :

Quand vous essayez d'aller sur un autre onglet ou de sortir du programme, on vous demandera si vous voulez optimiser le fichier MP4. Répondez yes à nouveau.

C'est tout pour le multiplexage. Si vous préférez, vous pouvez utiliser la version en ligne de commande des outils MPEG4IP. Cette méthode est décrite ci-dessous. Si vous avez utilisé MP4UI, vous avez déjà fini.

Multiplexage manuel

Jusqu'ici nous n'avons eu que l'outil en ligne de commande pour cette opération. Le programme actuel est appelé mp3creator (mp4creator60.exe). Lancez une invte de commande (Démarrer - Exécuter - command (Win9x/ME) ou cms (WinNT, W2K & WinXP) et tapez mp4creator60 pour avoir une liste des options.

Je suggère que vous mettiez le créateur et tous vos fichiers d'entrée au même endroit afin que vous lignes de commande soient plus courtes. (NDT : N'oubliez pas que sous NT, la complétion de commande est accessible via la touche TAB. Elle est activée par défaut sous WinXP ; pour NT et 2K il faut l'activer à la main dans le registre).

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

mettra le fichier vidéo ap2.avi, ayant un débit d'images de 23.976ips, dans un fichier appelé temp.mp4. Puis ajoutez le flux audio :

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

Alors le fichier temp.mp4 contiendra à la fois l'audio et la vidéo.

Etape 4: Lecture

Démarrez WMP4Player (aucune relation avec le Media Player de Windows appelé aussi WMP) et ouvrez le fichier MP4 et c’est tout. Les opérations de lecture de base sont présentes et je suis convaincu que des programmes de lectures plus avancés verront le jour dans le futur. J'ai essayé de lire mon fichier MP4 à l’aide de DivX Player 2.0 alpha mais ceci n’a pas fonctionné.

Si vous avez installé 3viX ou le décodeur DS mpegable cous pouvez lire vos fichiers directement dans le Windows Media Player (notez qu'avec ce dernier il n'est pas possible de faire d'avance/retour rapide). Faites juste un clic droit sur le fichier MP4, et sélectionnez Ouvrir avec. Puis sélectionnez Windows Media Player (ou votre lecteur préféré) depuis la liste et cliquez OK. Si vous préférez tout le temps ouvrir les fichiers MP4 avec le même lecteur cochez Toujours utiliser le programme sélectionné pour ouvrir ce type de fichier.

Alternativement, le lecteur mpegable peut gérer les fichiers MP4, DivX Playa 2 (inclut dans les paquetages DivX5) les gère aussi (mais sans le support AAC), QuickTime 6.2, Philips' Platform 4 player and EnvivioTV peuvent aussi gérer les fichiers MP4 (incluant l'audio AAC). Notez que lors de l'utilisation du QuickTime player devez laisser mp4creator changer l'entête MPEG-2 ADTS du AAC en MPEG-4.

Le mot de la fin

Est-ce que ces fichiers mp4 pourront éventuellement être lus sur des lecteurs individuels ? Ils le devraient puisque la version MPEG4IP est à peu de chose près la référence de ces outils mais tout ceci reste à confirmer. Par ailleurs, il n’existe pas d’utilitaire d’édition (coupure, etc.) pour le moment donc vous devrez par exemple trouver un point de coupure audio et video avant le multiplexage final. Je suggère que vous découpiez vos fichiers avec VirtualDub, puis découpiez l'audio avec un outil comme BeSplit à la même position que vous avez découpé le fichier vidéo, puis multiplexiez ensembles les fichiers découpés audio et vidéo.

Pour finir, j’ai obtenu les informations essentielles à propos de cette procédure sur cette page :

http://www.wsu.edu/~benp/trailers.htm, Hydrogenaudio et sur mon forum. Un grand merci aussi à everwicked qui m’a fourni les exécutables des utilitaires MPEG4IP qui sont maintenant disponibles sur la page de téléchargement des logiciels.

 


Traduction par Librex
MAJ le 08/01/2004 par DonHora

Last update : 09/07/02
Dernière mise à jour : 22/01/04