Mauvaise couleurs après compression.

Mauvaise couleurs après compression. - Traitement Vidéo - Video & Son

Marsh Posté le 21-03-2012 à 14:56:59    

Bonjour, depuis 2 jours j'essaye de compresser des vidéos tout en gardant la même qualité, mais au final je me retrouve avec un problème de couleurs après la compression. J'ai essaye plein de codecs et de paramètres différents, mais ça n'a rien changé. J'ai même utiliser 3 logiciels de compression différent et ça donne exactement le même problème de couleur, sachant aussi qu'avant le formatage de mon PC, j'avais exactement le même problème. J'aimerais donc que les couleurs de la vidéo après la compression soit les même que l'original.
 
Voici les informations des fichier ainsi que deux captures d'écran vidéo d'un jeu pour vous illustrer la différence de couleur entre - Avant la compression - et - Après la compression -
 
########## AVANT LA COMPRESSION ##########
http://imageshack.us/photo/my-imag [...] nalub.jpg/
General
Complete name                            : F:\Dxtory\WoW 2012-03-20 18-11-52-113 VR0_mux_Dxtory.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
Format profile                           : OpenDML
File size                                : 2.82 GiB
Duration                                 : 21s 0ms
Overall bit rate                         : 1 155 Mbps
 
Video
ID                                       : 0
Format                                   : xtor
Codec ID                                 : xtor
Duration                                 : 21s 0ms
Bit rate                                 : 1 153 Mbps
Width                                    : 1 680 pixels
Height                                   : 1 050 pixels
Display aspect ratio                     : 1.600
Frame rate                               : 30.000 fps
Bits/(Pixel*Frame)                       : 21.791
Stream size                              : 2.82 GiB (100%)
 
Audio
ID                                       : 1
Format                                   : PCM
Format settings, Endianness              : Little
Format settings, Sign                    : Signed
Codec ID                                 : 1
Duration                                 : 21s 0ms
Bit rate mode                            : Constant
Bit rate                                 : 1 536 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Bit depth                                : 16 bits
Stream size                              : 3.85 MiB (0%)
Interleave, duration                     : 955 ms (28.64 video frames)
 
 
 
 
########## APRES LA COMPRESSION ##########
http://imageshack.us/photo/my-images/3/compressem.jpg/
General
Complete name                            : F:\Dxtory\Test\WoW 2012-03-20 18-11-52-113 VR0_mux_Dxstory_ffdshow.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 455 MiB
Duration                                 : 21s 0ms
Overall bit rate                         : 182 Mbps
Writing library                          : VirtualDub build 32842/release
 
Video
ID                                       : 0
Format                                   : JPEG
Codec ID                                 : MJPG
Duration                                 : 21s 0ms
Bit rate                                 : 180 Mbps
Width                                    : 1 680 pixels
Height                                   : 1 050 pixels
Display aspect ratio                     : 1.600
Frame rate                               : 30.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 3.401
Stream size                              : 451 MiB (99%)
 
Audio
ID                                       : 1
Format                                   : PCM
Format settings, Endianness              : Little
Format settings, Sign                    : Signed
Codec ID                                 : 1
Duration                                 : 21s 0ms
Bit rate mode                            : Constant
Bit rate                                 : 1 536 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Bit depth                                : 16 bits
Stream size                              : 3.85 MiB (1%)
Interleave, duration                     : 34 ms (1.02 video frame)
Interleave, preload duration             : 500 ms
 
 
Mettez les deux image côte à côte pour bien vous rendre compte de la différence.
 
Merci d'avance.


Message édité par Naltar le 21-03-2012 à 14:58:17
Reply

Marsh Posté le 21-03-2012 à 14:56:59   

Reply

Marsh Posté le 23-03-2012 à 00:59:33    

La raison de ce problème est assez difficile à trouver mais je constate que la taille de ton fichier après compression est très petite par rapport à l'original. Pourrais-tu ouvrir ton fichier original via Virtualdub, en découpez un morceau (dis-moi si tu ne sais pas faire cela) et sauvegarder le tout sans réencoder (choisis Video--> Copie de flux directe puis sauvegarde la vidéo). J'aimerais jeter un oeil à cette vidéo.

Reply

Marsh Posté le 23-03-2012 à 22:47:07    

Salut, merci de ta réponse.
 
Voici une vidéo sans compression : http://www.gamefront.com/files/214 [...] coupee_avi
Et cette même vidéo après compression : http://www.gamefront.com/files/214 [...] ressee_avi
 
La version non-compressée ne fait que 3 sec mais pèse tout de même 455 Mo.
 
Merci d'avance.

Reply

Marsh Posté le 24-03-2012 à 00:09:32    

Je n'ai eu aucun problème étrangement ! J'ai installé Dxtory Version 2.0.111 Latest http://dxtory.com/v2-download-en.html
 
