Oui, je sais, j'ai pompé lamentablement le titre sur le très complet tuto de micjul http://forum.ripp-it.com/sujet_t15910.htm . Mais comme je voudrais traiter du même sujet (uniquement le coté vidéo), je me suis permis cet emprunt... Cela dit, contrairement à micjul, je n'ai pas l'intention de montrer comment utiliser RIAM, mais uniquement montrer une stratégie pour obtenir un divx de qualitéS (aspect visuel, temps d'encodage, taille de fichier final).
Dans la création d'un divx, la configuration de votre logiciel d'encodage doit tenir compte des contraintes que votre vie vous impose, et de certains paramètres que vous devez déterminer.
Les contraintes
On veut réaliser une vidéo de qualité, en tenant compte d'éventuelles contraintes qui seraient la taille du fichier final et/ou du temps de travail pour arriver à créer cette vidéo.
Evidemment, le top serait d'avoir une vidéo de qualité maximale, tenant dans un fichier tout petit, grâce à un calcul instantané ! Mais faut pas rêver, il va falloir ordonner vos contraintes par ordre de priorité.
Quand on fait du bricolage, on sait bien qu'il est préférable de passer du temps pour réaliser un bon travail que l'on pourra "admirer" longtemps (un travail mal fait vous donne toujours des regrets chroniques ). En la matière, seul l'objet matériel final a une valeur. Pour nous, l'objet final est un fichier vidéo, dont on jugera bien évidemment la qualité, mais aussi la taille, et bcp moins le temps mis pour y arriver.
Cela dit, dans ce tuto, je tiendrai compte autant que faire se peut des trois contraintes : qualité de la vidéo, taille finale, temps de travail... car oui, ceux qui désirent encoder rapidement ou sur un petit CD sont en droit d'attendre une "certaine qualité"...
Les paramètres
Nous pouvons agir sur
-- le nombre de passes de l'encodage : les encodages simple-passe ou multi-passes ont chacun leurs intérêts !
-- le (re)cadrage et la résolution de l'image si nécessaire : bien adapter la résolution en fonction de l'utilisation de la vidéo (une résolution diminuée implique une augmentation de la vitesse d'encodage, mais aussi une moindre qualité vidéo après un zoom éventuel...). En cas de doute, conserver la résolution d'origine si ces dimensions sont multiples de 16 (voir http://forum.ripp-it.com/index.php?showtopic=16758&hl= ).
-- le débit vidéo : la question des innocents est << quel bitrate dois-je utiliser ? >> J'essaierai d'y répondre...
-- divers options du codec divx : pour mieux s'adapter aux trois contraintes précédemment citées,
-- la qualité d'encodage de certains passages : génériques d'un film par exemple.
Nous allons voir comment...
Encodage mono-passe qualité
Si vous n'avez pas de contrainte sur la taille du fichier final et que vous cherchez un encodage rapide (sans sacrifier la qualité), cette section est pour vous !
http://forum.ripp-it.com/index.php?showtopic=16407&st=0&gopid=248357&#entry248357
Encodage multi-passes
Passe n°0
Si vous cherchez "le bon" bitrate vidéo pour réaliser votre encodage multi-passes (bitrate suffisant, mais pas trop gourmand), si vous hésitez entre un encodage sur 1 ou 2 CD, cette section est pour vous !
http://forum.ripp-it.com/index.php?showtopic=16407&pid=249764&st=0&#entry249764
Ici, vous trouverez des résultats réels montrant que cette passe n°0 est loin d'être inutile : http://forum.ripp-it.com/index.php?showtopic=16407&pid=250283&st=0&#entry250283
Passe n°1
Que l'on ait réalisé une passe n°0 ou non, comment procéder à la passe n°1 : http://forum.ripp-it.com/index.php?act=ST&f=53&t=16407&st=0#entry253696
Passe n°2 (obligatoire après la passe n°1...)
Une fois la passe n°1 réalisée, ne restez pas "inactif", posez vous cette question : comment optimiser l'ensemble de l'encodage en réduisant la qualité au niveau du générique ?
Réponse ici : http://forum.ripp-it.com/index.php?showtopic=16407&st=0&gopid=256856&#entry256856
Un exemple concret : http://forum.ripp-it.com/index.php?s=&showtopic=16407&view=findpost&p=262768
Passe n°3 (pour les plus exigents !)
Vous avez effectué un encodage divx en plusieurs passes, mais malheureusement des macroblocs gênants apparaîssent lors de la lecture de la vidéo encodée. Que faire ? Cette section http://forum.ripp-it.com/index.php?s=&showtopic=16407&view=findpost&p=261879 est pour vous !
Encodage mono-passe qualité
Objectif : réaliser un encodage rapide, définitif, et de qualité très correcte, mais sans contrainte sur la taille du fichier divx généré ; (cf. http://forum.ripp-it.com/index.php?showtopic=16188&hl= )
En fait, c'est simple : il suffit de réaliser un encodage divx "1 passe basée sur la qualité" !
En fonction de l'utilisation de votre vidéo (ipod, HD, pub sur le web, ...) il faut choisir le bon profil : pour un encodage "normal" d'un DVD, je choisis le profil home theater pour des raisons de compatibilité, mais ce n'est pas une obligation bien sûr. Cela dépend aussi des options que vous voulez valider...
Ensuite on "doit" choisir un niveau d' encodage prédéfini (cela dépend aussi des options que vous voulez valider) : plus le niveau est élevé, meilleure est la qualité de l'encodage, mais plus long sont les calculs ! Le niveau à choisir est donc ici un compremis entre rapidité, qualité, mais aussi taille de fichier final : voir http://forum.ripp-it.com/index.php?showtopic=16230&hl=
Ce que j'ai remarqué sur quelques exemples, c'est que les niveaux 3-5-7-9 donnent les mêmes résultats que 4-6-8-10 (respectivement) en termes de temps de calcul, qualité d'encodage et taille de fichier final !
Par ailleurs, je trouve que le niveau 5 donne une bonne qualité d'encodage pour un temps de calculs raisonnable... à vous de voir...
Pour simplifier, retenons que le niveau d'encodage prédéfini influe principalement sur le temps d'encodage (et sur la taille du fichier généré pour les niveaux rapides 0,1,2).
Enfin, il y a la valeur de quantizer : plus cette valeur est petite, meilleure est la qualité de la vidéo, mais plus grosse est la taille du fichier généré. Sur cet exemple, j'ai choisi 9 : c'est une valeur trop élevée pour obtenir une qualité correcte. Personnellement, pour regarder un film 720x... sur ma tv cathodique 80 cm (en plein écran), je choisis la valeur-qualité 4.5. J'imagine que micjul pour son écran 127 cm prendrait la valeur-qualité 3 (d'ailleurs, s'il veut confirmer ou infirmer... )
Pour simplifier, retenons que la valeur-quantizer influe principalement sur la qualité visuelle de la compression et la taille du fichier généré.
Enfin, si vous avez le codec divx pro, vous avez la possibilité de faire apparaître une fenêtre d'information (fenêtre de retour) durant la compression, histoire de vérifier que tout ce passe bien pendant la compression... Pour cela cliquer sur avancé en bas pour configurer de codec comme cela :
Bon, résumons !
Vous désirez réaliser votre vidéo définitive avec cette unique passe : je vous conseille de choisir un encodage prédéfini de niveau entre 5 et 10 (en fonction du temps de calcul que vous vous accordez) et une valeur-quantizer comprise entre 3 et 6 (en fonction de la qualité que vous recherchez)...
RIAM et l'encodage "1 passe basée sur la qualité"
Riam ne propose pas (pour une prochaine version ? ) d'encoder ainsi. Mais pas de panique !!! Il est possible d'utiliser VirtualDubMod (installé dans le même répertoire que Riam : souvent C:\PROGRA~1\RIPP-I~1\ ) afin de réaliser un tel encodage. Et pour cela, RIAM va nous aider ! En effet, après avoir configurer votre recadrage (et éventuellement le redimensionnement de votre image), il suffit de demander à RIAM d'éditer le script d'encodage :
comme ceci
ou encore comme cela
Il va alors apparaître un listing de ce genre :
Merci Leon1789 pour ces explications ..
Effectivement pour le quantizer je choisis le 3 ... comme tu l'as indiqué, la qualité est meilleure mais la taille un peu plus élevée ..
Encodage multi-passes : passe n°0
Objectifs :
-- connaître le bitrate adéquat pour la qualité vidéo que vous désirez ;
-- estimer le temps de calcul d'un encodage ;
-- verifier que les réglages (recadrage, redimensionnement, filtres, etc.) sont bien pris en compte ;
-- connaitre l'impact d'un filtre sur la compressibilité d'une vidéo et le temps d'encodage ;
En fait, c'est simple : il suffit de réaliser (encore une fois ! ) un petit encodage divx "1 passe basée sur la qualité"...
En fonction de l'utilisation de votre vidéo (ipod, HD, pub sur le web, ...) il faut choisir le bon profil : pour un encodage "normal" d'un DVD, je choisis le profil home theater pour des raisons de compatibilité, mais ce n'est pas une obligation bien sûr. Cela dépend aussi des options que vous voulez valider...
Ensuite on doit choisir un niveau d' encodage prédéfini (cela dépend aussi des options que vous voulez valider) : plus le niveau est élevé, meilleure est la qualité de l'encodage, mais plus long sont les calculs ! Le niveau à choisir est donc ici un compromis entre rapidité, qualité, mais aussi taille de fichier final : voir http://forum.ripp-it.com/index.php?showtopic=16230&hl=
Ce que j'ai remarqué sur quelques exemples, c'est que les niveaux 3-5-7-9 donnent les mêmes résultats que 4-6-8-10 (respectivement) en termes de temps de calcul, qualité d'encodage et taille de fichier final !
Par ailleurs, je trouve que le niveau 5 donne une bonne qualité d'encodage pour un temps de calculs raisonnable... à vous de voir...
Enfin, il y a la valeur de quantizer : plus cette valeur est petite, meilleure est la qualité de la vidéo, mais plus grosse est la taille du fichier généré. Sur cet exemple, j'ai choisi 9 : c'est une valeur trop élevée pour obtenir une qualité correcte. Personnellement, pour regarder un film 720x... sur ma tv cathodique 80 cm (en plein écran), je choisis la valeur-qualité 4.5. Micjul pour son écran 127 cm prendrait la valeur-qualité 3. Attention, encoder un film au format 4/3 avec une valeur quantizer 3 peut se révéler très coûteux en bitrate : de l'ordre de 2000 à 2500 kbps !
Enfin, si vous avez le codec divx pro, vous avez la possibilité de faire apparaître une fenêtre d'information (fenêtre de retour) durant la compression, histoire de vérifier que tout ce passe bien pendant la compression... Pour cela cliquer sur avancé en bas pour configurer de codec comme cela :
Bon, résumons !
Vous désirez réaliser une passe n°0 (= passe rapide préliminaire) de votre encodage multi-passe : je vous conseille de choisir un encodage prédéfini de niveau entre 5 et 10 (en fonction du temps de calcul que vous vous accordez) et une valeur-quantizer comprise entre 3 et 6 (en fonction de la qualité que vous recherchez)...
RIAM et l'encodage "1 passe basée sur la qualité"
Riam ne propose pas (pour une prochaine version ? ) d'encoder ainsi. Mais pas de panique !!! Il est possible d'utiliser VirtualDubMod (installé dans le même répertoire que Riam : souvent C:\PROGRA~1\RIPP-I~1\ ) afin de réaliser un tel encodage. Et pour cela, RIAM va nous aider ! En effet, après avoir configurer votre recadrage (et éventuellement le redimensionnement de votre image), il suffit de demander à RIAM d'éditer le script d'encodage :
comme ceci
ou encore comme cela
Il va alors apparaître un listing de ce genre :
Voici quelques exemples de bitrates observés en fonction de la valeur quantizer et de la résolution (codec divx 6.6.1, encodage prédéfini niveau 5). J'ai compressé avec ce script avs http://forum.ripp-it.com/index.php?showtopic=16372&pid=249593&st=0&#entry249567 .On voit que les bitrates adaptés à la qualité désirée varient
-- de 504 à 2355 kbps pour quantizer=3 ;
-- de 280 à 1316 kbps pour quantizer=5 ;
-- de 200 à 907 kbps pour quantizer=7 ;
Sur ces quelques exemples, on voit donc que ça peut varier facilement d'un facteur 4 ou 5 fois (à quantizer fixé)...Ce n'est donc pas évident de connaître a priori un "bon" bitrate (ni trop faible, ni trop gourmand), sans faire de test de compressibilité !!!
Pour ceux qui croient en l'indice de qualité, on voit que pour une même qualité (quantizer 3), cet indice varie entre 0.07 et 0.46, ce qui montre que cet indice ne vaut pas grand chose.
Star Wars II en résolution 720x304
Encodage multi-passes : passe n°1
Nous voici au stade de la première passe : vous avez probablement en tête le bitrate adéquate auquel vous voulez encoder votre vidéo. (si besoin, voir la passe n°0 : http://forum.ripp-it.com/index.php?showtopic=16407&pid=249764&st=0&#entry249764 )
Si vous ne connaissez pas cette valeur de bitrate, mais que la taille finale du fichier encodé est imposée, alors vous pouvez connaitre le bitrate qu'il faut impérativement utiliser grâce à la petite calculette intégrée au codec DivX :
Vous allez donc pouvoir lancer les calculs... en sachant qu'aucune vidéo ne sera produite après cette passe n°1, mais seulement un fichier d'analyse de la vidéo (images i,p,b , quantité de mouvement, qualité des textures, etc.).
Etant donné que cette passe ne produit pas votre chère vidéo, vous pourriez être tentés de la banaliser, voire de la bacler... Surtout, retenez-vous de le faire ! Cette analyse conditionne en partie le résultat final que vous obtiendrez après la passe n°2 (ou davantage).
Par exemple, le codec propose une "passe n°1 rapide" : si vous choisissez de cette option, sachez que, par exemple le nombre d'images clé (image i) sera très superieur à ce qu'il devrait normalement être. Comme une image clé est très coûteuse en bits, le codec devra se serrer la ceinture sur les autres images (i.e. 95% des images de la vidéo), et par conséquent la qualité finale sera moindre de manière générale. Je vous conseille donc de choisir une passe n°1 normale.
Ce qui suit est valable uniquement pour la version pro (je crois) :
Cela étant, on peut augmenter encore un peu la qualité en quittant les encodages prédéfinis... Voici en images une configuration qui a été très concluante face à des tests numériques (voir http://forum.ripp-it.com/sujet_t16188_s0.htm )
-- mode d'encodage : meilleure qualité, qualité extrême, ou qualité folle ... en fonction du temps de calcul dont vous disposez.
-- choisir un codage bidirectionnel unique consécutif pour la compatibilité avec les platines divx de salon.
-- un seuil d'images clés élevé n'est absolument pas gênant dans le cas d'un encodage sans bandes noires, car d'une part le codec encodera toujours suffisamment d'images clés, et d'autre part cela permet de gagner un peu de bits que le codec redistribuera sur les autres images, en augmentant un peu ainsi la qualité d'ensemble de l'encodage...
Enfin, un dernière configuration nécessaire pour controler les opérations (et avoir la main sur les choses au cas où...) en cliquant sur l'onglet "avancé" en bas à gauche :
Voilà, la configuration du codec divx est terminée, et vous pouvez lancer la première passe !
Lors des calculs, une fenêtre de retour s'ouvrir, permetant de controler le bon déroulement de cette phase.
Encodage multi-passes : passe n°2
Vous vous apprétez à lancer la seconde passe d'encodage... normal, après la première qui ne réalise pas de vidéo (mais uniquement une analyse), il est nécessaire de lancer cette seconde passe.
Mais avant de lancer les calculs, on peut optimiser quelque peu l'encodage "final" ! Cette optimisation consiste à préciser où est le générique (de fin). En effet, très souvent dans les films, le générique (de fin) est un simple fond noir avec du texte défilant. Or ce texte défilant est assez couteux en données au niveau de l'encodage !!! Et oui, il y a du mouvement sur une bonne partie de l'image...
Or le codec divx ne repère pas le générique et l'encode comme si cela était une scène importante du film, en lui donnant un bon débit. Voilà par exemple la courbe du débit au cours d'un film (j'ai choisi les 20000 dernières images d'un film) :
En jaune le film "normal", et
en rouge la partie générique de fin (images fixes au début du générique, puis texte défilant).
On voit que le débit au niveau du "générique défilant" est assez élevé par rapport au reste du film : sur cet exemple, le débit au niveau du "générique défilant" est de l'ordre de 1000 kbps, et supérieur au niveau moyen du film (que l'on pourrait situer vers les 800 kbps).
Or, ce n'est peut-être pas au niveau du générique qu'on cherche une image parfaite Donc il semble naturel de vouloir ponctionner un peu de bitrate au niveau du générique (de fin) pour le redonner sur l'ensemble du film, le but étant d'améliorer ainsi les "vraies" scènes difficiles dans le film. C'est une technique intéressante car le générique peut représenter 10% d'un film... On peut faire des économies substantielles sur la partie générique et améliorer de manière appréciable la partie principale du film.
Ce que je propose c'est tout simplement de limiter un peu la qualité d'encodage dans le générique pour que le codec, tout seul, réalise un meilleur encodage des scènes difficiles. Comment faire cela ?
1er temps
Il faut commencer par repérer le numéro de l'image commançant le début du générique. Ceci est aisé grace à ri4m par exemple (ou VirtualDub-Mod plus précis, je trouve). Dans la partie prévisualisation, on peut simplement voir cette première image de générique et son numéro :
1 En bas, positionnez le curseur au début du générique
2 En haut, cliquez sur Capture
3 A droite, lisez le numéro de l'image qui début le générique (ici 155874).
Enfin, vous quittez ri4m.
2nd temps (un peu plus technique !)
Pendant la passe n°1, le codec divx a créé un fichier map.log . Ce fichier contient l'analyse de votre vidéo. On trouve ce fichier dans le répertoire de travail de divx. Il s'agit du répertoire figurant ici :
Sur cet exemple, il s'agit du répertoire c:\program files\Ripp-it_AM\dlls
Le fichier map.log est un ficheir ascii que l'on peut éditer sans aucun risque ! Attention tout de même, il s'agit d'un fichier assez lourd, pouvant atteindre 200 000 lignes (voire davantage pour les très longs films) ! ...donc prenez un éditeur de texte qui supporte le choc
Ce fichier ressemble à ceci :
Encodage multi-passes : passe n°3
Voici enfin la dernière étape de toute cette cuisine (mais quelle saveur au final !!! ). Cette étape n'est en rien impérative, mais elle est parfois bien appréciable. En effet, quand on regarde un encodage, il reste parfois une scène particulièrement mal encodée : par temps de brouillard, cela arrive souvent.
Comment peut-on améliorer la situation (sans changer le débit global de l'encodage) ?
Vous trouverez une réponse utilisant l'utilitaire EKG ici http://forum.ripp-it.com/index.php?showtopic=16311&hl= . Cependant, je vais réexpliquer la marche à suivre pour ceux qui préfèrent utiliser leurs mains.
Après avoir repéré la séquence à améliorer (sa première image et la dernière) à l'aide de VirtualDub par exemple, il suffit d'indiquer au codec d'encoder de manière plus précise la séquence. Je vais décrire comment faire. A titre d'exemple, je vais dire que je veux améliorer la scène entre les images n°400 et n°503.
Pendant les passes n°1 et n°2, le codec divx a créé un fichier map.log . Ce fichier contient l'analyse de votre vidéo. On trouve ce fichier dans le répertoire de travail de divx. Ouvrez ce fichier avec un éditeur de texte. Cela ressemble à
Rien que sur celui là c'est probant ....
Le fait de pouvoir moduler la quantization (dans le fichier map.log) sur le générique de fin (où le codec encode avec un bitrate trop élevé en général) et/ou sur une scène difficile est, pour moi, un atout considérable de l'encodage multipasse.
Encore un exemple concret de l'intérêt de toucher le champ "modulation" le fichier map.log :
Encodons le film << Le Dernier Samouraï >> (avec Tom Cruise) en deux passes habituelles et regardons la répartition du débit vidéo tout au long du film encodé :
Ci-dessus, le noir représente la quantité de données (octets) utilisée pour encoder les images tout au long de la vidéo.
Que voit-on ? Tout à droite, il y a une grosse tache noire : ce passage est assurément très coûteux en octet, et de loin, c'est même le plus coûteux de tout le film !!!
Mais quel est donc ce passage ? Vous l'avez deviné, c'est le générique de fin ! En résumé, quelques nombres pour vous fixer les idées (les données sont absolument réelles et les calculs réalisés avec un tableur) :
-- en temps (minutes à l'écran), le générique représente environ 8% du film : c'est un générique assez long...
-- en quantité de données (octets sur disque), le générique représente 20% de la vidéo : ça ne vous dérange pas de perdre 20% de votre fichier dans un simple générique ?!
Alors en suivant les modifications du fichier map.log indiquées plus haut ( http://forum.ripp-it.com/index.php?s=&showtopic=16407&view=findpost&p=256856 ), on arrive facilement à diminuer la part du gâteau man-gée par ce gourmand générique !
J'ai réencodé la vidéo en mettant une modulation de 3.5 pour toutes les images consernant le générique de fin, et voici le résultat :
A droite, la quantité de données attribuée au générique a nettement dimunué : elle ne représente maintenant à peine que 5% (et non plus les 20% initiaux), et c'est très bien pour un simple générique. Et bien sûr, les octets qui n'ont pas été donnés au générique ont été attribués aux scènes du film, augmentant ainsi globalement la qualité de l'encodage
PS. Une autre solution pour ne pas perdre le moindre octet dans l'encodage du générique : couper le film et ne pas encoder le générique de fin... Oui mais là, c'est une pratique digne des barbares ! ...hein micjul ?
Lol ... ici je les ais les génériques ...
Et j'aime bien les barbares ....
et en général on m'appelle ah ti là l'im .... dommage ils finissent par bécile
Intéressant ça pour les génériques
oui, je crois que c'est pas mal...
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)