Cropper un divx sans recompresser c'est possible ? - Traitement Vidéo - Video & Son
Marsh Posté le 09-10-2003 à 08:52:30
ReplyMarsh Posté le 09-10-2003 à 10:28:08
Merci mais qu'est-ce qui explique cela.
Je comprend bien que chacune des frames doit être croppée mais pourquoi doit on passerr par l'encodeur. Techniquement pourquoi n'y aurait-il pas un soft indépendant du codec qui permette de le faire?
Marsh Posté le 09-10-2003 à 10:31:41
Essayons de t'expliquer ca.
Tu as un fichier texte compresse dans une archive zip. En gros ta demande est : puis-je modifier ce texte sans decompresser/recompresser. Il est evident que non, car la compression DivX (ou zip) prends en compte la totalite de chaque frame, y compris les bandes noires.
Marsh Posté le 09-10-2003 à 10:33:22
Bah tout dépend du format en lui même.. C comme les transformations jpeg sans perte: c possible mais limité par le format..
En divx sait on jamais.. Guigui il faudrait préciser POURQUOI la réponse est définitive selon toi..
Marsh Posté le 09-10-2003 à 10:36:57
ciler a écrit : Essayons de t'expliquer ca. |
A ma connaissance, la compression divx ne prend pas la totalité des frames: le MPEG4 c tjrs en blocs (typiquement 16*16 pixels)
non?
Zip: par exemple, que fait-il lorsque tu supprimes un fichier ds une archive?? Il réencode pas.. Il a compressé par bloc, au moins par fichier.. De même lorsque tu ajoutes des fichiers tu réencodes pas les anciens. 7zip par contre a une option "solid archive". Dans ce cas plus de modifs possibles sans réencodage.
Marsh Posté le 09-10-2003 à 10:41:50
H4dd3R a écrit : |
Sauf que : une frame c'est une frame, comparable a UN SEUL fichier dans une archive (ou alors a une archive solide en effet). Le coup des blocs, penses bien, des petits malins ont essaye, mais je te donne un indice. Si tu as une zone de noir dans l'image, le codec va l'encoder en tas avec la bande noire, donc tu ne peut pas supprimer QUE la bande noire puisque toute la zone de couleur est encodee en un seul paquet.
Tu comprends ?
Marsh Posté le 09-10-2003 à 10:49:41
H4dd3R a écrit : En divx sait on jamais.. Guigui il faudrait préciser POURQUOI la réponse est définitive selon toi.. |
Cf Ciler.
Mais bon c'est vrai qu'on aurait pu imaginer..
Marsh Posté le 09-10-2003 à 10:53:19
ciler a écrit : |
Marsh Posté le 09-10-2003 à 11:08:36
bande noire : il code 1 block noir et répète ce block dans l'image
ce qui empèche le crop sans recompresser, c'est la compensation de mouvement
sur une image très sombre, il peut très bien utiliser un block noir de la bande du haut pour le recopier en plein milieu de l'image.
et là tu fais comment ?
Marsh Posté le 09-10-2003 à 11:09:12
Bon, on va aller plus dans les details alors
Parce qu'effectivement il y a bien encodage par bloc de 16*16. Maintenant, si tu as ffdshow, tu as certainement observe les "motion vector" (sinon regarde dans les options de la bete) et les frames non key-frame.
Une des idees de l'encdage DivX aussi c'est de "translater" des blocs 16*16 quand c'est possible entre deux images. En gros dire "voyons, ici j'ai un 'paquet' de blocs 16*16 tous noirs, qui existait deja dans la frame precedente a la position x*y, maintenant ils sont en z*t. Bon ben au lieu d'ecrire les infos sur cette frame, je met, voir precedente, position x*y". Et la : probleme. Si ton paquet en x*y etait dans la bande noire, et que tu le supprime, tu te retrouve avec une frame invalide a la suivante.
Sdoit pas etre tres clair, je vais essayer de faire des dessins.
*starts mspaint*
Marsh Posté le 09-10-2003 à 11:10:06
HAL a écrit : il code 1 block noir et répète ce block dans l'image |
Voila, c'est dit mieux et plus court Il y a aussi le report d'une key-frame a une i-frame
Marsh Posté le 09-10-2003 à 11:12:36
ciler a écrit : |
ben bon courage, hein
Marsh Posté le 09-10-2003 à 11:12:43
c'est en effet le pendant. tu répètes le block disparu dans les B et les P frames.
bref pas posible
Marsh Posté le 09-10-2003 à 11:21:15
HAL a écrit : bande noire : il code 1 block noir et répète ce block dans l'image |
Ok comme cha ch'est clair.. Pas besoin de dessin..
Par contre, est ce que le xvid utilise aussi la compensation de mouvement?? En gros c une spec MPEG4 ou c une invention divx.
Marsh Posté le 09-10-2003 à 11:34:10
compensation de mouvement : introduite depuis le mpeg1 donc touche le mpeg 1, 2 et 4
sur du MJPEG tu peux cropper. C'est aussi pour ça que le MJPEG est parfois utilisé pour faire du montage
Marsh Posté le 09-10-2003 à 11:38:02
j'oubliais, tu dois pouvoir fairte du mpeg 4 sans P ou B frames et donc peut être cropper, mais grosso modo ça revient à faire du mjpeg
Marsh Posté le 09-10-2003 à 11:48:07
pour les explications :
http://forum.hardware.fr/forum2.ph [...] 4957&cat=3
Marsh Posté le 09-10-2003 à 13:34:47
HAL a écrit : pour les explications : |
Topic de qualitäy
Marsh Posté le 09-10-2003 à 13:35:35
HAL a écrit : C'est aussi pour ça que le MJPEG est parfois utilisé pour faire du montage |
pour ca + l'independance des frames (que des keyframes quoi).
Le DV est un mjpeg-like
Marsh Posté le 09-10-2003 à 13:43:36
ffdshow, i fait pas du crop en filtre ?
Marsh Posté le 09-10-2003 à 13:45:06
Dams a écrit : ffdshow, i fait pas du crop en filtre ? |
dans ce cas, c'est post decodage
Marsh Posté le 09-10-2003 à 13:45:47
Pas vraiement, il se contente juste d'afficher une partie de l'image
Marsh Posté le 09-10-2003 à 13:48:26
Guigui a écrit : dans ce cas, c'est post decodage |
ouai, c une soluce comme une autre (d'ailleurs la seul pour lui à moins d'avoir la source de son Divx )
Marsh Posté le 09-10-2003 à 13:48:50
ciler a écrit : Pas vraiement, il se contente juste d'afficher une partie de l'image |
en gros , c pareil
Marsh Posté le 08-10-2003 à 17:31:20
La question à le mérite d'être simple et après avoir fait un recherche j'ai rien trouver de convaincant.