stryke
vendredi 26 novembre 2004 à 10:46
Citation(arktos @ jeudi 25 novembre 2004 à 20:03)
pour les fameux films en xvid qui s'accadent sur les platines salon et pour eviter le réencodage il y a un logiciel qui s'appel MPEG4 modifier et qui unpack les packed bitstream
yaurait pas moyen d'integrer la meme chose directement dans l'excellent RIAM ?
Il y a "à boire et à manger" dans tes propos, alors avant que l'on "diabolise" une nouvelle fois le XviD quelques infos sur le packed bitstream
Issu d'un post du forum de planète numérique
Citation
?. Qu'est ce que le "Packed Bitstream" ?
L'interface des codec Video fo Windows (VfW) et son container (AVI) ne peuvent PAS gérer les B-Frames contrairement à d'autres containers plus modernes (MP4 par exemple).
Si l'on veut a tout prix utiliser des B-Frames dans un AVI il faut utiliser des "bidouilles". Il existe 2 solutions :
A/ Au moment de l'encodage : C'est ce que l'on appelle le Packed Bitstream qui est utilisé par défaut par les codecs DivX et XviD.
B/ Au moment du décodage : C'est la solution choisie par le XviD si l'option Packed bitstream est désactivée.
Principe:
Normallement les images sont stockées dans le container dans l'ordre I P B B et seront affichées dans l'ordre I B B P.
VfW et AVI utilisent un modèle de type "one frame in, one frame out". Pour chaque image en entrée, il doit y avoir une image en sortie. Cela aussi bien au décodage qu'à l'encodage. Ce fonctionnement n'est pas compatible avec les B-Frames car elles sont Bi-directionnelles et sont construites en utilisant 2 images à la fois, les I/P-Frames précedentes et suivantes. VfW et AVI n'autorisent pas de fonctionnement avec 2 images en entrée et une image en sortie.
A/ Packed Bitstream
Comme AVi et VfW fonctionnent en "1 image en entrée, 1 image en sortie", la "bidouille" consiste à "assembler" la première B-Frame avec la P-Frame en une seule image puis a ajouter une N-Frame pour conserver le même nombre d'image. I P B B devient I PB B N.
Assembler 2 images en une seule est considèré par certains comme un non respect de la norme MPEG-4.
B/ Retard du décodeur
Un autre moyen de contourner cette limitation de l'AVI est d'introduire un retard de une image au décodage. Dans ce cas les images sont stockées normalement I P B B. Le décodage se fait alors de la manière suivante :
1/ Le décodeur reçoit la I-Frame mais ne l'affiche pas. A la place il affiche par exemple le fameux message "WARNING: NOTHING TO OUTPUT B FRAME DECODER LAG" du XviD.
2/ Le décodeur reçoit ensuite la P-frame mais affiche la I frame reçu précedement. Il y a donc une retard de 1 image.
3/ Le décodeur reçoit la première b-Frame. Comme il dispose déjà des I et P-frame dont il a besoin, il peut l'afficher.
4/ Comme il dispose déjà des I et P-frame dont il a besoin, le décodeur peut aussi décoder la seconde b-Frame.
5/ Le décodeur affiche la P-Frame
Avec cette méthode le décodeur n'affiche pas l'image qu'il reçoit mais celle d'avant. Cela introduit un retard mais, contrairement au Packed Bitstream, le flux est compatible MPEG-4.
FAQ XviD de Crusty (désolé, mais j'ai encore traduit ça "à l'arrache")
Citation
Packed Bitstream est une option qui peut livrer des résultats mélangés pendant la lecture, selon le matériel utilisé pour la lecture.
Il peut résoudre des erreurs de frames dans le conteneur AVI.
Il peut également résoudre des pbs de lecture via ffdshow, le décodeur DivX et avec les platines de salon.
à€ moins que vous ne sachiez précisément ce que vous faites, il est conseillé de ne pas l’utiliser. Si vous rencontrez des problèmes en lecture, faites un essai en l’activant.
Il ê« semblerait ê» qu’avec la dernière version de XviD, que les problèmes d’utilisation de Packed Bitstream soient résolus.
Nota : Si vous utilisez le décodeur XviD en lecture, vous devez jamais cocher Packed Bitstream
Remarques en vrac :
- Perso toutes mes vidéos sont encodées avec cette option et je n'ai aucun pb sur ma platine "XviD"
- A partir de la version 1.0 du codec XviD cette option "serait" entièrement compatible avec le packed bitstream du codec DivX (qui lui utilise systématiquement ce principe)
- Il est possible que ton film soit encodé avaec une version antérieure à la V1.0. Pour vérifier la version la version du codec utilisé pour l'encodage, voir ce post :
http://forum.ripp-it.com/Connaitre-la-version-exacte-du-codec-DivX-ou-XviD-t3735.html- Retirer le packed bitstream peut résoudre des pbs de saccades (cf ton cas) mais pas tous. Les pics de bitrates sont également générateurs de saccades, donc prudence avant de se lancer dans ce genre d'opération. De plus pour utiliser ce soft il faut au préalable installer .NET de Microsoft
EDIT : Voir également remarque de fisfor ci-dessous (je l'avais oublié celle-là )