J'ai ouvert tout bêtement le fichier original via VDM et je l'ai réencodé en 1 pass via le codec XviD. J'ai obtenu un fichier de 22 MB apparement normal. Voici le fichier :  
https://rapidshare.com/files/1648496315/test.avi
 
Je ne vois pas de différence comme sur les photos et curieusement je ne vois rien non plus entre les deux fichiers que tu m'as fourni.
 
Bien évidemment on pourrait configurer autrement, voir encoder dans un autre format.  

Reply

Marsh Posté le 24-03-2012 à 04:18:29    

Merci pour ton aide, mais est-tu sûr de m'avoir envoyé la vidéo que tu as compressé toi-même ? Parce-que bizarrement je vois exactement le même défaut de couleurs sur la vidéo que tu m'as envoyée par rapport à l'originale. C'est pas énormément perceptible mais quand même. Ouvre les deux vidéos en même temps et passe de l'une à l'autre, tu verra que les couleurs sont bien plus fades et ternes que sur l'originale, en particulier le texte dans la fenêtre de discussion en bas à gauche.
Aussi, pourrais-tu faire une capture d'écran de chacune des vidéos, et  mettre en ligne la vidéo que tu a compressé, pour voir si d'autre forumeurs voient la différence.
Je voudrais aussi savoir si c'est normal qu'avec Virtual Dub Mod je n'ai que 10 codesc dont ceux de base, alors que j'ai installé le pack de codecs K-Lite ?
 
Merci de te pencher sur mon problème.


Message édité par Naltar le 24-03-2012 à 12:03:11
Reply

Marsh Posté le 24-03-2012 à 14:04:55    

Cela ressemble à un problème typique de conversion YUV d'espace de couleurs entre PC et TV.
C'est un bug très courant (trop) à cause de problèmes de rétro-compatibilité avec des codecs et logiciels prévus pour la TV SD.

 

Les couleurs sur sont typiquement codées sur 8 bits par couleur (256 valeurs par couleur).
Sur TV, l'espace de couleur est limité : les valeurs autorisées vont de 16 à 235.
Sur PC, l'espace de couleur est complet : toutes les valeurs sont utilisables de 0 à 255.
Lorsqu'un logiciel se plante et ne fait pas la conversion proprement, tu te retrouves avec une image sous-contrastée ou sur-contrastée.

 

C'est un problème assez chiant à résoudre car il peut avoir de très nombreuses sources. Cela peut être causé par un bug de Virtualdub, un mauvais codec, ou même un mauvais réglage de l'accélération de ta carte graphique.

 

Cependant il y a déjà quelques indices qui me mettent la puce à l'oreille :

 

Ton image est sur-contrastée, cela veut dire qu'il s'agit d'une conversion TV->PC qui est forcée. D'habitude quand c'est un mauvais réglage de la carte graphique c'est dans l'autre sens, on peut raisonnablement écarter l'accélération graphique
Tu peux tout de même vérifier dans les options du driver de ta carte graphique quel espace de couleur est utiliser, peut-être avais-tu auparavant forcé un espace de couleur particulier mais je doute que cela vienne de là.

 

