Création d'un DIVX de qualitéS
Forum DivX de Ri4m - Encoder et réencoder les videos - DivX - XviD - RV10 - RV9 - VP6 - VP7

Bienvenue invité ( Connexion | Inscription )

> 

 
Reply to this topicStart new topic
leon1789
posté 04/07/2007 20:12
Message #1


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



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 (IMG:http://forum.ripp-it.com/style_emoticons/default/wink.gif) ). 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?showtop...mp;#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?showtop...mp;#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?showtop...mp;#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&...t=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?showtop...mp;#entry256856

Un exemple concret : http://forum.ripp-it.com/index.php?s=&...st&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=&...st&p=261879 est pour vous ! (IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo1.gif)

Ce message a été modifié par leon1789 - 12/03/2008 18:48.
Aller en haut de la page
 
+Citer le message
leon1789
posté 07/07/2007 15:41
Message #2


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



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é" !
Image attachée

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... (IMG:http://forum.ripp-it.com/style_emoticons/default/wink.gif) )
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 :
Image attachée


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 ? (IMG:http://forum.ripp-it.com/style_emoticons/default/wink.gif) ) 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 ! (IMG:http://forum.ripp-it.com/style_emoticons/default/rolleyes.gif) 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
Image attachée

ou encore comme cela
Image attachée

Il va alors apparaître un listing de ce genre :
# **** Ripp-it & AVIsynth 2.5x script **** pass 2+

LoadPlugin("C:\PROGRA~1\RIPP-I~1\dlls\undot.dll")
LoadPlugin("C:\PROGRA~1\RIPP-I~1\dlls\MPEGDecoder.dll")

# Video codec   : DivX
# Video bitrate : 1117526

Source="C:\riam\vobs.lst"
Largeur=720
Hauteur=400
ratio  =1.800000
vratio =1.800000
Crop_g=102
Crop_d=-90
Crop_h=16
Crop_b=-16
Indice=0.230057

Video=MPEGSource(Source)
Video=Undot(Video)
Video=BilinearResize(Video, Largeur, Hauteur)
Video=Crop(Video, crop_g, crop_h, crop_d, crop_b)

Return(Video)

Si vous avez des filtres persos (comme celui-ci http://forum.ripp-it.com/index.php?showtopic=16839&hl= ), n'hésitez pas à les insérer maintenant dans le script bien sûr. (IMG:http://forum.ripp-it.com/style_emoticons/default/wink.gif)

Ensuite, il suffit d'enregistrer ce script quelque part (n'importe où !) sous le nom de Encodage.avs par exemple. Et enfin, on ouvre ce fichier Encodage.avs à l'aide de VirtualDubMod, et on procède à la compilation "1 passe basée sur la qualité" comme il est expliqué dans (les sections II et III de) la page http://forum.ripp-it.com/index.php?showtopic=16372&hl=

Ce message a été modifié par leon1789 - 19/09/2007 17:41.
Aller en haut de la page
 
+Citer le message
micjul
posté 07/07/2007 16:50
Message #3


Producteur
Icône de groupe

Groupe : Super Modérateurs
Messages : 6.326
Inscrit : 19/03/2004
Lieu : Un chouette endroit
Membre no 1.888



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 ..
Aller en haut de la page
 
+Citer le message
leon1789
posté 14/07/2007 14:02
Message #4


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



(micjul @ samedi 07 juillet 2007 à 17:50) *
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 ..

Merci Micjul pour ta réponse (IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo.gif)

Même si vous ne procédez qu'à des encodages habituels en deux passes (ou davantage), vous pouvez connaître facilement la valeur quantizer qui vous convient : il suffit pour cela de regarder après la seconde passe (ou davantage) dans le répertoire de travail du codec DivX. Attention, avec Riam, ce répertoire n'est pas celui que vous avez spécifié au départ, mais c'est le répertoire \programm files\Ripp-it_AM\dlls .
Dans ce répertoire, ouvrez le fichier statistics.xml avec votre navigateur web préféré : vous y verrez le nombre d'images encodées classées par type d'image (I : images clés, P , B ) et par valeur quantizer, comme ceci :

- <statistics>
- <distribution frametype="I">
  <encoded quantizer="1" count="0" />
  <encoded quantizer="2" count="0" />
  <encoded quantizer="3" count="1" />
  <encoded quantizer="4" count="7" />
  <encoded quantizer="5" count="30" />
  <encoded quantizer="6" count="109" />
  <encoded quantizer="7" count="23" />
  <encoded quantizer="8" count="43" />
  <encoded quantizer="9" count="101" />
  <encoded quantizer="10" count="8" />
  <encoded quantizer="11" count="0" />
  <encoded quantizer="12" count="0" />
  <dropped count="0" />
  </distribution>
- <distribution frametype="P">
  <encoded quantizer="1" count="0" />
  <encoded quantizer="2" count="0" />
  <encoded quantizer="3" count="0" />
  <encoded quantizer="4" count="0" />
  <encoded quantizer="5" count="641" />
  <encoded quantizer="6" count="429" />
  <encoded quantizer="7" count="2663" />
  <encoded quantizer="8" count="3683" />
  <encoded quantizer="9" count="820" />
  <encoded quantizer="10" count="0" />
  <encoded quantizer="11" count="0" />
  <encoded quantizer="12" count="0" />
  <dropped count="0" />
  </distribution>
- <distribution frametype="B">
  <encoded quantizer="1" count="0" />
  <encoded quantizer="2" count="0" />
  <encoded quantizer="3" count="0" />
  <encoded quantizer="4" count="0" />
  <encoded quantizer="5" count="44" />
  <encoded quantizer="6" count="221" />
  <encoded quantizer="7" count="1634" />
  <encoded quantizer="8" count="1274" />
  <encoded quantizer="9" count="335" />
  <encoded quantizer="10" count="0" />
  <encoded quantizer="11" count="0" />
  <encoded quantizer="12" count="0" />
  </distribution>
  </statistics>

On peut alors calculer précisément la moyenne des valeurs, mais à vue de nez ça se voit aussi : sur mon exemple ci-dessus, les images B sont les plus nombreuses à quantisation 7 ou 8, idem pour les images P, les images I à 6 ou 9 (!) ... La valeur quantizer tourne donc en moyenne aux alentours de 7,5 sur cet exemple. (IMG:http://forum.ripp-it.com/style_emoticons/default/rolleyes.gif)

Une petite remarque : à partir de la seconde passe d'encodage, plus le nombre de passes augmente, plus l'assiette des valeurs quantizer se rétrécit, pour se centrer autour d'une valeur ad hoc.

Ce message a été modifié par leon1789 - 31/07/2007 20:05.
Aller en haut de la page
 
+Citer le message
leon1789
posté 24/07/2007 14:20
Message #5


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



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 ! (IMG:http://forum.ripp-it.com/style_emoticons/default/wink.gif) ) un petit encodage divx "1 passe basée sur la qualité"...

Image attachée

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 :
Image attachée

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 ? (IMG:http://forum.ripp-it.com/style_emoticons/default/wink.gif) ) 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 ! (IMG:http://forum.ripp-it.com/style_emoticons/default/rolleyes.gif) 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
Image attachée

ou encore comme cela
Image attachée

Il va alors apparaître un listing de ce genre :
# **** Ripp-it & AVIsynth 2.5x script **** pass 2+

LoadPlugin("C:\PROGRA~1\RIPP-I~1\dlls\undot.dll")
LoadPlugin("C:\PROGRA~1\RIPP-I~1\dlls\MPEGDecoder.dll")

# Video codec   : DivX
# Video bitrate : 1117526

Source="C:\riam\vobs.lst"
Largeur=720
Hauteur=400
ratio  =1.800000
vratio =1.800000
Crop_g=102
Crop_d=-90
Crop_h=16
Crop_b=-16
Indice=0.230057

Video=MPEGSource(Source)

Video=SelectRangeEvery(Video, 1500, 150, 675)     # ligne à ajouter pour ne traiter que 10 % de la video

Video=Undot(Video)
Video=BilinearResize(Video, Largeur, Hauteur)
Video=Crop(Video, crop_g, crop_h, crop_d, crop_b)

Return(Video)

Pour faire une simple passe n°0 en encodant seulement 10% de la vidéo, et non un encodage complet, il faut ajouter cette ligne
Video=SelectRangeEvery(Video, 1500, 150, 675)

juste après la premier occurence de Video=MPEGSource(Source) dans le script de Riam (voir ci-dessus).

Ensuite, il suffit d'enregistrer ce script quelque part (n'importe où !) sous le nom de passe_0.avs par exemple. Et enfin, on ouvre ce fichier passe_0.avs à l'aide de VirtualDubMod, et on procède à la compilation "1 passe basée sur la qualité" comme il est expliqué dans (les sections II et III de) la page http://forum.ripp-it.com/index.php?showtopic=16372&hl=

Résultats :

-- une fois cette passe n°0 terminée, un fichier est créé : disons test.avi
-- pour connaître la taille de votre fichier final (taille adaptée en fonction de votre configuration et du film que vous encodez), il suffit de multiplier par 10 la taille du fichier test.avi (et le bitrate du fichier test.avi est le bitrate ad hoc pour votre encodage)
-- le temps d'encodage bi-passe sera 15 à 20 fois plus long que le temps d'encodage de cette passe n°0

Vous êtes maintenant prêts pour la ("vraie") passe n°1 ( http://forum.ripp-it.com/index.php?act=ST&...t=0#entry253696), avec une idée précise du bitrate ad hoc, ni trop bas, ni exagérément élevé... mais qui peut varier, en fonction de vos exigences, entre 300 kbps à plus de 2500 kbps !!! (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)

Ce message a été modifié par leon1789 - 30/10/2007 11:21.
Aller en haut de la page
 
+Citer le message
leon1789
posté 31/07/2007 10:48
Message #6


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



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 ici .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. (IMG:http://forum.ripp-it.com/style_emoticons/default/bof.gif)

Star Wars II en résolution 720x304
quantizer=3 --> bitrate=1082 kbps           (--> 0.20 bit/pixel/image)
quantizer=5 --> bitrate=596 kbps
quantizer=7 --> bitrate=413 kbps

(à vue de nez, le bitrate vaut environ 3767/quantizer^1.14 ...)

Les Visiteurs en résolution 704x304
quantizer=3 --> bitrate=2206 kbps           (--> 0.41 bit/pixel/image)
quantizer=5 --> bitrate=1098 kbps
quantizer=7 --> bitrate=719 kbps

(à vue de nez, le bitrate vaut environ 9421/quantizer^1.33 ...)

The Others en résolution 720x400 (film exceptionnellement compressible)
quantizer=3 --> bitrate=504 kbps           (--> 0.07 bit/pixel/image)
quantizer=5 --> bitrate=280 kbps
quantizer=7 --> bitrate=200 kbps

(à vue de nez, le bitrate vaut environ 1666/quantizer^1.10 ...)

Le projet Blair Witch en résolution 528x384
quantizer=3 --> bitrate=2355 kbps          (--> 0.46 bit/pixel/image)
quantizer=5 --> bitrate=1316 kbps
quantizer=7 --> bitrate=907 kbps

(à vue de nez, le bitrate vaut environ 8110/quantizer^1.13 ...)

Capitaine Flam, (dessin animé) épisodes 1 à 4, en résolution 704x544
quantizer=3 --> bitrate=1410 kbps          (--> 0.15 bit/pixel/image)
quantizer=5 --> bitrate=768 kbps
quantizer=7 --> bitrate=537 kbps

(à vue de nez, le bitrate vaut environ 4919/quantizer^1.14 ...)

Ce message a été modifié par leon1789 - 06/10/2007 22:35.
Aller en haut de la page
 
+Citer le message
leon1789
posté 19/09/2007 17:32
Message #7


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



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?showtop...mp;#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 :
Image attachée

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 ! (IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo1.gif) 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 )
Image attachéeImage attachée
-- 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 :
Image attachée

Voilà, la configuration du codec divx est terminée, et vous pouvez lancer la première passe ! (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)
Lors des calculs, une fenêtre de retour s'ouvrir, permetant de controler le bon déroulement de cette phase.

Ce message a été modifié par leon1789 - 16/05/2008 22:44.
Aller en haut de la page
 
+Citer le message
leon1789
posté 07/11/2007 22:30
Message #8


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



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) :
Image attachée
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 (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif) 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 :
Image attachée
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 :
Image attachée
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 (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)

Ce fichier ressemble à ceci :
##map version    8
nframes    162730
timescale    30000
passes    1
seq    deltaT    type    total_bits    motion_complexity    texture_complexity    modulation
0    0    I    23688    0.000030    0.407400    1.000000
1    1200    P    1136    0.004176    0.000000    1.000000
2    1200    P    1136    0.004176    0.000000    1.000000
3    1200    P    1136    0.004176    0.000000    1.000000
4    1200    P    1136    0.004176    0.000000    1.000000
5    1200    P    1136    0.004176    0.000000    1.000000
6    1200    P    1136    0.004176    0.000000    1.000000
7    1200    P    1136    0.004176    0.000000    1.000000
8    1200    P    1136    0.004176    0.000000    1.000000
9    1200    P    1136    0.004176    0.000000    1.000000
10    1200    P    1136    0.004176    0.000000    1.000000
...

Les premiers nombres sur chaque ligne correspondent aux numéros des images du film.
(au passage, dans ce fichier, il y a plein de choses à comprendre (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif) )

Bon, il faut rechercher la ligne qui correspond à l'image du début du générique. Cela se fait en utilisant la fonction recherche votre éditeur ! Pour l'exemple, il s'agit de 155874 ici :

155870    1200    P    1776    0.004672    0.009125    1.000000
155871    1200    P    4768    0.005575    0.058180    1.000000
155872    1200    P    8168    0.006063    0.116504    1.000000
155873    1200    P    1376    0.004395    0.003304    1.000000
155874    1200    P    2232    0.004687    0.017126    1.000000    <------------ début du générique final
155875    1200    P    3392    0.005245    0.035126    1.000000
155876    1200    P    4320    0.005223    0.051841    1.000000
155877    1200    P    6648    0.005645    0.091449    1.000000
155878    1200    P    3040    0.004968    0.030162    1.000000
155879    1200    P    5728    0.005578    0.075324    1.000000
155880    1200    P    6504    0.005604    0.088967    1.000000


La dernière chose à faire est de modifier, à partir de cette ligne (155874 pour l'exemple), les nombres en fin de ligne (ces nombres désigne la modulation... je ne rentre pas dans les détails).
Pour l'instant, tous les nombres de fin de ligne sont 1.000000 : cela signifie que l'encodage est "normal" pour toutes les images du film.

A partir de la ligne du début de générique, on modifie (à l'aide de la fonction ad hoc de l'éditeur de texte) tous les 1.000000 en 2.000000 (ou 3.000000 pour faire encore plus d'économie !) comme ceci :
155870    1200    P    1776    0.004672    0.009125    1.000000
155871    1200    P    4768    0.005575    0.058180    1.000000
155872    1200    P    8168    0.006063    0.116504    1.000000
155873    1200    P    1376    0.004395    0.003304    1.000000
155874    1200    P    2232    0.004687    0.017126    2.000000
155875    1200    P    3392    0.005245    0.035126    2.000000
155876    1200    P    4320    0.005223    0.051841    2.000000
155877    1200    P    6648    0.005645    0.091449    2.000000
155878    1200    P    3040    0.004968    0.030162    2.000000
155879    1200    P    5728    0.005578    0.075324    2.000000
155880    1200    P    6504    0.005604    0.088967    2.000000

Ne le faites pas à la main, il y en aurait pour des heures !!! Non, il faut laisser l'ordinateur tout faire d'un seul coup : changer tous les 1.000000 en 2.000000, à partir de la bonne ligne.

Enfin, on enregistre les modifications dans le fichier map.log. C'est terminé, ouf ! (IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo1.gif) (...Quand on a l'habitude, tout ceci prend quelques secondes...)

Une fois tout ceci terminé, on peut lancer tranquillement l'encodage de la passe n°2... et souffler un peu (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)

Avec l'optimisation réalisée ci-dessus, la répartition du débit vidéo est modifiée : moins de données pour le générique (de fin) et plus de débit pour les scènes difficiles. Sur mon exemple, ça donne ceci :
Image attachée
En jaune le film "normal", et
en vert 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 moins élevé qu'avant (vers les 700 kbps maintenant), et les scènes couteuses ont récupéré un peu plus de débit... (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)



Edit : vous trouverez un autre exemple ici http://forum.ripp-it.com/index.php?s=&...st&p=262768

Ce message a été modifié par leon1789 - 12/03/2008 18:41.
Aller en haut de la page
 
+Citer le message
leon1789
posté 19/02/2008 16:34
Message #9


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



Encodage multi-passes : passe n°3

Voici enfin la dernière étape de toute cette cuisine (mais quelle saveur au final !!! (IMG:http://forum.ripp-it.com/style_emoticons/default/cling1.gif) ). 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.

Image attachée

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 à

##map version    8
nframes    162730
timescale    30000
passes    2
seq    deltaT    type    total_bits    motion_complexity    texture_complexity    modulation
0    0    I    23688    0.000030    0.407400    1.000000
1    1200    P    1136    0.004176    0.000000    1.000000
2    1200    P    1136    0.004176    0.000000    1.000000
3    1200    P    1136    0.004176    0.000000    1.000000
4    1200    P    1136    0.004176    0.000000    1.000000
5    1200    P    1136    0.004176    0.000000    1.000000
6    1200    P    1136    0.004176    0.000000    1.000000
7    1200    P    1136    0.004176    0.000000    1.000000
8    1200    P    1136    0.004176    0.000000    1.000000
9    1200    P    1136    0.004176    0.000000    1.000000
10    1200    P    1136    0.004176    0.000000    1.000000
...


Les premiers nombres sur chaque ligne correspondent aux numéros des images du film.

Bon, il faut rechercher la ligne qui correspond à la première image de la séquence à corriger. Cela se fait en utilisant la fonction recherche votre éditeur ! Pour l'exemple, il s'agit de l'image 400 ici :

396    3600    P    9608    0.038707    0.308388    1.000000
395    -1200    B    1872    0.008682    0.002336    1.000000
398    3600    P    9384    0.037469    0.317967    1.000000
397    -1200    B    1936    0.008593    0.022195    1.000000
400    3600    P    10520    0.041614    0.375439    1.000000     <----------------- début de la séquence
399    -1200    B    1688    0.007607    0.012850    1.000000
402    3600    P    10096    0.041941    0.365019    1.000000
401    -1200    B    1688    0.007803    0.003271    1.000000
404    3600    P    10896    0.043394    0.525288    1.000000
403    -1200    B    2088    0.009555    0.011448    1.000000
406    3600    P    12592    0.050281    0.597245    1.000000
405    -1200    B    2248    0.010284    0.013083    1.000000
407    2400    P    6848    0.025774    0.433052    1.000000


La seule chose à faire est de modifier, à partir de cette ligne (400 pour l'exemple), les nombres en fin de ligne (ces nombres désigne la modulation... je ne rentre pas dans les détails).
Pour l'instant, tous les nombres de fin de ligne sont 1.000000 : cela signifie que l'encodage est "normal" pour toutes les images du film.

A partir de la ligne du début de la séquence et jusqu'à la ligne correspondant à la dernière image de la séquence, on modifie (à l'aide de la fonction ad hoc de l'éditeur de texte) tous les 1.000000 en 0.500000 (ou 0.300000 pour faire encore plus précis !) comme ceci :

396    3600    P    9552    0.038464    0.378243    1.000000
395    -1200    B    1656    0.008191    0.001168    1.000000
398    3600    P    8688    0.036619    0.336122    1.000000
397    -1200    B    1816    0.008464    0.016262    1.000000
400    3600    P    18296    0.052386    0.343769    0.300000        <---------------------- début
399    -1200    B    4120    0.012499    0.016338    0.300000
402    3600    P    24216    0.058498    0.309463    0.300000
401    -1200    B    4520    0.013700    0.006682    0.300000
...
494    -1200    B    1048    0.005437    0.002152    0.300000
497    3600    P    6576    0.028421    0.216474    0.300000
496    -1200    B    968    0.005011    0.000818    0.300000
498    2400    P    4200    0.018433    0.202427    0.300000
500    2400    P    6752    0.027323    0.205267    0.300000
499    -1200    B    1016    0.004579    0.002152    0.300000
501    2400    P    4000    0.019286    0.150358    0.300000
502    1200    P    6392    0.026942    0.191439    0.300000
503    1200    P    3552    0.015109    0.089652    0.300000   <------------------- fin de la séquence
504    1200    I    28480    0.000037    1.145722    1.000000
506    2400    P    7752    0.034948    0.334372    1.000000
505    -1200    B    1400    0.007532    0.004743    1.000000
508    3600    P    10584    0.045151    0.395851    1.000000

Voilà, le plus "difficile" est fait ! Il ne reste plus qu'à relancer une n-ième passe d'encodage : le codec va tenir compte des nouvelles exigences et la scène sera encoder avec un effort particulier. Sur l'exemple :

Image attachée
La scène se déroule dans le brouillard : c'est normal de ne pas distinguer des belles couleurs. Mais les silhouettes qui apparraissent sont bcp plus nettes que sur la passe précédente... (IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo1.gif) Et tout ceci en gardant globalement le même bitrate pour toute la vidéo. (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)

Allez voir http://forum.ripp-it.com/index.php?showtopic=16311&hl= pour un autre exemple. Vous serez convaincus !

Ce message a été modifié par leon1789 - 19/02/2008 17:18.
Image(s) jointe(s)
Image attachée Image attachée
 
Aller en haut de la page
 
+Citer le message
micjul
posté 19/02/2008 16:54
Message #10


Producteur
Icône de groupe

Groupe : Super Modérateurs
Messages : 6.326
Inscrit : 19/03/2004
Lieu : Un chouette endroit
Membre no 1.888



Rien que sur celui là c'est probant (IMG:http://forum.ripp-it.com/style_emoticons/default/$$$.gif) ....
Aller en haut de la page
 
+Citer le message
leon1789
posté 19/02/2008 17:05
Message #11


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



(IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo1.gif)
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.
Aller en haut de la page
 
+Citer le message
leon1789
posté 12/03/2008 18:40
Message #12


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



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é :
Image attachée
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 ?! (IMG:http://forum.ripp-it.com/style_emoticons/default/mrgreen2.gif)

Alors en suivant les modifications du fichier map.log indiquées plus haut ( http://forum.ripp-it.com/index.php?s=&...st&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 :
Image attachée
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 (IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo.gif)



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 ? (IMG:http://forum.ripp-it.com/style_emoticons/default/an_lof.gif)

Ce message a été modifié par leon1789 - 23/03/2008 14:09.
Aller en haut de la page
 
+Citer le message
micjul
posté 12/03/2008 18:45
Message #13


Producteur
Icône de groupe

Groupe : Super Modérateurs
Messages : 6.326
Inscrit : 19/03/2004
Lieu : Un chouette endroit
Membre no 1.888



Lol ... ici je les ais les génériques (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif) ...
Et j'aime bien les barbares .... (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)
Aller en haut de la page
 
+Citer le message
leon1789
posté 12/03/2008 18:53
Message #14


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



(IMG:http://forum.ripp-it.com/style_emoticons/default/yahoo1.gif)
Aller en haut de la page
 
+Citer le message
micjul
posté 12/03/2008 19:02
Message #15


Producteur
Icône de groupe

Groupe : Super Modérateurs
Messages : 6.326
Inscrit : 19/03/2004
Lieu : Un chouette endroit
Membre no 1.888



et en général on m'appelle ah ti là l'im .... dommage ils finissent par bécile (IMG:http://forum.ripp-it.com/style_emoticons/default/aga.gif)
Aller en haut de la page
 
+Citer le message
rol
posté 23/03/2008 11:45
Message #16


Admin
Icône de groupe

Groupe : Admin
Messages : 32.192
Inscrit : 12/05/2003
Lieu : DivX ou XviD
Membre no 2



Intéressant ça pour les génériques (IMG:http://forum.ripp-it.com/style_emoticons/default/cling1.gif)
Aller en haut de la page
 
+Citer le message
leon1789
posté 23/03/2008 14:07
Message #17


Monteur
Icône de groupe

Groupe : Rédacteurs
Messages : 2.959
Inscrit : 04/05/2007
Lieu : Poitiers
Membre no 26.133



oui, je crois que c'est pas mal...

Ce message a été modifié par leon1789 - 03/08/2010 13:07.
Aller en haut de la page
 
+Citer le message

Création d'un DIVX de qualitéS


Reply to this topicStart new topic
2 utilisateur(s) sur ce sujet (2 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 

Modes d'affichage: Standard ·


Regrouper

> Discussions similaires à la discussion "Création d'un DIVX de qualitéS"

Sujet Réponses
création de menus 3
Création de blueray vidéo 7
Création de Structure 2
creation de sous titre pour montage video 2
Creation de sous titres avec balises (ssa, ass ou .srt) 5
Creation de sous titres balisés (ssa, ass ou srt) 1
Création d'un jingle pour une vidéo de voyage 0
DivX ---> DVD 9
divx 7 ou xvid ??? 3
divx net sur ordinateur mais après gravage mal lu 1

> Sujets récents

Sujets
Décalage audio
Assistante informatique
disparus de Mourmelon (site off.)
Protection DRM fichiers Divx de l'INA
Tous les codecs nécessaires pour ripper
Firmwares RFPlayer 1000 Domotique
EXTRAIRE PISTE AUDIO D'UN FICHIER VIDEO .MKV
Convertir WAV en MP3
Film à retrouver
Tuto Convertir un DVD en MP4 - DVD en MP4
Mkvmerge : Comment différencier les pistes audio anglaise / françaises ?
Ripper DVD en 50 FPS (simplement)
L'actu des logiciels pour la vidéo
test2
Why Ripp-it(ing) After Me and why Ripp-it(ing) For Me ? So then what's the third Ripp-it(ing) part ?

RSS Nous sommes le : 28/03/2024 23:22
Ripp-It - Le site - Glossaire Audio Vidéo - Versions Rippit - Présentation - Tutoriaux divx - Télécharger Ripp-It - Ripper DVD
Forum Vidéo DivX - Ripp-It - Plan du site
Forum PSP - Forum iPod - Forum Mobile - Forum cinéma - Ripit4ME - Contact

Foot
Forum Ri4m™ © 2019 Ri4m™ - Enregistré à la CNIL sous le numéro 1081457