Les Archives des Forums du Repaire
Forum MPEG, DVD, SVCD...

Discussion : SVCD, VirtualDub et compagnie
Author : Michel LP
Posted : 20-Jun-2000 16:52:50
Bonsoir à tous, et surtout à Monique à laquelle je dis : ne te décourages pas !

En réponse à vos questions, voiçi quelques réflexions personnelles sur le SVCD.

Je vous dis tout de suite que je n'ai pas encore réalisé moi-meme de SVCD, et ce qui suit est la synthèse de ce que j'ai lu et compris sur ce sujet à partir de documentation pour la plupart citées dans ce forum et de tests succints.

le trop fameux 480*576 :

C'est l'unique format vidéo accepté pour faire un SVCD pour nous qui le lirons en PAL.

Certains d'entre vous semblent confondre encore le format d'affichage analogique (dans le rapport 4/3 pour cet exemple) et la résolution d'une vidéo numérique.

Quand on numérise (par échantillonage) une source analogique (caméscope ou télé) tout se passe comme si on plaquait sur chaque image une grille.
Chaque maille de cette grille donnera un pixel.

La première chose qui vient à l'esprit, c'est de faire une grille avec des mailles carrées, le rapport entre le nombre de mailles horizontales et le nombre de mailles verticales sera le meme que celui de la largeur sur la hauteur de l'image.
On aura des "pixels carrés" .
Exemple pour le format 4/3 : la résolution 768*576

Dans les autres cas on a affaire à des "pixels rectangulaires", plus ou moins :
720*576, 704*576, 480*576, etc....

Le DV lui-meme est fabriqué dès l'origine en pixels légèrement rectangulaires (720*576)

Il va sans dire que la notion pixel rectangulaire n'existe pas sur nos micros : tous les pixels y sont carrés par définition.

Aussi l'affichage sera-t-il déformé, plus ou moins, s'il n'est pas recalculé pour lui rendre ses proportions d'origine : 4/3

Les logiciels que nous utilisons font cela avec plus ou moins de bonheur, en dégradant plus ou moins la qualité, pour afficher le résultat sur l'écran du PC.
De meme les logiciels de montage savent, ou non, gérer ces formats non 4/3 (720*576, 704*576, 480*576, etc) dans le calcul des transitions.
Si c'est non, la transition horloge, par exemple, tournera irrégulièrement.

Mais fondamentalement, l'image numérique de base est stockée déformée et amincie (miracle, on a tous maigris !)

Pour regarder nos oeuvres au final on repasse en analogique (moniteur ou télé).

Dans le processus inverse, numérique vers analogique, tout se passe comme si on mettait devant chacun des pixels de l'image numérique, une sorte de prisme qui étale en largeur ces pixels de manière à reconstituer au final le format 4/3.

J'ai peut-être razé ceux qui savent cela, mais c'est important pour comprendre la suite.

Ces circuits (hard ou soft) qui font ces conversion analogique/numérique et numérique/analogique sont d'un fonctionnement simple et le plus souvent bien au point.

C'est une toute autre question que de redimmensionner une image en changeant sa résolution numérique, et vous comprennez bien que si le passage d'un format à l'autre "ne tombe pas juste" il va falloir "faire quelque-chose".

Je ne rentrerais pas dans les détails : ceux qui on manipulé simplement Paint Shop Pro, savent que ces méthodes de redimensionnement portent des noms savants et surtout prennent du temps de calcul.
Le résultat est souvent moins bon que l'original.

Revenons au SVCD : il est en 480*576, format dans lequel la pluspart d'entre nous ne savent pas faire l'acquisition d'origine. Il faut redimentionner la vidéo en la changeant de résolution.

Nota : sauf si, les drivers de la carte d'acquisition accepte, à l'aide de VirtualDub, de choisir le fameux 480*576. (les drivers Matrox, dont je suis équipé, ne le permettent pas)

Les logiciels de montage d'un coté, et ceux de conversion MPEG, de l'autre, soit ne le permettent pas, soit ne sont pas optimisés pour cela.

Le vénérable Jukka Aho y a pensé, et Avery l'as fait pour nous : c'est VirtualDub.

Ce logiciel remarquable, qui permet en outre les fonctions acquisition et lecture des vidéos, est un complément rèvé des softs de montage. Et c'est un freeware :

http://www.geocities.com/virtualdub/

Je ne l'ai pas encore testé dans tous ses recoins (si c'est possible...), mais je l'ai trouvé très intérressant.

Ce qu'il faut comprendre essentiellemnt, c'est que
pour changer de résolution et passer en 480*576, il va vous falloir aussi changer de codec AVI.
Eh oui, si votre codec (Matrox, Miro, DV, ...) le permettait, vous pourriez faire directement l'acquisition en 480*576.

Donc,

1/ ne partez pas dans des formats 4/3 plus ou moins fantaisistes comme le 720*540. Utilisez ce que votre carte vous permet de mieux en 576 lignes.
Par ex., 704*576 avec les Matrox.

2/ faites votre montage de bout en bout dans ce format et avec votre codec d'origine.
Je n'ai pas vu si VirtualDub traitait le DV en entrée. Si c'est non, dans ce cas là choisissez tout de suite à la création du fichier un autre codec : Indeo Video 5.06 par ex. (à tester)

3/ Suivez les conseils de Jukka Aho dans sa FAQ :
http://www.uwasa.fi/~f76998/video/svcd/faq/
A mon avis il n'est pas nécessaire de d'ajouter, dans un premier temps, des pixels à droite et à gche du format 704*576.
Pour le 768*576, j'ai mal compris l'ajout de 10 pixels de chaque coté. Pour faire du 788 !?

Par contre utiliser l'interpolation "bicubic".
C'est une des options du filtre "resize" de VirtualDub.

4/ utiliser VirtualDub donc pour faire le redimentionnement en 480*576, avec un nouveau codec : Indeo Video 5.06 par ex. (à tester), qui soit accepté en entrée de votre encodeur MPEG-2.

L'utilisation de VirtualDub, pour ce redimentionnement, est assez simple :
- ouvrir le fichier AVI, (file/open)
- Video/compression :
par exemple Indeo video 5.06 avec quality = 80
- Video/filters/Add/resize/ok
mettre la taille 480*576 et filtermode = bicubic
- File/Preview si on veut voir ce que cela donne :
l'affichage ne corrige pas au format 4/3, l'image est amincie, c'est normal.
- File/Save AVI (F7).

5/ faites la conversion AVI >> MPEG-2/profile SVCD
avec l'encodeur de votre choix "qui va bien".

D'après le vénérable Jukka Aho :
- bbmpeg,
- Digigami/MegaPEG,
- Mainconcept/MainActor,
- Tsunami,
- Ligos/GoMotion (via MSP 6.0 ou VS 4.0, en dévérouillant l'option advance, voir mon autre mail)
mais, curieusement, PAS Ligos/LSX.

Bien sûr je ne fais que répeter les conseils, car je n'ai pas testé tout cela.

IMPORTANT : puisqu'on est en 576 lignes, il faut impérativement cocher l'option "désentrelacer", soit au montage, soit (mieux) dans le soft d'encodage.
Je vous dirai dans un autre mail pourquoi c'est mieux dans le soft d'encodage.

Voilà, je vous en dirai plus qd j'aurai fait plus de tests (mais pas avant 15 j. mini : vaccances !)

A vous de jouer !
MLP