2-MJPEG : (la piste la plus probable) tu utilises MJPEG ! Ce format n'est pas standardisé, chaque implémentation est différente et provoque des bugs si tu essayes de lire un fichier encodé par un autre codec MJPEG.
Tu as utilisé FFDShow pour encoder ton fichier, si ton lecteur vidéo utilise le décodeur MJPEG livré avec Windows, il y a de grandes chances que ton bug vienne de là.
Assures toi que la lecture du MJPEG est bien activée dans les options de FFDShow (vérifies bien dans les options du décodeur vidéo ET dans les options du décodeur VFW de FFDShow)
Et assures toi que ton lecteur vidéo utilise bien le codec de FFDShow lorsque tu lis la vidéo. (dans les options de FFDShow, actives l'apparition de la petite icône dans la barre des tâches)

 

Si ton logiciel de lecture n'utilise pas le codec de FFDShow, tu as un conflit de priorité des codecs dans ton registre Windows : le logiciel GSPOT possède un outil qui va fouiller dans ton registre Windows et ressort tous les codecs installées sur ton ordinateur avec leur priorité d'utilisation (le "merit" de chaque décodeur), et te permet de le modifier. FFDShow a normalement de base une priorité très élevée mais pas maximale, vérifies qu'aucun autre codec MJPEG n'aie une priorité supérieure.
Si tu as une carte graphique ATI et que tu as installé des drivers récents tu devras faire cette opération car j'ai découvert que ATI y a ajouté son propre codec MJPEG (impossible à désactiver) avec une priorité ultra élevée qui surpasse FFDShow, tu devras utiliser l'outil de GSPOT pour baisser sa priorité.

 

3-VirtualDub : Virtualdub est un logiciel remontant très loin à la vieille époque, et il se plante très très souvent lorsqu'on mélange les codecs récents et anciens avec des espaces de couleurs différents.
Tu peux corriger manuellement le comportement de Virtualdub dans le menu Video/profondeur de couleur. Le problème est que les images de prévisualisation de Virtualdub ne prennent pas en compte ce réglage, tu devras réencoder un petit bout de ta vidéo pour tester si ce réglage est le bon.


Message édité par BlackShark le 24-03-2012 à 14:08:13
Reply

Marsh Posté le 24-03-2012 à 16:36:18    

C'est très étrange car chez moi je ne vois absolument rien : que ce soit l'original, ton encodage ou le mien je ne vois aucune différence entre les images, en tout cas il n'y a rien de tel que sur tes images. Il est donc inutile que je poste un comparatif ici car tu dis voir la différence chez toi sur mon encodage. Je pense que le problème vient donc de chez toi. Je suggère d'abord de désinstaller le ou les packs de codecs que tu as. Ces packs sont comme un poison et créent d'immenses problèmes. N'en installe JAMAIS. Une fois que tu as fait ceci redémarre ton ordinateur et installe d'abord cela :  
 
http://dxtory.com/v2-download-en.html  (xtor)
http://www.tutoriels-animes.com/lo [...] 112006.exe (xvid)
 
S'il y a des problèmes, on verra ce qu'il faudra installer. Dans tous les cas il est fondamental d'installer les codecs nécessaire SEPERAMENT.  
 
 
 

Reply

Marsh Posté le 24-03-2012 à 19:05:15    

Merci pour votre aide, mais comme je suis pas doué en vidéo, j'ai évidemment pas tout compris.

 

J'ai bien mis le format MJPEG en priorité maximum via Gspot, mais ça n'a rien donné. Je voudrais savoir comment faire pour qu'un lecteur vidéo utilise tel ou tel codec, parce-que apparemment mon lecteur n'utilise pas ffdshow puisque je n'ai pas le petit icône dans la barre des tâches alors que je l'ai activé dans les options du décodeur. J'ai aussi réglé l'espace de couleur en complet.

 

Quand tu me demande de regarder si la lecture du MJPEG est bien activée dans FFDShow, c'est juste qu'il soit dans la liste des codecs ? Parce-qu'il n'y a pas d'option pour activer ou désactiver.

 

Message cité 1 fois
Message édité par Naltar le 24-03-2012 à 21:09:50
Reply

Marsh Posté le 25-03-2012 à 20:13:21    

Naltar a écrit :

J'ai bien mis le format MJPEG en priorité maximum via Gspot, mais ça n'a rien donné. Je voudrais savoir comment faire pour qu'un lecteur vidéo utilise tel ou tel codec, parce-que apparemment mon lecteur n'utilise pas ffdshow puisque je n'ai pas le petit icône dans la barre des tâches alors que je l'ai activé dans les options du décodeur. J'ai aussi réglé l'espace de couleur en complet.

 

Quand tu me demande de regarder si la lecture du MJPEG est bien activée dans FFDShow, c'est juste qu'il soit dans la liste des codecs ? Parce-qu'il n'y a pas d'option pour activer ou désactiver.


Il ne faut pas donner au MJPEG la priorité maximale ("MJPEG decoder" est le codec livré avec windows), au contraire il faut la laisser au niveau normal !
Dans Gspot, classe les codecs par formats, tu te verras surement plusieurs codecs MJPEG (celui de windows, et les autres que tu as d'installé avec différents packs de codecs ou logiciels), mets les tous au mérite par défaut.
Ne change pas le mertie de FFDshow, son fonctionnement est particulier (un seul codec pour plusieurs formats), il comporte plusieurs composants, certains en priorité maximal, d'autres en priorité minimale, qui se prennent ou cèdent la main en fonction des options choisies dans FFDShow.

 

Dans les options de FFDshow : à faire deux fois : une fois dans le décodeur vidéo de ffdshow (pour les logiciels de lecture vidéo) et une fois dans le décodeur VFW (pour si tu veux éditer ta vidéo dans virtualduub ou certains logiciels de montage), onglet décodeur, dans la colonne de gauche va tout en haut dans le menu codecs, et tu verras un tableau à 3 colonnes :
format | décodeur | 4CC pris en charge, notes
Pour chacun des formats, tu peux choisir de l'activer ou le désactiver.
Descends dans la liste jusqu'à voir la ligne MJPEG, et cliques en face de MJPEG dans la colonne du milieu (décodeur) tu peux choisir entre "désactivé" ou "libavcodec" (activé)

 

Si tu veux forcer un logiciel particulier à utiliser un codec particulier, tout dépend du logiciel, chaque logiciel se comporte différemment selon que leurs programmeurs laissent à l'utilisateur le choix ou non.
Certains sont livrés avec des codecs internes et ne font pas appel aux codecs génériques de Windows (exemple VLC)
Certains ont dans leurs options un menu permettant de choisir quels codecs utiliser (exemple MediaPlayer Classic)
Certains ne te donnent pas le choix et utilisent la priorité par défaut de Windows (exemple Windows Media Player)


Message édité par BlackShark le 25-03-2012 à 20:21:00
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed