Un SVCD interactif...

par Alynpier - 22/08/02


Rien de fondamentalement nouveau, puisque nous utiliserons des composants déjà décrits ici, mais les nouvelles versions de ceux-ci ont semble-t-il posé des problèmes à certains. Ce sera donc l'occasion de faire le point, tout en constatant la facilité de mise en œuvre de l'ensemble...

Ingrédients :

- quelques fichiers .mov; n'oubliez pas qu'un SVCD "classique" peut contenir environ 35 minutes de video sur un CD-R 700... Tous mes movies sont extraits de montages effectués sur iMovie, exportés en utilisant la fonction vers iDVD.

Remarque importante : il convient de prévoir, au début et à la fin de chaque séquence, qques secondes de noir (disons 2 ou 3) et de faire un fondu au noir en entrée et en sortie. Je ne sais pas exactement à quel moment le phénomène se produit, mais au résultat final, il y a 1 à 2 secondes de "bouffées" au début et à la fin de chaque séquence... alors autant le savoir et y rémédier avant, suivant le fameux principe de base : "Autant mettre le maximum de chances de son côté..."

Ainsi que les dernières versions disponibles de :

- Quicktime Pro (6),
- MediaPipe (0.8.7)
- MissingMpegTools (0.8.8r2)
- VCD Builder (1.0)
- Toast (5.1.4)

Avec ça, nous voilà parés !

Ah oui, j'oubliais... Nous sommes en Mac OS X 10.1.5, et nous avons installé la dernière version des Developper Tools d'Apple, c'est à dire celle d'avril 2002. Sinon... gare !

Première étape : produire les fichiers video mpeg

On utilise donc Mediapipe; dernière version dispo à cette date, la 0.8.7. Bien que d'un abord déroutant, cette application procède d'une logique sans faille.

La meilleure explication "grand public" que j'en aie trouvé est celle de Yoc, sur le forum de son site, Macmpeg; je lui laisse la parole :

<<... voici en gros le principe : imagine un gros tuyau, dans lequel tu mets des filtres les uns à la suite des autres. Tu fais passer de l'eau de mer par l'entrée du tuyau, et suivant les filtres que tu vas appliquer, l'eau va se transformer. Par exemple tu vas mettre un filtre désalanisateur, puis un filtre de minéralisation, puis tu vas ajouter du gaz carbonique, et enfin mettre le tout dans une bouteille en verra ronde. Au final tu obtient de l'eau minérale gazeuse. Tu as donc transformé l'eau de mer en eau gazeuse en bouteille. Pour cela, il est évident que tu ne peux pas désalaniser après avoir minéralisé. Il y a donc un ordre à respecter aux filtres, et des contraintes les uns par rapport aux autres.
Mediapipe, c'est la même chose, mais appliquée aux fichiers vidéo ou audio. Tu appliques au flux vidéo ou audio une série de traitements les uns après les autres.

Tu peux ainsi partir d'un fichier mov codé en DV en 640x480 pour arriver à un fichier avi codé en DivX en 320x240, après une suite logique de pipes que tu auras appliqués.
Donc pour transformer un fichier mov en divx avi :

File Browser : te permet de sélectionner le fichier de départ
QuickTime Decoder : te permet de décoder le fichier mov si QuickTime connait le codec (attention au mpeg 2 par exemple) et de le désenglobé de quicktime. On obtient un flux vidéo brut.
Scale : transforme la taille du fichier
etc...

Tu comprends bien qu'on peut pas appliquer un scale avant d'avoir décodé le fichier par quickTime, car le scale veut de la vidéo brute.

Voilà, j'espère avoir été clair
En tous cas je me suis bien amusé à trouver l'image de la transformation de l'eau...>>

Z'avez compris ?

Bon, allez on se lance. Au démarrage, Mediapipe ne propose qu'un seul choix, qui permet bien évidemment de choisir notre fichier .mov de départ. On sélectionne donc File Browser, puis on clique sur Add (ou on double-clique sur File Browser, cest pareil).

On peut aussi régler dès à présent la destination des fichiers créés. Pour ma part, je crée un dossier sur mon bureau, en lui donnant un nom court, sans espaces ni accents, et en majuscules (autant mettre toutes les chances de son côté...)

Je choisis donc un premier fichier .mov, puis je sélectionne Quicktime Decoder.

Nous avons maintenant un certain nombre de possibilités. Si nos sources sont déjà en PAL, inutile de passer par Frame Rate Changer par exemple, par contre et puisque nous faisons du SVCD, nous passons par la case Scaler et nous indiquons 480 x 576, en décochant la case Low Quality Scaling pour un meilleur rendu.



Passons maintenant à la partie codage : MPEG Encoder bien sûr. Lors du premier lancement, les choses "se mettent en place" (ça dure quelques instants) et on voit apparaître le message MPEG Encoder : Done. C'est prêt, une fenêtre s'ouvre pour nous permetre d'en générer les arguments.

Donc Generate arguments dans lequel on coche SVCD - Pal - 4:3 - 2500. Je laisse coché Use VBR et le curseur à son emplacement par défaut, ainsi que celui de Motion compensation radius. N'ayant qu'un seul processeur (pour l'instant) je ne coche pas dual-cpu, et je laisse également l'option progressive.


La fermeture de la fenêtre renvoie les arguments d'encodage dans les champs ppmtoy4m et mpeg2enc :


Une fois validé, et nos arguments saisis, la fenêtre de Mediapipe doit ressembler à cela.


Un coup sur Start, et c'est parti !!!! Notre fichier .mov va donner naissance à un fichier video mpeg .mpv

Yapluka répéter l'opération avec les autres movies.

Deuxième étape : produire les fichiers audio mpeg

Cette partie est très simple et c'est une opération assez rapide que je réalise en général pendant la phase (plus longue) d'encodage video sous Mediapipe.

Il suffit dans un premier temps d'exporter, à partir de Quicktime Pro, le Son vers Wave de chacun de nos movies.

Note : ne vous laissez pas abuser par le fait qu'il soit indiqué AIFF ou WAV dans la fenêtre de mp2enc. j'ai essayé les deux, et si ça marche bien avec des fichiers .wav, ça ne fonctionne pas avec des fichiers .aiff... en tout cas, pas chez moi.

On lance alors MissingMpegTools 0.8.8r2, et on choisit mp2enc. Pour le SVCD, le bitrate est "libre", l'échantillonnage par contre doit être 44,1 kHz; décocher les 3 cases et nommer le fichier, puis Encode.

Ceci lance le Terminal et encode le fichier.
Il n'y a pas de bar-graph ou autre signe d'activité, tant qu'il ne dit pas qu'il est planté, c'est qu'il travaille...

Mon conseil : une fois l'opération terminée, Quitter le Terminal ! On a résolu quelques problèmes comme ça...

Troisième étape : le multiplexage audio + video

Phase suivante, toujours dans MissingMpegTools, le multiplexage des fichiers audio et video, grâce à mplex. On sélectionne évidemment les fichiers .mpv et .mp2, on coche MPEG 2 SVCD, VBR, on donne un nom au fichier, et Mux



C'est très rapide... n'oubliez pas de quitter le Terminal à chaque fois !

Nous voilà maintenant avec nos fichiers mpeg; on passe à la dernière étape.

Quatrième étape : créer l'interactivité du disque

Là, c'est la frise sur le bateau (la crise sur le cadeau ?) !
VCD Builder va nous permettre d'installer un menu qui s'affichera au démarrage, donnant accès, au choix, à chacune des séquences du disque. Une simple photo peut suffire, on l'aura au préalable juste un peu retouchée, de manière à y faire figurer les choix accessibles, via les touches numériques de la télécommande. Bien évidemment on peut également préparer une petite séquence animée, jouée en boucle... tout est possible !

C'est parti; ici, nous avons un Menu + 5 séquences, ça tombe bien, il y a déjà un modèle tout prêt !

Yaka tirer les fichiers sur les fenêtres prévues - disons qu'il faut à peine une minute - et c'est fini.



Ici, à partir du Menu (réglé en attente indéfinie), l'appui sur l'une des touches 1 à 5 provoque le lancement de la séquence choisie. Tout appui sur Stop renvoie au Menu, tout appui sur Suiv/Précédent... devinez ? Toute séquence terminée renvoie automatiquement à la suivante, etc...
On pourrait également faire retour au Menu à la fin de chaque séquence, décider qu'à la fin de la séquence 4, on revienne au début de la 1ère, etc... tout est possible

Et tellement évident, avec une interface d'une réelle clarté, que c'en est un vrai bonheur (plus de détails sur l'article qui lui est consacré).

Enregistrer le projet est aussi une bonne idée, puisque c'est le titre qui lui sera donné qui servira au disque.

Graver SVCD convertit les fichiers, écrit les images, puis lance Toast; il suffit alors de glisser un CD dans le graveur (j'utilise des CD-RW) et le tour est joué !

A la sortie du graveur, le CD prend place dans le lecteur DVD du salon, pour la seule véritable confirmation valable de ce qui a été fait.

Sur le disque, nous retrouverons dans le dossier que nous avons nommé, les 6 séquences .img qui pourront nous resservir à graver un CD-R définitif. Au format Multipistes CD-ROM XA, et attention, il faut les mettre dans l'ordre !!!